(57)【要約】【課題】システム内で異常動作を起こした場合に、単体での異常動作再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易に行うことができるようにしたマイクロコントロールユニット（ＭＣＵ）を提供する。【解決手段】本発明のＭＣＵの第１実施形態１がシステム２内で異常動作を起こした場合には、まず、システム２内で本発明のＭＣＵの第１実施形態１を動作させ、分岐情報及び特定アドレス・アクセス情報を抽出してパソコン３に記録する。その後、本発明のＭＣＵの不良解析方法の第１実施形態１を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から分岐情報及び特定アドレス・アクセス情報を本発明のＭＣＵの第１実施形態１に戻して利用し、本発明のＭＣＵの第１実施形態１にシステム２内での動作を再現させる。【選択図】図１
2009048517.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
不良解析モード時かつシステム内での動作時に、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録させ、前記不良解析モード時かつ単体での動作時に、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を入力して利用し、前記システム内での動作を再現させる制御手段と
を有することを特徴とするマイクロコントロールユニット。
【請求項２】
前記制御手段は、前記不良解析モード時かつ単体での動作時に、現在実行中の命令のアドレスが、予め設定された分岐命令アドレスと一致し、かつ、前記現在実行中の命令が示す分岐先アドレスが、割り込みベクタと一致するときは、割り込み制御を行う割り込み制御回路を有することを特徴とする請求項１に記載のマイクロコントロールユニット。
【請求項３】
システム内でマイクロコントロールユニットを動作させ、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録し、その後、前記マイクロコントロールユニットを単体で動作させる状態におき、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を前記マイクロコントロールユニットに戻して利用し、前記マイクロコントロールユニットに前記システム内での動作を再現させる第１の工程
を含むことを特徴とするマイクロコントロールユニットの不良解析方法。
【請求項４】
前記第１の工程は、前記マイクロコントロールユニットを単体で動作させるとき、現在実行中の命令のアドレスが、予め設定された分岐命令アドレスと一致し、かつ、前記現在実行中の命令が示す分岐先アドレスが、割り込みベクタと一致するときは、割り込み制御を行う第２の工程を含むことを特徴とする請求項３に記載のマイクロコントロールユニットの不良解析方法。
【請求項５】
前記第１の工程は、マイクロコントロールユニットを単体で動作させるとき、前記現在実行中の命令のアドレスが、前記予め設定された分岐命令アドレスと一致するときは、前記マイクロコントロールユニットの前記システム内での動作再現をマスクする第３の工程を含むことを特徴とする請求項４に記載のマイクロコントロールユニットの不良解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントロールユニット（Micro Control Unit．以下、「ＭＣＵ」と言う）、及び、システム内でのＭＣＵの動作を簡易動作ボード上においてＭＣＵ単体で再現させる方法に関する。
【背景技術】
【０００２】
システム内でＭＣＵが異常動作を起こし、システムに異常現象が発生した場合、ＭＣＵをシステムから取り出して簡易動作ボードに移し、システム内での動作をＭＣＵ単体で再現させることにより、ＭＣＵの不良解析を行うということが行われる。この場合、異常現象が発生したシステムと同一環境を再現することが考えられるが、そのためには、多くの信号の入出力制御や多くのタイミング制御を行う必要があり、これを異常現象が発生したシステムとは異なるシステムで行うことは殆ど困難である。
【０００３】
仮に、異常現象が発生したシステムと同一の環境もしくは異常現象が発生したシステムに相当する環境を組み上げることができたとしても、この場合には、巨大なソフトウェアの流れを追いかけることに膨大な時間が必要となり、ＭＣＵを起動させてから肝心の異常現象が再現されるポイントまで、理解した通りに到達させることは、そう簡単なことではない。
【０００４】
ここで、プログラム格納用ＲＯＭ（read only memory）として外部ＲＯＭを使用するＭＣＵの場合には、トレースを取ることは可能であるが、プログラム格納用ＲＯＭを内蔵するＭＣＵの場合には、トレースを取ることができず、ＭＣＵ内部の動作の流れを追いかけて異常動作を解析するためには、ＭＣＵ内のＲＡＭ（random access memory）に擬似的にプログラムを置いて、これを実行し、現象から推論される問題点を一つずつ確認していくことしかできず、膨大な時間を要し、推論がある程度当たっていればまだ良いが、外れていれば、異常現象を全く再現することができないことになる。
【特許文献１】特開２００２−１３２５３６号公報
【特許文献２】特開２００３−２８０９４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述のように、従来、システム内でＭＣＵが異常動作を起こし、システムに異常現象が発生した場合において、ＭＣＵの不良解析を行う場合には、システムからＭＣＵを取り出し、多くの時間と労力を掛けて“ＭＣＵ単体での異常動作再現”を行い、再現した動作からの推論で異常が発生するポイントを絞り込んできたが、とにかく時間がかかりすぎるという問題や、最悪の場合には、システム内での異常動作を再現することができないという問題があった。しかしながら、ユーザからは、ＭＣＵの不良解析を短時間で行う要求が強く、これに応える必要があった。
【０００６】
本発明は、かかる点に鑑み、システム内で異常動作を起こした場合に、単体での異常動作再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易に行うことができるようにしたＭＣＵ及びＭＣＵの不良解析方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のＭＣＵは、ＣＰＵ（central processing unit）と、不良解析モード時かつシステム内での動作時に、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録させ、前記不良解析モード時かつ単体での動作時に、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を入力して利用し、前記システム内での動作を再現させる制御手段とを有するものである。
【０００８】
本発明のＭＣＵの不良解析方法は、システム内でＭＣＵを動作させ、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録し、その後、前記ＭＣＵを単体で動作させる状態におき、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を前記ＭＣＵに戻して利用し、前記ＭＣＵに前記システム内での動作を再現させる工程を含むものである。
【発明の効果】
【０００９】
本発明のＭＣＵによれば、不良解析モード時かつシステム内での動作時に、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録させ、前記不良解析モード時かつ単体での動作時に、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を入力して利用し、前記システム内での動作を再現させる制御手段を有するので、システム内で異常動作を起こした場合に、単体での異常動作再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易に行うことができる。
【００１０】
本発明のＭＣＵの不良解析方法によれば、システム内でＭＣＵを動作させ、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録し、その後、前記ＭＣＵを単体で動作させる状態におき、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を前記ＭＣＵに戻して利用し、前記ＭＣＵに前記システム内での動作を再現させる工程を含むので、ＭＣＵがシステム内で異常動作を起こした場合に、単体での異常動作再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易に行うことができる。
【発明を実施するための最良の形態】
【００１１】
（第１実施形態）
図１は本発明のＭＣＵの第１実施形態及び本発明のＭＣＵの不良解析方法の第１実施形態の概略を説明するための図である。図１中、１は本発明のＭＣＵの第１実施形態、２は本発明のＭＣＵの第１実施形態１を使用するシステム、３は外部装置をなすパーソナルコンピュータ（以下、「パソコン」という）、４は簡易動作ボードである。簡易動作ボード４は、ＭＣＵに対して、電源電圧ＶＤＤ、ＶＳＳ及びクロック信号ＣＬＫのほか、わずかな確認用の入力信号を与える機能は有するが、基本的には外部からの入力信号を与える機能を有しないものである。
【００１２】
本発明のＭＣＵの第１実施形態１は、後述する構成を有する分岐情報外部記録／動作再現制御手段及び特定アドレス・アクセス情報外部記録／動作再現制御手段を設け、システム２内で異常動作を起こした場合に、本発明のＭＣＵの不良解析方法の第１実施形態を実行可能としたものである。
【００１３】
本発明のＭＣＵの不良解析方法の第１実施形態は、本発明のＭＣＵの第１実施形態１をシステム２内で動作させて分岐情報及び特定アドレス・アクセス情報をパソコン３に記録する分岐情報及び特定アドレス・アクセス情報外部記録工程と、次に、本発明のＭＣＵの第１実施形態１を簡易動作ボード４に移し、パソコン３から分岐情報及び特定アドレス・アクセス情報を本発明のＭＣＵの第１実施形態１に戻し、この戻した分岐情報及び特定アドレス・アクセス情報を利用し、ＭＣＵ単体で異常動作を再現させる動作再現工程を含むものである。
【００１４】
ここで、分岐情報とは、分岐命令アドレス及び分岐先アドレスである。また、特定アドレス・アクセス情報とは、アドレスバス上に特定アドレス値が出力された場合の特定アドレス値及びその時のデータバス上のデータ値である。
【００１５】
図２は本発明のＭＣＵの第１実施形態１が備える回路部の一部分を示す図である。図２中、７はＣＰＵ、８はプログラム格納用のＲＯＭ、９は現在実行中の命令が記憶されているアドレスを示すプログラムカウンタ（ＰＣ）、１０は分岐情報外部記録／動作再現制御手段、１１は特定アドレス・アクセス情報外部記録／動作再現制御手段である。
【００１６】
分岐情報外部記録／動作再現制御手段１０及び特定アドレス・アクセス情報外部記録／動作再現制御手段１１は、本発明のＭＣＵの第１実施形態１をシステム２内で通常動作させる場合には不使用とされ、本発明のＭＣＵの第１実施形態１がシステム２内で異常動作を起こした場合において、本発明のＭＣＵの第１実施形態１の不良解析を行う場合にのみ使用されるものであり、本発明のＭＣＵの不良解析方法の第１実施形態を実行するためのものである。
【００１７】
図３は分岐情報外部記録／動作再現制御手段１０の概略的構成図である。図３中、１２は分岐情報記憶手段をなすＦＩＦＯ（first-in first-out）である。ＦＩＦＯ１２は、分岐情報外部記録工程時には、抽出した分岐情報を記憶し、動作再現工程時には、パソコン３から入力する分岐情報を記憶するものであり、１２Ａは分岐命令アドレスを記憶させる分岐命令アドレス記憶領域、１２Ｂは分岐先アドレスを記憶させる分岐先アドレス記憶領域である。１３はＦＩＦＯ１２内のアドレスを指すポインタである。
【００１８】
１４はシリアルポートである。シリアルポート１４は、分岐情報外部記録工程時には、ＦＩＦＯ１２内の分岐情報をパソコン３に転送する際に使用し、動作再現工程時には、パソコン３から分岐情報をＦＩＦＯ１２に戻す際に使用するものである。
【００１９】
１５は分岐情報抽出／分岐処理実行制御回路であり、分岐情報抽出／分岐処理実行制御回路１５は、分岐情報外部記録工程時には、プログラムカウンタ９の値から、分岐命令アドレス及び分岐先アドレスを分岐情報として抽出し、動作再現工程時には、プログラムカウンタ９の値とパソコン３から戻された分岐情報の分岐命令アドレスとからプログラムの分岐を検出し、分岐を検出したときは、ＣＰＵ７に対して、分岐処理を実行することを指示し、分岐を検出しないときは、ＣＰＵ７に対して、分岐処理を実行しないことを指示するものである。
【００２０】
分岐情報抽出／分岐処理実行制御回路１５において、１６、１７はラッチ回路、１８はスイッチ回路、１９は加算器、２０は比較器、２１Ａ、２１Ｂ、２２はスリーステイトバッファである。本例では、分岐情報外部記録工程時には、ラッチ回路１６、１７とスイッチ回路１８と加算器１９と比較器２０とスリーステイトバッファ２１Ａ、２２とで分岐抽出回路が構成され、動作再現工程時には、ラッチ回路１６、１７とスイッチ回路１８と比較器２０とスリーステイトバッファ２１Ｂとで分岐処理実行制御回路が構成される。
【００２１】
ラッチ回路１６は、分岐情報外部記録工程時及び動作再現工程時に、プログラムカウンタ９の値をラッチするものである。ラッチ回路１７は、分岐情報外部記録工程時には、ラッチ回路１６の出力値をラッチすることにより、プログラムカウンタ９の前回値をラッチし、動作再現工程時には、ポインタ１３が指すＦＩＦＯ１２内のアドレスに記憶されている分岐命令アドレスをラッチするものである。
【００２２】
スイッチ回路１８は、分岐情報外部記録工程時には、ラッチ回路１７の出力値を加算器１９に与え、動作再現工程時には、ラッチ回路１７の出力値を比較器２０に与えるものである。加算器１９は、分岐情報外部記録工程時に、ラッチ回路１７の出力値に１を加算するものである。
【００２３】
比較器２０は、分岐情報外部記録工程時には、ラッチ回路１６の出力値と加算器１９の出力値とを比較し、一致検出信号又は不一致検出信号を出力し、動作再現工程時には、ラッチ回路１６の出力値とラッチ回路１７の出力値とを比較し、一致検出信号又は不一致検出信号を出力するものである。
【００２４】
なお、ポインタ１３は、分岐情報外部記録工程時には、比較器２０が一致検出信号を出力したときは、値をインクリメントせず、比較器２０が不一致検出信号を出力したときは、値を１だけインクリメントするように制御され、動作再現工程時には、比較器２０が一致検出信号を出力したときは、値を１だけインクリメントし、不一致検出信号を出力したときはと、値をインクリメントしないように制御される。
【００２５】
スリーステイトバッファ２１Ａ、２１Ｂは、分岐情報外部記録工程モードと動作再現工程モードとを区別するモード信号及び比較器２０の出力信号により動作が制御される。スリーステイトバッファ２１Ａは、分岐情報外部記録工程時に、比較器２０が不一致検出信号を出力したときは、ラッチ回路１７の出力値をＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａに転送し、その他のときは、出力状態を高インピーダンスとするものである。
【００２６】
スリーステイトバッファ２１Ｂは、動作再現工程時に、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａのうち、ポインタ１３が指しているアドレスの分岐命令アドレス記憶領域内の分岐命令アドレスをラッチ回路１７に転送するものである。
【００２７】
スリーステイトバッファ２２は、分岐情報外部記録工程モードと動作再現工程モードとを区別するモード信号及び比較器２０の出力信号により動作が制御され、分岐情報外部記録工程時に、比較器２０が不一致検出信号を出力したときは、ラッチ回路１６の出力値をＦＩＦＯ１２の分岐先アドレス記憶領域１２Ｂに転送し、比較器２０が一致検出信号を出力したときは、出力状態を高インピーダンスとするものである。
【００２８】
また、２３は割り込み制御回路である。割り込み制御回路２３は、動作再現工程時に使用されるものであり、プログラムカウンタ９の値が分岐命令アドレスであり、かつ、その分岐命令アドレスが示す分岐先アドレスが割り込みベクタに一致するときは、割り込み要求フラグのセットを行い、ＣＰＵ７を制御するものである。
【００２９】
割り込み制御回路２３において、２４、２５は割り込みベクタが格納されるレジスタ、２６はポインタ１３が指すＦＩＦＯ１２の分岐先アドレスが格納されるレジスタ、２７、２８は比較器、２９、３０はスリーステイトバッファである。
【００３０】
比較器２７は、レジスタ２４内の割り込みベクタとレジスタ２６内の分岐先アドレスとを比較し、一致検出信号又は不一致検出信号を出力するものであり、一致検出信号が出力されるときに、割り込み制御が行われる。比較器２８は、レジスタ２５内の割り込みベクタとレジスタ２６内の分岐先アドレスとを比較し、一致検出信号又は不一致検出信号を出力するものであり、一致検出信号が出力されるときに、割り込み制御が行われる。
【００３１】
スリーステイトバッファ２９は、動作再現工程時のみ、比較器２０の出力信号により動作が制御され、比較器２０が一致検出信号を出力するときは、比較器２７の出力信号をＣＰＵ７に転送し、比較器２０が不一致検出信号を出力するときは、その出力状態を高インピーダンスとするものである。
【００３２】
スリーステイトバッファ３０は、動作再現工程時のみ、比較器２０の出力信号により動作が制御され、比較器２０が一致検出信号を出力するときは、比較器２８の出力信号をＣＰＵ７に転送し、比較器２０が不一致検出信号を出力するときは、その出力状態を高インピーダンスとするものである。
【００３３】
なお、本例では、割り込みベクタが格納されるレジスタ及びこれに対応して設ける比較器、スリーステイトバッファとして、レジスタ２４、比較器２７及びスリーステイトバッファ２９と、レジスタ２５、比較器２８及びスリーステイトバッファ３０との２組を設けているが、３組以上設けるようにしても良い。
【００３４】
図４は特定アドレス・アクセス情報外部記録／動作再現制御手段１１の概略的構成図である。図４中、６３は特定アドレス・アクセス情報記憶手段をなすＦＩＦＯである。ＦＩＦＯ６３は、特定アドレス・アクセス情報外部記録工程時には、抽出した特定アドレス・アクセス情報をパソコン３に記憶し、動作再現工程時には、パソコン３から入力する特定アドレス・アクセス情報を記憶するものであり、６３Ａは特定アドレス値を記憶させる特定アドレス値記憶領域、６３Ｂはデータ値を記憶させるデータ値記憶領域である。６４はＦＩＦＯ６３内のアドレスを示すポインタである。
【００３５】
６６〜６８は動作再現工程時にデータバス５９上のデータ値を再現する対象となるレジスタやポートのアドレス値を特定アドレス値として格納するためのレジスタ、６９〜７１は比較器、７２はＯＲ回路である。
【００３６】
比較器６９は、アドレスバス５８上のアドレス値とレジスタ６６内の特定アドレス値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。
【００３７】
比較器７０は、アドレスバス５８上のアドレス値とレジスタ６７内の特定アドレス値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。
【００３８】
比較器７１は、アドレスバス５８上のアドレス値とレジスタ６８内の特定アドレス値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。
【００３９】
本例では、特定アドレス値を格納するためのレジスタ及びこのレジスタに対応して設ける比較器として、レジスタ６６及び比較器６９と、レジスタ６７及び比較器７０と、レジスタ６８及び比較器７１との３組を設けるようにしているが、４組以上設けるようにしても良い。
【００４０】
また、７３はラッチ回路である。ラッチ回路７３は、特定アドレス・アクセス情報外部記録工程時には、データバス５９上のデータ値をラッチし、動作再現工程時には、ポインタ６４が指すＦＩＦＯ６３内のアドレスのデータ値をラッチするものである。
【００４１】
７４はスリーステイトバッファである。スリーステイトバッファ７４は、特定アドレス・アクセス情報外部記録工程モードと動作再現工程モードとを区別するモード信号及びＯＲ回路７２の出力信号により動作が制御され、特定アドレス・アクセス情報外部記録工程時に、ＯＲ回路７２が一致検出信号“１”を出力したときは、アドレスバス５８上のアドレス値をＦＩＦＯ６３の特定アドレス値記憶領域６３Ａに転送し、ＯＲ回路７２が不一致検出信号“０”を出力したときは、出力状態を高インピーダンスとするものである。
【００４２】
７５Ａ、７５Ｂはスリーステイトバッファである。スリーステイトバッファ７５Ａ、７５Ｂは、特定アドレス・アクセス情報外部記録工程モードと動作再現工程モードとを区別するモード信号及びＯＲ回路７２の出力信号により動作が制御される。
【００４３】
スリーステイトバッファ７５Ａは、特定アドレス・アクセス情報外部記録工程時に、ＯＲ回路７２が一致検出信号“１”を出力したときは、ラッチ回路７３の出力値をＦＩＦＯ６３のデータ値記憶領域６３Ｂに転送し、その他のときは、出力状態を高インピーダンスとするものである。スリーステイトバッファ７５Ｂは、動作再現工程時に、ＦＩＦＯ６３のデータ値記憶領域６３Ｂのうち、ポインタ６４が指すアドレスのデータ記憶領域内のデータ値をラッチ回路７３に転送するものである。
【００４４】
７６は比較器、７７、７８はスリーステイトバッファである。比較器７６は、動作再現工程時に、アドレスバス５８上のアドレス値と、ＦＩＦＯ６３の特定アドレス値記憶領域６３Ａのうち、ポインタ６４が指しているアドレスの特定アドレス値記憶領域内のアドレス値とを比較し、一致するときは、一致検出信号として“１”を出力し、一致しないときは、不一致検出信号として“０”を出力するものである。
【００４５】
スリーステイトバッファ７７は、特定アドレス・アクセス情報外部記録工程時には、常に導通状態とされ、動作再現工程時には、比較器７６の出力信号により動作を制御され、比較器７６が一致検出信号“１”を出力するときは、出力状態を高インピーダンスとし、比較器７６が不一致検出信号“０”を出力するときは、導通状態とするものである。
【００４６】
スリーステイトバッファ７８は、特定アドレス・アクセス情報外部記録工程時には、出力状態を常に高インピーダンス状態とし、動作再現工程時には、比較器７６の出力信号により動作を制御され、比較器７６が一致検出信号“１”を出力するときは、導通状態とし、比較器７６が不一致検出信号“０”を出力するときは、出力状態を高インピーダンスとするものである。
【００４７】
なお、ポインタ６４は、特定アドレス・アクセス情報外部記録工程時には、ＯＲ回路７２の出力信号に制御され、ＯＲ回路７２が“１”を出力するごとに値を１だけインクリメントし、ＯＲ回路７２が“０”を出力するときは、その値をインクリメントしない。また、ポインタ６４は、動作再現工程時には、比較器７６の出力信号に制御され、比較器７６が“１”を出力するごとに値を１だけインクリメントし、比較器７６が“０”を出力するときは、その値をインクリメントしない。
【００４８】
また、特定アドレス・アクセス情報外部記録／動作再現制御手段１１は、分岐情報外部記録／動作再現制御手段１０とシリアルポートを共有するとしている。シリアルポート１４は、特定アドレス・アクセス情報外部記録工程時には、ＦＩＦＯ６３内の特定アドレス・アクセス情報をパソコン３に転送する際に使用し、動作再現工程時には、パソコン３から分岐情報をＦＩＦＯ６３に戻す際に使用される。
【００４９】
図５〜図１１は本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。本発明のＭＣＵの不良解析方法の第１実施形態においては、まず、本発明のＭＣＵの第１実施形態１を不良解析モードとして分岐情報外部記録／動作再現制御手段１０及び特定アドレス・アクセス情報外部記録／動作再現制御手段１１を使用可能状態とし、本発明のＭＣＵの第１実施形態１をシステム２内で動作させて、分岐情報をパソコン３に記録する分岐情報外部記録工程と、特定アドレス・アクセス情報をパソコン３に記録する特定アドレス・アクセス情報外部記録工程とが並行して実行される。
【００５０】
図５及び図６は分岐情報外部記録／動作再現制御手段１０による分岐情報外部記録工程を説明するための図である。分岐情報外部記録工程においては、スイッチ回路１８をラッチ回路１７の出力が加算器１９に与えられるように設定し、ＣＰＵ７にプログラムを実行させる。この場合、プログラムカウンタ９には、現在実行中の命令が記憶されているＲＯＭ８中のアドレス値が格納される。図５は、プログラムカウンタ９の値がｎ→ｎ＋１→ｎ＋２→ｍ→ｍ＋１→ｍ＋２と変化する場合を示している。但し、ｍ≠ｎ＋３である。
【００５１】
また、分岐情報外部記録工程時には、ラッチ回路１６にはプログラムカウンタ９の今回値をラッチさせる。ラッチ回路１７には、ラッチ回路１６の出力値をラッチさせることにより、プログラムカウンタ９の前回値をラッチさせる。この結果、加算器１９は、ラッチ回路１７の出力値に＋１を加算する。即ち、加算器１９は、プログラムカウンタ９の前回値に＋１を加算する。
【００５２】
そして、比較器２０は、ラッチ回路１６の出力値と加算器１９の出力値とを比較する。ここで、ラッチ回路１６の出力値と加算器１９の出力値とが一致する場合、即ち、プログラムカウンタ９の今回値と前回値とが連続しており、分岐が発生していないと判断することができる場合には、比較器２０は一致検出信号を出力する。
【００５３】
これに対して、ラッチ回路１６の出力値と加算器１９の出力値とが一致しない場合、即ち、プログラムカウンタ９の今回値と前回値とが不連続であり、分岐が発生したと判断することができる場合には、比較器２０は不一致検出信号を出力する。この場合、ラッチ回路１７の出力値は、分岐元アドレスであり、ラッチ回路１６の出力値は分岐先アドレスである。
【００５４】
図５は、プログラムカウンタ９がアドレス“ｎ＋２”を格納し、ラッチ回路１６がプログラムカウンタ９の今回値“ｎ＋２”をラッチし、ラッチ回路１７がプログラムカウンタ９の前回値“ｎ＋１”を格納した場合を示している。この場合、加算器１９の出力値は“ｎ＋２”となり、ラッチ回路１６の出力値“ｎ＋２”と一致するので、比較器２０は一致検出信号を出力し、スリーステイトバッファ２１Ａ、２２は出力状態を高インピーダンスとし、ＦＩＦＯ１２のポインタ１３は、その値をインクリメントしない。
【００５５】
これに対して、図６は、プログラムカウンタ９がアドレス“ｍ”を格納し、ラッチ回路１６がプログラムカウンタ９の今回値“ｍ”をラッチし、ラッチ回路１７がプログラムカウンタ９の前回値“ｎ＋２”を格納した場合を示している。この場合、加算器１９の出力値は“ｎ＋３”となり、ラッチ回路１６の出力値“ｍ”と一致しないので、比較器２０は不一致検出信号を出力し、ポインタ１３は、値を１だけインクリメントすると共に、スリーステイトバッファ２１Ａ、２２は導通状態となる。
【００５６】
この結果、スリーステイトバッファ２１Ａは、ラッチ回路１７の出力値“ｎ＋２”を、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａのうち、ポインタ１３が指しているアドレスの分岐命令アドレス記憶領域に転送し、スリーステイトバッファ２２は、ラッチ回路１６の出力値“ｍ”を、ＦＩＦＯ１２の分岐先アドレス記憶領域１２Ｂのうち、ポインタ１３が指しているアドレスの分岐先アドレス記憶領域に転送し、ポインタ１３が指すアドレスの分岐命令アドレス記憶領域及び分岐先アドレス記憶領域に“ｎ＋２”及び“ｍ”が記憶される。
【００５７】
以上の分岐情報抽出動作と、抽出した分岐情報のＦＩＦＯ１２への内部記憶動作とが、異常動作が発生するまで行われ、異常動作発生後、プログラム実行を終了し、分岐情報外部記録工程は終了とされる。なお、ＦＩＦＯ１２が記憶する分岐情報３１は、順にシリアルポート１４を介してパソコン３に転送され、パシコン３内のメモリ３２に記録される。
【００５８】
図７は特定アドレス・アクセス情報外部記録／動作再現制御手段による特定アドレス・アクセス情報外部記録工程を説明するための図である。特定アドレス・アクセス情報外部記録工程においては、まず、レジスタ６６〜６８に、動作再現工程時にデータバス５９上のデータ値を再現する対象となるレジスタやポートのアドレス値を特定アドレス値として格納する。図７は、レジスタ６６に特定アドレス値として“Ａ３”、レジスタ６７に特定アドレス値として“Ａ２”、レジスタ６８に特定アドレス値として“Ａ１”が格納された場合を示している。
【００５９】
そして、ＣＰＵ７にプログラムを実行させる。この場合には、アドレスバス５８上のアドレス値とレジスタ６６、６７、６８内の特定アドレス値Ａ３、Ａ２、Ａ１とが比較されると共に、データバス５９上のデータ値がラッチ回路７３にラッチされる。
【００６０】
ここで、アドレスバス５８上のアドレス値がレジスタ６６、６７、６８内の特定アドレス値Ａ３、Ａ２、Ａ１のいずれとも一致しない場合には、ＯＲ回路７２の出力値は“０”となるので、スリーステイトバッファ７４、７５Ａは、出力状態を高インピーダンスとし、特定アドレス・アクセス情報の抽出が行われることはない。
【００６１】
これに対して、アドレスバス５８上のアドレス値がレジスタ６６、６７、６８内の特定アドレス値Ａ３、Ａ２、Ａ１のいずれかと一致すると、ＯＲ回路７２の出力値は“１”となるので、スリーステイトバッファ７４、７５Ａは導通状態となる。
【００６２】
この結果、アドレスバス５８上のアドレス値が、ＦＩＦＯ６３の特定アドレス値記憶領域６３Ａのうち、ポインタ６４が指しているアドレスの特定アドレス値記憶領域に記憶されると共に、ラッチ回路７３内のデータ値が、ＦＩＦＯ６３のデータ値記憶領域６３Ｂのうち、ポインタ６４が指しているアドレスのデータ値記憶領域に記憶される。
【００６３】
以上の特定アドレス・アクセス情報抽出動作と、抽出した特定アドレス・アクセス情報のＦＩＦＯ６３への内部記憶動作とが、異常動作が発生するまで行われ、異常動作発生後、プログラムの実行を終了し、特定アドレス・アクセス情報外部記録工程は終了とされる。なお、ＦＩＦＯ６３が記憶する特定アドレス・アクセス情報７９は、順にシリアルポート１４を介してパソコン３に転送され、パシコン３内のメモリ３２に記録される。
【００６４】
ここで、分岐情報外部記録工程及び特定アドレス・アクセス情報外部記録工程が終了すると、本発明のＭＣＵの第１実施形態１は、システム２から取り出され、簡易動作ボード４に移され、分岐情報外部記録／動作再現制御手段１０及び特定アドレス・アクセス情報外部記録／動作再現制御手段１１による動作再現工程が実行される。
【００６５】
図８〜図１０は分岐情報外部記録／動作再現制御手段１０による動作再現工程を説明するための図である。分岐情報外部記録／動作再現制御手段１０による動作再現工程においては、パソコン３のメモリ３２内の分岐情報３１がシリアルポート１４を介してＦＩＦＯ１２に戻される。
【００６６】
この場合、ポインタ１３は、比較器２０の出力信号に制御されてＦＩＦＯ１２内のアドレスを先頭番地から順に指すことになるが、動作再現工程では、ポインタ１３が指すアドレスの分岐命令アドレス記憶領域のアドレス値をラッチ回路１７にラッチさせる。そして、ＣＰＵ７にプログラムを実行させる。この場合、プログラムカウンタ９には、現在実行中の命令が記憶されているアドレスが格納される。
【００６７】
また、動作再現工程時には、ラッチ回路１６にはプログラムカウンタ９の値をラッチさせる。この結果、比較器２０は、ラッチ回路１６の出力値とラッチ回路１７の出力値とを比較し、一致するときは、一致検出信号を出力し、一致しないときは、不一致検出信号を出力する。
【００６８】
ここで、比較器２０が一致検出信号を出力するときは、プログラムカウンタ９の値と、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａ内の分岐命令アドレスのうち、現在着目している分岐命令アドレスが一致した場合であるから、一致検出信号は、分岐が発生したことを検出した信号となる。そこで、本例においては、比較器２０が出力する一致検出信号を、分岐処理を実行することを指示する信号としてＣＰＵ７に与える。
【００６９】
これに対して、比較器２０が不一致検出信号を出力するときは、プログラムカウンタ９の値と、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａ内の分岐命令アドレスのうち、現在着目している分岐命令アドレスが一致しない場合であるから、不一致検出信号は、分岐が発生していないことを検出した信号となる。そこで、本例においては、比較器２０が出力する不一致検出信号を、分岐処理を実行しないことを指示する信号としてＣＰＵ７に与える。
【００７０】
ここで、本発明のＭＣＵの第１実施形態１が簡易動作ボード４上で単体で動作することにより、ＣＰＵ７のステータスの値は不確かになるが、このように、ステータスの値が不確かになったとしても、比較器２０が出力する一致検出信号により、ＣＰＵ７に確実に分岐処理を実行させることができ、また、比較器２０が出力する不一致検出信号により、ＣＰＵ７に確実に分岐処理を実行させないようにすることができる。
【００７１】
図８は、プログラムカウンタ９が“ｎ＋２”を格納し、ラッチ回路１６がプログラムカウンタ９の今回値“ｎ＋２”をラッチし、ラッチ回路１７がＦＩＦＯ１２内の分岐命令アドレス記憶領域１２Ａの“ｎ＋２”をラッチしている場合を示している。この場合、比較器２０は、一致検出信号を出力するが、この一致検出信号は、分岐処理を実行することを指示する信号としてＣＰＵ７に与えられる。また、ポインタ１３は、値を１だけインクリメントさせる。
【００７２】
これに対して、図９は、プログラムカウンタ９が“ｋ＋２”を格納し、ラッチ回路１６がプログラムカウンタ９の今回値“ｋ＋２”をラッチし、ラッチ回路１７が“ｎ＋２”をラッチしている場合を示している。この場合、比較器２０は、不一致検出信号を出力するが、この不一致検出信号は、分岐処理を実行しないことを指示する信号としてＣＰＵ７に与えられる。また、ポインタ１３は、値をインクリメントさせない。
【００７３】
また、動作再現工程時には、図１０に示すように、ＦＩＦＯ１２の分岐先アドレス記憶領域１２Ｂ内の分岐先アドレスのうち、ポインタ１３が指しているアドレスの分岐先アドレス記憶領域内の分岐先アドレスがレジスタ２６に格納される。そして、レジスタ２６内の分岐先アドレスがレジスタ２４、２５に格納されている割り込みベクタのいずれかと一致するときは、割り込み要求のためのフラグのセットが行われることになる。
【００７４】
図１０は、レジスタ２４に割り込みベクタとして“ｍ”、レジスタ２５に割り込みベクタとして“ｓ”が格納されている状態で、プログラムカウンタ９が“ｎ＋２”を格納し、ラッチ回路１６がプログラムカウンタ９の今回値“ｎ＋２”をラッチし、ラッチ回路１７がＦＩＦＯ１２内の分岐命令アドレス記憶領域の“ｎ＋２”をラッチし、レジスタ２６に分岐先アドレスとして“ｍ”が格納された場合を示している。
【００７５】
この場合には、レジスタ２６内の分岐先アドレス“ｍ”は、レジスタ２４内の割り込みベクタ“ｍ”と一致するので、比較器２７は一致検出信号を出力し、スリーステイトバッファ２９は導通状態となるので、割り込みベクタ“ｍ”について割り込み要求のためのフラグのセットが行われることになる。
【００７６】
図１１は特定アドレス・アクセス情報外部記録／動作再現制御手段１１による動作再現工程を説明するための図である。特定アドレス・アクセス情報外部記録／動作再現制御手段１１による動作再現工程においては、パソコン３のメモリ３２内の特定アドレス・アクセス情報７９がシリアルポート１４を介してＦＩＦＯ６３に戻される。そして、ポインタ６４は、比較器７６の出力信号に制御されてＦＩＦＯ６３内のアドレスを先頭番地から順に指すことになる。また、ラッチ回路７３には、ＦＩＦＯ６３のデータ値記憶領域６３Ｂのうち、ポインタ６４が指すアドレスのデータ値記憶領域内のデータ値がラッチされる。
【００７７】
そして、ＣＰＵ７にプログラムを順に実行させる。この場合には、比較器７６により、アドレスバス５８上のアドレス値と、ＦＩＦＯ６３の特定アドレス値記憶領域６３Ａのうち、ポインタ６４が指しているアドレスの特定アドレス値記憶領域内の特定アドレス値とが比較される。
【００７８】
ここで、アドレスバス５８上のアドレス値と、ＦＩＦＯ６３の特定アドレス値記憶領域６３Ａのうち、ポインタ６４が指しているアドレスの特定アドレス値記憶領域内の特定アドレス値とが同一値のときは、比較器７６は、一致検出信号“１”を出力する。この結果、スリーステイトバッファ７７は、出力状態を高インピーダンスとし、スリーステイトバッファ７８は、導通状態となる。
【００７９】
したがって、この場合には、レジスタ６０及びポート６１のデータバス５９への接続は遮断され、ラッチ回路７３がラッチしているデータ値、即ち、ＦＩＦＯ６３のデータ値記憶領域６３Ｂのうち、ポインタ６４が指しているアドレスのデータ値記憶領域内のデータ値がデータバス５９に出力され、データバス５９のデータ値が再現される。即ち、システム２内で動作時にレジスタ６０からデータバス５９に出力される値や、ポート６１からの入力値がデータバス５９に再現される。
【００８０】
これに対して、アドレスバス５８上のアドレス値と、ＦＩＦＯ６３の特定アドレス値記憶領域６３Ａのうち、ポインタ６４が指しているアドレスの特定アドレス値記憶領域内の特定アドレス値とが同一値でないときは、比較器７６は、不一致検出信号“０”を出力する。この結果、スリーステイトバッファ７７は、導通状態となり、スリーステイトバッファ７８は、出力状態を高インピーダンスとする。したがって、この場合には、レジスタ６０及びポート６１はデータバス５９に接続され、ラッチ回路７３のデータバス５９への接続は遮断される。
【００８１】
図１２は本発明のＭＣＵの不良解析方法の第１実施形態による異常動作発生原因となっているプログラム上のポイントの絞り込みを説明するための図である。（Ａ）は本発明のＭＣＵの第１実施形態１が良品の場合のシステム２内での動作時のプログラムの流れ、（Ｂ）は本発明のＭＣＵの第１実施形態１が不良品の場合のシステム２内での動作時のプログラムの流れ、（Ｃ）は本発明のＭＣＵの第１実施形態１が不良品の場合の簡易動作ボード４上での動作時のプログラムの流れ、（Ｄ）は従来品のＭＣＵ（分岐情報外部記録／動作再現制御手段１０及び特定アドレス・アクセス情報外部記録／動作再現制御手段１１を備えない以外は、本発明のＭＣＵの第１実施形態１と同様の構成を有するＭＣＵ）が不良品の場合の簡易動作ボード４上での動作時のプログラムの流れを示しており、Ｎ１〜Ｎ１８はプログラムの中の事象、矢印はプログラムの分岐命令による遷移を示している。
【００８２】
ここで、例えば、本発明のＭＣＵの第１実施形態１が良品の場合に、システム２内で、図１２（Ａ）に示すように、プログラムの流れが、事象Ｎ１→Ｎ３→Ｎ６→Ｎ８→Ｎ１２→Ｎ１４→Ｎ１６となった場合を示している。また、図１２（Ｂ）は本発明のＭＣＵの第１実施形態１が不良品の場合において、システム２内での動作時に、事象Ｎ１６で異常現象が発生した場合を示している。
【００８３】
即ち、本発明のＭＣＵの第１実施形態１が不良品の場合において、システム２内での動作時に事象Ｎ１６で異常現象が発生する場合には、事象Ｎ１６までは、本発明のＭＣＵの第１実施形態１が良品の場合と同様に、プログラムの流れは、図１２（Ｂ）に示すように、事象Ｎ１→Ｎ３→Ｎ６→Ｎ８→Ｎ１２→Ｎ１４→Ｎ１６の順になるはずである。
【００８４】
ところが、従来品のＭＣＵが不良品の場合には、従来品のＭＣＵは、分岐情報外部記録／動作再現制御手段１０を備えていないので、簡易動作ボード４上では、分岐情報３１を得ることができず、ＣＰＵ７に分岐処理を実行することや、分岐処理を実行しないことの指示を行うことができず、ＣＰＵ７は、値が不確かなステータスの影響を受けて、プログラムの流れは、例えば、図１２（Ｄ）に示すようになり、システム２内での異常動作を簡易動作ボード４上では再現することができないことになる。
【００８５】
これに対して、本発明のＭＣＵの第１実施形態１においては、分岐情報外部記録／動作再現制御手段１０により、ＣＰＵ７に分岐処理を実行することや、分岐処理を実行しないことの指示を行うことができ、ＣＰＵ７は、値が不確かなステータスの影響を受けないので、本発明のＭＣＵの第１実施形態１が不良品である場合における簡易動作ボード４上での単体動作時のプログラムの流れは、図１２（Ｃ）に示すようになり、システム２内での動作を簡易動作ボード４上で再現することができることになる。
【００８６】
以上のように、本発明のＭＣＵの第１実施形態１においては、システム２内で動作させた場合の分岐情報３１を抽出してパソコン３に記録させ、簡易動作ボード４上での単体動作時に、パソコン３から分岐情報３１を戻して利用し、ＣＰＵ７にシステム２内での動作を再現させる分岐情報外部記録／動作再現制御手段１０を設けるとしている。
【００８７】
この結果、不良解析時には、プログラムの分岐情報３１を抽出してパソコン３に記録する分岐情報外部記録工程を実行させることができ、その後、本発明のＭＣＵの第１実施形態１を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から分岐情報３１をＦＩＦＯ１２に戻して利用し、本発明のＭＣＵの第１実施形態１にシステム２内での動作（分岐動作、非分岐動作）を再現させる動作再現工程を実行することができる。
【００８８】
また、本発明のＭＣＵの第１実施形態１においては、システム２内で動作させた場合の特定アドレス・アクセス情報７９を抽出してパソコン３に記録させ、簡易動作ボード４上での単体動作時に、パソコン３から特定アドレス・アクセス情報７９を戻して利用し、システム２内での動作を再現させる特定アドレス・アクセス情報外部記録／動作再現制御手段１１を設けるとしている。
【００８９】
この結果、不良解析時には、システム２内で本発明のＭＣＵの第１実施形態１を動作させ、プログラムの特定アドレス・アクセス情報７９を抽出してパソコン３に記録する特定アドレス・アクセス情報外部記録工程を実行させることができ、その後、本発明のＭＣＵの第１実施形態１を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から特定アドレス・アクセス情報７９をＦＩＦＯ６３に戻して利用し、本発明のＭＣＵの第１実施形態１にシステム２内での動作を再現させる動作再現工程（データバス５９のデータ値をシステム２内での動作時の値にする動作）を実行することができる。
【００９０】
このように、本発明のＭＣＵの第１実施形態１によれば、本発明のＭＣＵの第１実施形態１がシステム２内で異常動作を起こした場合に、本発明のＭＣＵの不良解析方法の第１実施形態を実行することができるので、簡易動作ボード４上での単体動作により異常動作の再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易に行うことができる。
【００９１】
（第２実施形態）
図１３は本発明のＭＣＵの第２実施形態の一部分を示す概略的構成図である。本発明のＭＣＵの第２実施形態は、本発明のＭＣＵの第１実施形態１が備える分岐情報外部記録／動作再現制御手段１０と構成の異なる分岐情報外部記録／動作再現制御手段３５を設け、その他については、本発明のＭＣＵの第１実施形態１と同様に構成したものである。
【００９２】
分岐情報外部記録／動作再現制御手段３５は、動作再現マスク回路３６を設け、動作再現工程時には、比較器２０の出力信号の代わりに、動作再現マスク回路３６の出力信号をＣＰＵ７及び割り込み制御回路２３のスリーステイトバッファ２９、３０に与えるようにし、その他については、本発明のＭＣＵの第１実施形態１が備える分岐情報外部記録／動作再現制御手段１０と同様に構成したものである。
【００９３】
動作再現マスク回路３６において、３７、３８は動作再現をマスクする分岐命令のアドレスを指定するためのレジスタ、３９、４０は比較器、４１はＯＲ回路、４２はスリーステイトバッファである。比較器３９は、レジスタ３７の格納値とラッチ回路１６の出力値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。比較器４０は、レジスタ３８の格納値とラッチ回路１６の出力値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。
【００９４】
ＯＲ回路４１は、比較器３９の出力信号と比較器４０の出力信号とをＯＲ処理するものである。スリーステイトバッファ４２は、比較器２０の出力信号のＣＰＵ７及び割り込み制御回路２３のスリーステイトバッファ２９、３０への転送を制御するものであり、ＯＲ回路４１の出力信号により動作を制御され、ＯＲ回路４１の出力信号が“０”のときは、導通状態となり、ＯＲ回路４１の出力信号が“１”のときは、出力状態を高インピーダンス状態とする。
【００９５】
なお、本例では、動作再現をマスクする分岐命令のアドレスを指定するためのレジスタ及びこれに対応して設ける比較器として、レジスタ３７及び比較器３９と、レジスタ３８及び比較器４０との２組を設けているが、３組以上設けるようにしても良い。
【００９６】
このように構成された本発明のＭＣＵの第２実施形態においては、本発明のＭＣＵの不良解析方法の第２実施形態が実行される。本発明のＭＣＵの不良解析方法の第２実施形態は、分岐情報外部記録工程及び特定アドレス・アクセス情報外部記録工程と、動作再現工程のうち、パソコン３に記録した分岐情報３１をＦＩＦＯ１２に戻すまでの分岐情報戻し工程及びパソコン３に記録した特定アドレス・アクセス情報をＦＩＦＯ６３に戻す特定アドレス・アクセス情報戻し工程と、特定アドレス・アクセス情報外部記録／動作再現制御手段１１による動作再現工程とを、本発明のＭＣＵの不良解析方法の第１実施形態と同様とするものである。
【００９７】
本発明のＭＣＵの不良解析方法の第２実施形態が本発明のＭＣＵの不良解析方法の第１実施形態と異なる点は、分岐情報外部記録／動作再現制御手段１０による動作再現工程時に、分岐情報抽出／分岐処理実行制御回路１５で分岐命令アドレスを検出した場合においても、その分岐命令アドレスが動作再現マスク回路３６のレジスタ３７、３８のどちらかに保持されているときは、スリーステイトバッファ４２の出力状態を高インピーダンスとし、分岐処理の実行をＣＰＵ７に指示しない点である。
【００９８】
したがって、また、動作再現工程時に、分岐情報抽出／分岐処理実行制御回路１５で分岐命令アドレスを検出し、その分岐命令アドレスが動作再現マスク回路３６のレジスタ３７、３８のどちらかに保持されているときは、その分岐命令アドレスの分岐命令が指示する分岐先アドレスがレジスタ２４、２５のいずれかに保持されている割り込みベクタと一致する場合には、分岐処理の実行をＣＰＵ７に指示せず、また、割り込み制御回路２３による割り込み制御を実行しないことになる。
【００９９】
図１４及び図１５は本発明のＭＣＵの不良解析方法の第２実施形態を説明するための図である。図１４は分岐情報外部記録／動作再現制御手段１０による分岐情報外部記録工程の後、本発明のＭＣＵの第２実施形態４５を簡易動作ボード４に移し、レジスタ３７に“ｋ”、レジスタ３８に“ｎ＋２”を格納し、パソコン３から分岐情報３１をＦＩＦＯ１２に戻し、ＣＰＵ７にプログラムを実行させ、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａのうち、ポインタ１３が指すアドレスの分岐命令アドレス記憶領域内の分岐命令アドレス“ｎ＋２”がラッチ回路１７にラッチされ、その後、プログラムカウンタ９に分岐命令アドレス“ｎ＋２”が格納された場合を示している。
【０１００】
この場合には、比較器２０は一致検出信号を出力すると共に、比較器３９は不一致信号“０”を出力し、比較器４０は一致検出信号“１”を出力する。この結果、ＯＲ回路４１の出力値は“１”となり、スリーステイトバッファ４２は、出力状態を高インピーダンスとし、比較器２０が出力する一致検出信号がＣＰＵ７に与えられないことになる。この結果、この場合には、ＣＰＵ７は、ステータスの値に関係なく、分岐処理を実行しない。即ち、この場合には、ＣＰＵ７は、アドレス“ｎ＋２”の命令の次に、アドレス“ｎ＋３”の命令を実行することになる。
【０１０１】
これに対して、図１５は、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａのうち、ポインタ１３が指すアドレスの分岐命令アドレス記憶領域内の分岐命令アドレス“ｐ＋１”がラッチ回路１７にラッチされ、その後、プログラムカウンタ９に分岐命令アドレス“ｐ＋１”が格納された場合を示している。
【０１０２】
この場合、比較器２０は、一致検出信号を出力すると共に、比較器３９、４０は、ともに不一致検出信号“０”を出力する。この結果、ＯＲ回路４１の出力値は“０”となり、スリーステイトバッファ４２は、導通状態となり、比較器２０が出力する一致検出信号がＣＰＵ７に与えられる。したがって、この場合には、ＣＰＵ７は、ステータスの値に関係なく、分岐処理を実行することになる。
【０１０３】
即ち、この場合、ＦＩＦＯ１２の分岐命令アドレス記憶領域１２Ａ及び分岐先アドレス記憶領域１２Ｂのうち、ポインタ１３が指すアドレスの分岐命令アドレス記憶領域１２Ａ及び分岐先アドレス記憶領域１２Ｂには“ｐ＋１”及び“ｉ”がそれぞれ格納されているので、ＣＰＵ７は、アドレス“ｎ＋１”の分岐命令が指示する分岐先アドレス“ｉ”の命令を実行することになる。
【０１０４】
ここで、本発明のＭＣＵの第２実施形態４５においては、動作再現マスク回路３６のレジスタ３７、３８に分岐処理をマスクしたい分岐命令のアドレスを保持させることにより、レジスタ３７、３８が保持するアドレスの分岐命令については、ＣＰＵ７に対する分岐処理を実行することの指示をマスクすることができる。
【０１０５】
例えば、レジスタ３７、３８のいずれかに事象Ｎ１２から事象Ｎ１３に移行する際の分岐命令アドレスを保持させておく場合には、事象Ｎ１２から事象Ｎ１３に移行する際の分岐命令アドレスに基づくＣＰＵ７に対する分岐処理を実行することの指示をマスクすることができる。
【０１０６】
そこで、ＣＰＵ７にプログラムを実行させる場合に、プログラムを実行するごとにマスクするポイントを、１回目は事象Ｎ１６に設定し、２回目は事象Ｎ１５とするように、マスクするポイントがプログラムの流れと逆になるように順に設定することにより、異常動作発生原因となっているプログラム上のポイントの絞り込みを細かく行うことができる。
【０１０７】
ここで、例えば、事象Ｎ１２が異常動作発生原因ポイントと判明した場合には、例えば、事象Ｎ１２の場合に信号が流れる信号線を確定し、その信号線に異常動作発生原因となる事態（例えば、信号線間にゴミが付着している）が発生しているか否かを調べることにより、不良解析を行うことができる。
【０１０８】
以上のように、本発明のＭＣＵの第２実施形態４５においては、システム２内で動作させた場合の分岐情報３１を抽出してパソコン３に記録させ、簡易動作ボード４上での単体動作時に、パソコン３から分岐情報３１を戻して利用し、ＣＰＵ７にシステム２内での動作を再現させる分岐情報外部記録／動作再現制御手段３５を設けるとしている。
【０１０９】
この結果、不良解析時には、プログラムの分岐情報３１を抽出してパソコン３に記録する分岐情報外部記録工程を実行させることができ、その後、本発明のＭＣＵの第２実施形態４５を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から分岐情報３１をＦＩＦＯ１２に戻して利用し、本発明のＭＣＵの第２実施形態４５にシステム２内での動作（分岐動作、非分岐動作）を再現させる動作再現工程を実行することができると共に、特定の分岐命令アドレスによる分岐処理実行のＣＰＵ７に対する指示をマスクすることができる。
【０１１０】
また、本発明のＭＣＵの第２実施形態４５においては、システム２内で動作させた場合の特定アドレス・アクセス情報７９を抽出してパソコン３に記録させ、簡易動作ボード４上での単体動作時に、パソコン３から特定アドレス・アクセス情報７９を戻して利用し、システム２内での動作を再現させる特定アドレス・アクセス情報外部記録／動作再現制御手段１１を設けるとしている。
【０１１１】
この結果、不良解析時には、システム２内で本発明のＭＣＵの第２実施形態４５を動作させ、プログラムの特定アドレス・アクセス情報７９を抽出してパソコン３に記録する特定アドレス・アクセス情報外部記録工程を実行させることができ、その後、本発明のＭＣＵの不良解析方法の第２実施形態４５を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から特定アドレス・アクセス情報７９をＦＩＦＯ６３に戻して利用し、本発明のＭＣＵの第２実施形態４５にシステム２内での動作を再現させる動作再現工程（データバス５９のデータ値をシステム２内での動作時の値にする動作）を実行することができる。
【０１１２】
このように、本発明のＭＣＵの第２実施形態４５によれば、本発明のＭＣＵの第２実施形態４５がシステム２内で異常動作を起こした場合に、本発明のＭＣＵの不良解析方法の第２実施形態を実行することができるので、簡易動作ボード４での単体動作により異常動作の再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易にかつ細かく行うことができる。
【０１１３】
（第３実施形態）
図１６は本発明のＭＣＵの第３実施形態の一部分を示す概略的構成図である。本発明のＭＣＵの第３実施形態は、本発明のＭＣＵの第１実施形態１が備える特定アドレス・アクセス情報外部記録／動作再現制御手段１１と構成の異なる特定アドレス・アクセス情報外部記録／動作再現制御手段８３を設け、その他については、本発明のＭＣＵの第１実施形態１と同様に構成したものである。
【０１１４】
特定アドレス・アクセス情報外部記録／動作再現制御手段８３は、動作再現マスク回路８４を設け、その他については、本発明のＭＣＵの第１実施形態１が備える特定アドレス・アクセス情報外部記録／動作再現制御手段１１と同様に構成したものである。
【０１１５】
動作再現マスク回路８４において、８５、８６は動作再現をマスクする分岐命令のアドレスを指定するレジスタ、８７はプログラムカウンタの値をラッチするラッチ回路、８８、８９は比較器、９０はＯＲ回路、９１はスリーステイトバッファである。
【０１１６】
比較器８８は、レジスタ８５の格納値とラッチ回路８７の出力値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。比較器８９は、レジスタ８６の格納値とラッチ回路８７の出力値とを比較し、一致するときは、一致検出信号として“１”を出力し、不一致のときは、不一致検出信号として“０”を出力するものである。
【０１１７】
ＯＲ回路９０は、比較器８８の出力信号と比較器８９の出力信号とをＯＲ処理するものである。スリーステイトバッファ９１は、比較器７６の出力信号のスリーステイトバッファ７７、７８への転送を制御するものであり、ＯＲ回路９０の出力信号により動作を制御され、ＯＲ回路９０の出力信号が“０”のときは、導通状態となり、ＯＲ回路９０の出力信号が“１”のときは、出力状態を高インピーダンス状態とする。
【０１１８】
このように構成された本発明のＭＣＵの第３実施形態においては、本発明のＭＣＵの不良解析方法の第３実施形態が実行される。本発明のＭＣＵの不良解析方法の第３実施形態は、分岐情報外部記録工程及び特定アドレス・アクセス情報外部記録工程と、動作再現工程のうち、パソコン３に記録した分岐情報３１をＦＩＦＯ１２に戻すまでの分岐情報戻し工程及びパソコン３に記録した特定アドレス・アクセス情報をＦＩＦＯ６３に戻す特定アドレス・アクセス情報戻し工程と、分岐情報外部記録／動作再現制御手段１０による動作再現工程とを、本発明のＭＣＵの不良解析方法の第１実施形態と同様とするものである。
【０１１９】
本発明のＭＣＵの不良解析方法の第３実施形態が本発明のＭＣＵの不良解析方法の第１実施形態と異なる点は、特定アドレス・アクセス情報外部記録／動作再現制御手段８３による動作再現工程時に、特定アドレス値を検出した場合においても、プログラムカウンタ９の値が動作再現をマスク対象としている分岐命令アドレスの場合には、ラッチ回路７３がラッチしているデータ値をデータバス５９に出力しない、即ち、データバス・データ値の再現を行わない点である。
【０１２０】
以上のように、本発明のＭＣＵの第３実施形態においては、システム２内で動作させた場合の分岐情報３１を抽出してパソコン３に記録させ、簡易動作ボード４上での単体動作時に、パソコン３から分岐情報３１を戻して利用し、ＣＰＵ７にシステム２内での動作を再現させる分岐情報外部記録／動作再現制御手段１０を設けるとしている。
【０１２１】
この結果、不良解析時には、プログラムの分岐情報３１を抽出してパソコン３に記録する分岐情報外部記録工程を実行させることができ、その後、本発明のＭＣＵの第３実施形態を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から分岐情報３１をＦＩＦＯ１２に戻して利用し、本発明のＭＣＵの第１実施形態１にシステム２内での動作（分岐動作、非分岐動作）を再現させる動作再現工程を実行することができる。
【０１２２】
また、本発明のＭＣＵの第３実施形態においては、システム２内で動作させた場合の特定アドレス・アクセス情報７９を抽出してパソコン３に記録させ、簡易動作ボード４上での単体動作時に、パソコン３から特定アドレス・アクセス情報７９を戻して利用し、システム２内での動作を再現させる特定アドレス・アクセス情報外部記録／動作再現制御手段８３を設けるとしている。
【０１２３】
この結果、不良解析時には、特定アドレス・アクセス情報７９を抽出してパソコン３に記録する特定アドレス・アクセス情報外部記録工程を実行させることができ、その後、本発明のＭＣＵの第３実施形態を簡易動作ボード４に移して単体で動作させる状態におき、パソコン３から特定アドレス・アクセス情報７９をＦＩＦＯ６３に戻して利用し、本発明のＭＣＵの第３実施形態にシステム２内での動作を再現させる動作再現工程（データバス５９のデータ値をシステム２内での動作時の値にする動作）を実行することができると共に、アドレスバス５８上のアドレス値が特定の分岐命令アドレス値の場合には、ラッチ回路７３がラッチしているデータ値をデータバス５９に出力しないようにマスクすることができる。
【０１２４】
このように、本発明のＭＣＵの第３実施形態によれば、本発明のＭＣＵの第３実施形態がシステム２内で異常動作を起こした場合に、本発明のＭＣＵの不良解析方法の第３実施形態を実行することができるので、簡易動作ボード４での単体動作により異常動作の再現を容易に行い、異常動作発生原因となっているプログラム上のポイントの絞り込み作業を容易に行うことができる。
【０１２５】
なお、本発明のＭＣＵの第１実施形態に、本発明のＭＣＵの第２実施形態が備える動作再現マスク回路３６と、本発明の第３実施形態が備える動作再現マスク回路８４とを備えるようにすることもできる。この場合、動作再現マスク回路８４内のレジスタ８５、８６、比較器８８、８９及びＯＲ回路９０からなる回路部分として、動作再現マスク回路３６内のレジスタ３７、３８、比較器３９、４０及びＯＲ回路４１からなる回路部分を使用するように構成することができる。また、この場合には、ラッチ回路８７として、ラッチ回路１６を使用することができる。
【０１２６】
ここで、本発明を整理すると、本発明には、少なくとも、以下のＭＣＵ及びＭＣＵの不良解析方法が含まれる。
【０１２７】
（付記１）ＣＰＵと、
不良解析モード時かつシステム内での動作時に、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録させ、前記不良解析モード時かつ単体での動作時に、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を入力して利用し、前記システム内での動作を再現させる制御手段とを有することを特徴とするＭＣＵ。
【０１２８】
（付記２）前記制御手段は、
前記不良解析モード時かつシステム内での動作時に、前記分岐情報を抽出して外部装置に記録させ、前記不良解析モード時かつ単体での動作時に、前記外部装置から前記分岐情報を入力して利用し、前記システム内での動作を再現させる分岐情報外部記録／動作再現制御手段と、
前記不良解析モード時かつシステム内での動作時に、前記特定アドレス・アクセス情報を抽出して外部装置に記録させ、前記不良解析モード時かつ単体での動作時に、前記外部装置から前記特定アドレス・アクセス情報を入力して利用し、前記システム内での動作を再現させる特定アドレス・アクセス情報外部記録／動作再現制御手段とを有することを特徴とする付記１に記載のＭＣＵ。
【０１２９】
（付記３）前記分岐情報外部記録／動作再現制御手段は、
前記分岐情報を記憶可能とされた第１の記憶手段と、
前記不良解析モード時かつシステム内での動作時に、前記分岐情報を抽出して前記第１の記憶手段に与える分岐情報抽出回路と、
前記不良解析モード時かつ単体での動作時に、プログラムカウンタの値が前記外部装置から前記第１の記憶手段に戻された前記分岐命令アドレス中の現在着目している分岐命令アドレスと一致するときは、前記ＣＰＵに分岐処理を実行することを指示し、一致しないときは、前記ＣＰＵに分岐処理を実行しないことを指示する指示回路とを有することを特徴とする付記２に記載のＭＣＵ。
【０１３０】
（付記４）前記分岐情報外部記録／動作再現制御手段は、前記不良解析モード時かつ単体での動作時に、現在実行中の命令のアドレスが、予め設定された分岐命令アドレスと一致し、かつ、前記現在実行中の命令が示す分岐先アドレスが、割り込みベクタと一致するときは、割り込み制御を行う割り込み制御回路を有することを特徴とする付記３に記載のＭＣＵ。
【０１３１】
（付記５）前記分岐情報外部記録／動作再現制御手段は、前記不良解析モード時かつ単体での動作時に、前記現在実行中の命令のアドレスが、前記予め設定された分岐命令アドレスと一致するときは、前記システム内での動作の再現をマスクする第１の動作再現マスク回路を有することを特徴とする付記４に記載のＭＣＵ。
【０１３２】
（付記６）システム内でＭＣＵを動作させ、分岐情報及び特定アドレス・アクセス情報を抽出して外部装置に記録し、その後、前記ＭＣＵを単体で動作させる状態におき、前記外部装置から前記分岐情報及び前記特定アドレス・アクセス情報を前記ＭＣＵに戻して利用し、前記ＭＣＵに前記システム内での動作を再現させる第１の工程を含むことを特徴とするＭＣＵの不良解析方法。
【０１３３】
（付記７）前記第１の工程は、
前記システム内で前記ＭＣＵを動作させ、前記分岐情報を抽出して前記外部装置に記録し、その後、前記ＭＣＵを単体で動作させる状態におき、前記外部装置から前記分岐情報を前記ＭＣＵに戻して利用し、前記ＭＣＵに前記システム内での動作を再現させる第２の工程と、
前記システム内でＭＣＵを動作させ、前記特定アドレス・アクセス情報を抽出して前記外部装置に記録し、その後、前記ＭＣＵを単体で動作させる状態におき、前記外部装置から前記特定アドレス・アクセス情報を前記ＭＣＵに戻して利用し、前記ＭＣＵに前記システム内での動作を再現させる第３の工程とを含むことを特徴とする付記６に記載のＭＣＵの不良解析方法。
【０１３４】
（付記８）前記第２の工程は、
前記分岐情報を抽出して前記ＭＣＵ内の第１の記憶手段に記憶する第４の工程と、
前記第１の記憶手段に記憶された前記分岐情報を前記外部装置に転送する第５の工程と、
前記外部装置から、前記分岐情報を前記第１の記憶手段に戻す第６の工程と、
前記ＭＣＵ内のプログラムカウンタの値が前記第１の記憶手段に戻された前記分岐命令アドレス中の現在着目している分岐命令アドレスと一致するときは、前記ＭＣＵ内のＣＰＵに分岐処理を実行することを指示し、一致しないときは、前記ＣＰＵに分岐処理を実行しないことを指示する第７の工程とを含むことを特徴とする付記７に記載のＭＣＵの不良解析方法。
【図面の簡単な説明】
【０１３５】
【図１】本発明のＭＣＵの第１実施形態及び本発明のＭＣＵの不良解析方法の第１実施形態の概略を説明するための図である。
【図２】本発明のＭＣＵの第１実施形態が備える回路部の一部分を示す図である。
【図３】本発明のＭＣＵの第１実施形態が備える分岐情報外部記録／動作再現制御手段の概略的構成図である。
【図４】本発明のＭＣＵの第１実施形態が備える特定アドレス・アクセス情報外部記録／動作再現制御手段の概略的構成図である。
【図５】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図６】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図７】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図８】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図９】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図１０】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図１１】本発明のＭＣＵの不良解析方法の第１実施形態を説明するための図である。
【図１２】本発明のＭＣＵの不良解析方法の第１実施形態による異常動作発生原因となっているプログラム上のポイントの絞り込みを説明するための図である。
【図１３】本発明のＭＣＵの第２実施形態の一部分の概略的構成図である。
【図１４】本発明のＭＣＵの不良解析方法の第２実施形態を説明するための図である。
【図１５】本発明のＭＣＵの不良解析方法の第２実施形態を説明するための図である。
【図１６】本発明のＭＣＵの第３実施形態の一部分の概略的構成図である。
【符号の説明】
【０１３６】
１…本発明のＭＣＵの第１実施形態
２…システム
３…パーソナルコンピュータ（パソコン）
４…簡易動作ボード
７…ＣＰＵ
８…ＲＯＭ
９…プログラムカウンタ
１０…分岐情報外部記録／動作再現制御手段
１１…特定アドレス・アクセス情報外部記録／動作再現制御手段
１２…ＦＩＦＯ
１３…ポインタ
１４…シリアルポート
１５…分岐情報抽出／分岐処理実行制御回路
１６、１７…ラッチ回路
１８…スイッチ回路
１９…加算器
２０…比較器
２１Ａ、２１Ｂ、２２…スリーステイトバッファ
２３…割り込み制御回路
２４〜２６…レジスタ
２７、２８…比較器
２９、３０…スリーステイトバッファ
３１…分岐情報
３２…メモリ
３５…分岐情報外部記録／動作再現制御手段
３６…動作再現マスク回路
３７、３８…レジスタ
３９、４０…比較器
４１…ＯＲ回路
４２…スリーステイトバッファ
５８…アドレスバス
５９…データバス
６０…レジスタ
６１…ポート
６３…ＦＩＦＯ
６４…ポインタ
６６〜６８…レジスタ
６９〜７１…比較器
７２…ＯＲ回路
７３…ラッチ回路
７４、７５Ａ、７５Ｂ…スリーステイトバッファ
７６…比較器
７７、７８…スリーステイトバッファ
７９…特定アドレス・アクセス情報
８３…特定アドレス・アクセス情報外部記録／動作再現制御手段
８４…動作再現マスク回路
８５、８６…レジスタ
８７…ラッチ回路
８８、８９…比較器
９０…ＯＲ回路
９１…スリーステイトバッファ
【図１】
2009048517.tif 000003
【図２】
2009048517.tif 000004
【図３】
2009048517.tif 000005
【図４】
2009048517.tif 000006
【図５】
2009048517.tif 000007
【図６】
2009048517.tif 000008
【図７】
2009048517.tif 000009
【図８】
2009048517.tif 000010
【図９】
2009048517.tif 000011
【図１０】
2009048517.tif 000012
【図１１】
2009048517.tif 000013
【図１２】
2009048517.tif 000014
【図１３】
2009048517.tif 000015
【図１４】
2009048517.tif 000016
【図１５】
2009048517.tif 000017
【図１６】
2009048517.tif 000018