(57)【要約】【課題】ＣＰＵの動作を停止させることなく、任意のタイミングで内部メモリの任意のアドレスのデータをモニタ可能にしたマイクロコンピュータを提供する。【解決手段】本件のマイクロコンピュータ(1)は、プログラムを逐次実行するＣＰＵと、ＣＰＵと内部バスI-BUSを介して接続された内部メモリ(12)と、外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットDSUと、内部メモリ(12)に格納されるデータを格納し、デバッグサポートユニットDSUからアクセス可能なモニタメモリ(16)と、内部バスに接続され、同時コピーモードの時に、内部バスからのアクセスに応答して内部メモリに書き込まれるデータを同時にモニタメモリに書き込むよう制御し、モニタモードの時に、デバッグサポートユニットからのアクセスに応答してモニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニット(14)とを有する。【選択図】    図２
2005284557.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを逐次実行するＣＰＵと、
前記ＣＰＵと内部バスを介して接続された内部メモリと、
外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットと、
前記内部メモリに格納されるデータを格納し、前記デバッグサポートユニットからアクセス可能なモニタメモリと、
前記内部バスに接続され、同時コピーモードの時に、前記内部バスからのアクセスに応答して前記内部メモリに書き込まれるデータを同時に前記モニタメモリに書き込むよう制御し、モニタモードの時に、前記デバッグサポートユニットからのアクセスに応答して前記モニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニットとを有することを特徴とするマイクロコンピュータ。
【請求項２】
請求項１において、
前記モニタメモリ制御ユニットは、前記同時書き込み対象データについての前記内部メモリのアドレスが設定されるモニタアドレスレジスタを有し、前記内部バスに供給されるアドレスが前記モニタアドレスレジスタの設定アドレスと一致する場合に、当該内部バスに供給されるデータを前記モニタメモリに書き込むよう制御し、
前記モニタアドレスレジスタは、前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【請求項３】
請求項１において、
前記モニタメモリ制御ユニットは、前記同時コピーモードとモニタモードとを区別する同時コピーフラグを格納する同時コピーフラグレジスタを有し、当該同時コピーフラグに応じて前記同時コピーモードまたはモニタモードのいずれかの制御を行い、
前記同時コピーフラグレジスタは、前記前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【請求項４】
請求項１において、
前記モニタメモリ制御ユニットは、前記同時コピーモードの時は、前記デバッグサポートユニットからのアクセスを禁止し、前記モニタモードの時は、前記内部バスからのアクセスを禁止することを特徴とするマイクロコンピュータ。
【請求項５】
請求項１において、
前記モニタメモリ制御ユニットは、前記同時コピーモードからモニタモードに切り換える条件を設定するモード切り換え設定レジスタを有し、当該モード切り換え設定レジスタに設定された条件が満たされる時に、前記同時コピーモードからモニタモードに切り換え、
前記モード切り換え設定レジスタは、前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【請求項６】
請求項１において、
前記モニタメモリは、第１及び第２のモニタメモリ領域を有し、
前記モニタメモリ制御ユニットは、前記第１及び第２のモニタメモリ領域それぞれに対して、前記同時コピーモード及びモニタモードの切り換え制御し、
前記モニタメモリ制御ユニットは、
前記第１及び第２のモニタメモリ領域が共に同時コピーモードの時に、当該第１及び第２のモニタメモリ領域に前記内部メモリに書き込まれるデータを同時に書き込むように制御し、
前記第１のモニタメモリ領域がモニタモード及び前記第２のモニタメモリ領域が同時コピーモードの時に、前記第１のモニタメモリ領域への同時書き込みを停止し且つ前記第２のモニタメモリ領域への同時書き込みを制御し、
前記第１及び第２のモニタメモリ領域が共にモニタモードの時に、前記第１及び第２のモニタメモリ領域への同時書き込みを停止することを特徴とするマイクロコンピュータ。
【請求項７】
プログラムを逐次実行するＣＰＵと、
前記ＣＰＵと内部バスを介して接続された内部メモリと、
外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットと、
前記内部メモリに格納されるデータを格納し、前記デバッグサポートユニットから読み出し可能なモニタメモリと、
前記内部バスに接続され、同時コピーモードの時に、前記内部バスからのアクセスに応答して前記内部メモリに書き込まれるデータを同時に前記モニタメモリに書き込むよう制御し、モニタモードの時に、前記内部バスからのアクセスを禁止し、前記デバッグサポートユニットからのアクセスに応答して前記モニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニットとを有し、
前記モニタモードの時に前記モニタメモリから読み出されたデータが、前記デバッグサポートユニットを経由して外部に出力されることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部メモリをモニタ可能なマイクロコンピュータに関し、特に、マイクロコンピュータの動作を停止することなく内部メモリをモニタ可能なマイクロコンピュータに関する。
【背景技術】
【０００２】
マイクロコンピュータは、内部バスを介して接続されるＣＰＵ、ＲＡＭやＲＯＭなどの内部メモリ、所定の機能を有する周辺リソースなどを有する。ＣＰＵは、ＲＯＭ内のプログラムを順次実行し、必要に応じてＲＡＭ内にデータを書き込み、周辺リソースを介して所望の被制御装置を制御する。制御の対象は、例えば、車のエンジンの燃焼制御、ワイパー制御などである。
【０００３】
このようなマイクロコンピュータを開発する段階において、マイクロコンピュータを被制御装置に接続し、プログラムを実行して、当該プログラムが初期の目的とする制御を適切に行うことができるか否かを評価することが行われる。その場合、プログラムの任意のアドレスで停止させたり再開始させたり、内部メモリの任意のアドレスのデータをモニタしたりするために、デバッグサポートユニット（ＤＳＵ）を搭載した評価用マイクロコンピュータが使用される。
【０００４】
評価用マイクロコンピュータは、プログラムの評価またはデバッグを行うために様々な評価の機能を有することが望まれる。その一つに、ＣＰＵの動作を停止させることなく、内部メモリにアクセスする機能がある。例えば、評価用ＣＰＵが実行するプログラムを格納するメモリに加えて、変換データを格納するメモリを設け、そのメモリに制御用ＣＰＵから変換データを書き込み、あるタイミングでＣＰＵからのアクセス先をプログラム格納メモリから変換データ格納メモリに切り換えて、評価用ＣＰＵに変換データ格納メモリをアクセスさせることが提案されている。このようなエミュレータが例えば、以下の特許文献１に記載されている。
【０００５】
この特許文献１に記載されているエミュレータは、評価用ＣＰＵのプログラムの実行を停止させることなく、プログラム格納メモリの所定のアドレスを変換データ格納メモリに切り換えて、任意のパラメータや命令コマンドをＣＰＵに与えることを特徴とする。それにより、プログラムの実行による制御動作に所望の変更を加えることができ、デバッグまたは評価の利便性を高めることができる。但し、この特許文献１には、内部メモリのデータをモニタすることについての記載はない。
【特許文献１】特開２００１―１０１０２６号公報（２００１年４月１３日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のＤＳＵを内蔵させた評価用マイクロコンピュータでは、ＣＰＵがプログラム実行中に内部バスを介して内部メモリにアクセスするため、ＤＳＵから内部メモリへのアクセスが制限される。そこで、ＤＳＵを介して内部メモリのデータをモニタするためには、ＤＳＵがＣＰＵに対してメモリアクセス要求を供給し、ＣＰＵからバスのアクセス権を取得した状態にして、内部バスを介して内部メモリにアクセスする。したがって、ＤＳＵから内部メモリのデータをモニタするためには、ＣＰＵのバスアクセス動作を一旦停止する必要があり、更に、ＣＰＵからバス権を取得するためには所定サイクルに及ぶ仲裁手続きを経る必要があり、それに伴ってＤＳＵが任意のタイミングで内部メモリのデータを読み出すことは容易ではない。
【０００７】
そこで、本発明の目的は、ＣＰＵの動作を停止させることなく、任意のタイミングで内部メモリの任意のアドレスのデータをモニタ可能にしたマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明の第１の側面は、プログラムを逐次実行するＣＰＵと、
前記ＣＰＵと内部バスを介して接続された内部メモリと、
外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットと、
前記内部メモリに格納されるデータを格納し、前記デバッグサポートユニットからアクセス可能なモニタメモリと、
前記内部バスに接続され、同時コピーモードの時に、前記内部バスからのアクセスに応答して前記内部メモリに書き込まれるデータを同時に前記モニタメモリに書き込むよう制御し、モニタモードの時に、前記デバッグサポートユニットからのアクセスに応答して前記モニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニットとを有することを特徴とするマイクロコンピュータである。
【０００９】
上記の目的を達成するために、本発明の第２の側面によれば、プログラムを逐次実行するＣＰＵと、
前記ＣＰＵと内部バスを介して接続された内部メモリと、
外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットと、
前記内部メモリに格納されるデータを格納し、前記デバッグサポートユニットから読み出し可能なモニタメモリと、
前記内部バスに接続され、同時コピーモードの時に、前記内部バスからのアクセスに応答して前記内部メモリに書き込まれるデータを同時に前記モニタメモリに書き込むよう制御し、モニタモードの時に、前記内部バスからのアクセスを禁止し、前記デバッグサポートユニットからのアクセスに応答して前記モニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニットとを有し、
前記モニタモードの時に前記モニタメモリから読み出されたデータが、前記デバッグサポートユニットを経由して外部に出力されることを特徴とするマイクロコンピュータである。
【発明の効果】
【００１０】
上記発明の側面によれば、ＣＰＵの動作を停止することなく内部メモリのデータをモニタすることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１２】
図１は、本実施の形態におけるマイクロコンピュータの構成図である。評価用に使用されるマイクロコンピュータ１は、プログラムやパラメータなどが格納されたＲＯＭと、プログラム実行中の各種データなどを格納するＲＡＭ１２と、プログラムを逐次実行するＣＰＵと、被制御装置２などに接続されて所定の機能を有する周辺リソース群１０とを有し、それらは内部バスI-BUSを介して接続される。ＲＡＭ１２は、必要に応じて図示しないＲＡＭインターフェースを介して内部バスI-BUSに接続される。周辺リソース１０は、例えば、タイマー、通信マクロ、被制御装置のセンサ出力のＡ／Ｄ変換マクロなど、各種の機能を実現するマクロ回路である。また、マイクロコンピュータ１は、図示しないダイレクトメモリアクセスコントローラ（ＤＭＡＣ）を搭載して、ＣＰＵを介することなく周辺リソースとＲＡＭ１２との間のデータ転送を可能にする場合もある。
【００１３】
また、マイクロコンピュータ１は、内部状態をモニタしたり、プログラムの停止、復帰などの制御を行ったりするためのデバイスサポートユニットＤＳＵを搭載し、このＤＳＵは、シリアルバス１８を介してインサーキットエミュレータＩＣＥに接続され、ＩＣＥは、更にパーソナルコンピュータＰＣに接続される。そして、ＩＣＥは、ＰＣに対してマイクロコンピュータ１をエミュレートする。これにより、ＰＣから、マイクロコンピュータ１の内部状態のモニタリングやプログラム実行の任意変更などを行うことができ、マイクロコンピュータの評価、プログラムのデバッグ作業を有効に支援することができる。
【００１４】
ＣＰＵは、内部バスI-BUSを介してＲＯＭ内のプログラムを読み出し、そしてそのプログラム実行しながら、内部バスI-BUSを介して各種データをＲＡＭ１２内に書き込みまたは読み出す。一方、ＤＳＵは、ＣＰＵに対して直接モニタリング対象アドレスを指定して、指定した内部データを内部バスI-BUSを介して取得する。但し、内部バスI-BUSを経由して内部データを取得するためには、ＤＳＵはＣＰＵから内部バスのバス権を取得する必要があり、そのような制御ではＣＰＵがプログラムの実行を一時的に停止する必要が生じる。マイクロコンピュータ１の制御対象が、例えば車のエンジンの燃料噴射量の場合、マイクロコンピュータによる動作を一時的にでも停止させることは、マイクロコンピュータを本来の制御環境と異なる環境下に置くことになり好ましくない。したがって、マイクロコンピュータの動作を停止することなく、外部から内部状態をモニタリングできるようにすることが望まれる。
【００１５】
そこで、図１のマイクロコンピュータ１は、モニタ用のＲＡＭ１６と、そのモニタＲＡＭを制御する制御ユニット１４とを設ける。モニタＲＡＭ制御ユニット１４は、内部バスI-BUSに接続され、ＣＰＵが内部バスI-BUSを介してＲＡＭにデータを書き込む時に、同時にそのデータがモニタＲＡＭへ書き込まれるように制御する。更に、モニタＲＡＭ制御ユニット１４は、ＤＵＳにも接続され、ＤＳＵからの制御または設定により上記同時コピーモードやモニタモードに切り換え制御される。モニタＲＡＭ制御ユニット１４は、モニタモードの時は、ＤＳＵからのアクセスに応答してモニタＲＡＭ内のデータを読み出すよう制御する。
【００１６】
図２は、本実施の形態における評価用マイクロコンピュータ１の一部詳細構成図である。内部バスI-BUSは、例えばアドレスバスＡＤＤとデータバスＤＡＴＡとリードライト制御信号Ｒ／Ｗとを有する。内部メモリであるＲＡＭ１２と内部バスI-BUSとの間にはＲＡＭインターフェースＩ／Ｆが設けられ、このＲＡＭインターフェースは、ＣＰＵからのアクセスがＲＡＭ１２に対するものか否かの判断を、アドレスバスＡＤＤ上のアドレスがＲＡＭ１２のアドレス領域に対応するか否かを基準にして行い、対応する場合はＲＡＭ１２へのアクセスを許可する。
【００１７】
モニタＲＡＭ制御ユニット１４は、モニタアドレスレジスタ２０と同時コピービット（Concurrent Copy Bit : CCB）レジスタ２２とを有し、モニタアドレスレジスタ２０にはモニタＲＡＭ１６に同時書き込みを行うべき内部ＲＡＭ１２のアドレスがＤＳＵにより設定され、また、同時コピービットレジスタ２２には同時コピーモードかモニタモードかがＤＳＵにより設定される。図２の例では、内部ＲＡＭ１２のアドレスｉ〜ｊの領域がモニタＲＡＭ１６に同時書き込みされるよう、モニタアドレスレジスタ２０にそのアドレス領域が設定されている。そして、同時コピービットレジスタ２２が同時コピーモードに設定されている間は、内部バスI-BUSによる内部ＲＡＭへの書き込み制御が行われる時、そのアドレスがモニタアドレスと一致するときに、モニタＲＡＭ１６への同時書き込みが行われる。また、同時コピービットレジスタ２２がモニタモードに設定されると、上記同時書き込みは禁止され、ＤＳＵからのアクセスに応答して、モニタＲＡＭ１６内のデータの読み出しが許可される。
【００１８】
ＰＣからＩＣＥを介して供給されるコマンドに対応して、ＤＳＵは、モニタすべきアドレスをモニタアドレスレジスタ２０に設定し、同時コピービットレジスタ２２を同時コピーモードに設定する。そこで、ＣＰＵがプログラムの実行を開始すると、それに伴ってＣＰＵは内部バスI-BUSを介して内部ＲＡＭ１２へのデータ書き込みを行う。この時、そのアドレスがモニタアドレスと一致する場合は、同時にモニタＲＡＭ１６にも同じデータが書き込まれる。この同時コピーモードの間は、ＣＰＵによる書き込み動作と競合しないように、ＤＳＵからモニタＲＡＭへのアクセスは禁止される。
【００１９】
そして、あるタイミングにおいて同時コピービットレジスタ２２がモニタモードに設定されると、今度は、ＣＰＵからの同時書き込みは禁止され、ＤＳＵからのモニタＲＡＭ１６へのアクセスが有効になるよう制御される。これにより、上記タイミングでの内部ＲＡＭ１２のデータをＤＳＵが取得することになり、ＰＣは、シリアルバス１８を経由してそのデータをモニタリングすることができる。このモニタリングモードにおいて、ＣＰＵの動作は停止せず、ＣＰＵは内部バスI-BUSを介して内部ＲＡＭ１２へのアクセスを継続する。
【００２０】
なお、ＤＳＵは、ＣＰＵと直接接続され、例えばＣＰＵ内のレジスタのデータのモニタリングや、周辺リソース内のレジスタのデータやＲＯＭ内のプログラム又はデータのモニタリングを可能とする。但し、この機能を利用する場合は、ＣＰＵのバスアクセスを一旦停止する必要がある。
【００２１】
図３は、本実施の形態におけるモニタメモリ（ＲＡＭ）制御ユニットの詳細構成図である。モニタＲＡＭ制御ユニット１４は、ＣＰＵによる内部バスI-BUSとＤＳＵからのバスとの切り換えを行う。そのために、それぞれのバスのアドレスバスＡＤＤと、データバスＤＡＴＡと、リードライト信号Ｒ／Ｗとの切り換えを行うセレクタ２６，２８，３０を有する。そして、これらセレクタの切り換えは、同時コピービットレジスタ２２の同時コピービットＣＣＢに応じて行われる。つまり、セレクタ２６，２８，３０は、同時コピービットＣＣＢが同時コピーモードの時は、ＣＰＵに接続される内部バスI-BUS側を選択し、モニタモードの時はＤＵＳからのバス側を選択する。この同時コピービットレジスタ２２のビットあるいはフラグはＤＳＵから設定される。
【００２２】
モニタＲＡＭ制御ユニット１４は、内部ＲＡＭ１２内のモニタすべきアドレスを格納するモニタアドレスレジスタ２０を有し、更に、アドレス比較変換器２４を有する。アドレス比較変換器２４は、内部バスのアドレスCPU-ADDとモニタアドレスM-ADDとを比較し、一致する時に内部バスのアドレスCPU-ADDをモニタＲＡＭ１６のアドレスに変換して出力する。
【００２３】
また、モニタＲＡＭ制御ユニット１４は、モニタモードへの切り換え条件を格納するモニタポイントレジスタ３２を有する。図３の例では、モニタポイントレジスタ３２には、同時コピーモードからモニタモードに変換するプログラムのアドレスMP-ADDが格納される。そして、命令アドレス比較器３４は、内部バスI-BUSに供給される命令アドレスCPU-ADDとモニタポイントレジスタ３２に格納されたモニタポイントアドレスMP-ADDとを比較し、一致するときに同時コピービットレジスタ２２をモニタモードに切り換える。モニタポイントレジスタ３２には、上記の例以外にも、内部ＲＡＭやＣＰＵ内レジスタの所定のデータに対する条件を設定しても良い。その場合は、当該所定のデータがある条件を満足するか否かを判断する判断手段が設けられ、その判断手段が条件を満足したと判断したときに、当該判断手段が、同時コピービットレジスタ２２をモニタモードに変更する。あるいは別の方法では、ＰＣからＤＳＵに対して同時コピービットレジスタ２２をモニタモードに変更させても良い。
【００２４】
更に、モニタＲＡＭ１６のデータ入出力端子はトライステートバッファＴＢＳを介してＤＳＵのデータバスDSU-DATAに接続される。このトライステートバッファＴＢＳは、モニタモードにおいて、ＤＳＵからのリードライト信号DSU-R/Wがリード状態の時にバッファ回路となり、モニタＲＡＭ１６から読み出しデータの出力を可能にする。一方、モニタモードにおいて、ＤＳＵからのリードライト信号DSU-R/Wがライト状態の時はハイインピーダンス状態になる。
【００２５】
図４は、本実施の形態の同時コピーモードとモニタモードの動作を示すタイミングチャート図である。最初に、ＤＳＵにより同時コピービットレジスタ２２にＨレベルが設定され同時コピーモードにされる。そして、ＣＰＵがプログラムを実行しながら、必要に応じて内部バスI-BUSを介して内部ＲＡＭ１２にライト動作を実行する。ＣＰＵがアドレスバスCPU-ADDにアドレスADDhをデータバスCPU-DATAにデータDAhを出力すると、そのデータが内部ＲＡＭ１２に書き込まれる。但し、アドレスADDhがモニタアドレスM-ADDと一致しないため、モニタＲＡＭ１６への書き込みは行われない。次に、ＣＰＵがアドレスバスCPU-ADDにアドレスADDiを出力すると、内部ＲＡＭ１２への書き込みが行われると共に、そのアドレスADDiがモニタアドレスレジスタ２０のモニタアドレスM-ADDと一致することがアドレス比較変換器２４により検出され、それにより変換されたモニタＲＡＭのアドレスADD0の領域にデータDaiが同時コピーされる。同様の同時書き込み動作は、ＣＰＵからのアドレスCPU-ADDがモニタアドレスM-ADDと一致する限り行われる。これにより、ＣＰＵの動作中に内部ＲＡＭ１２に書き込むデータが、モニタＲＡＭ１６にも同時に書き込まれる。
【００２６】
モニタポイントレジスタ３２に格納されたモニタポイントアドレスMP-ADDがＣＰＵが実行しようとするプログラムのアドレスCPU-ADDと一致するとき、命令比較器３４により同時コピービット２２のビットがモニタモードに切り換えられる。その結果、モニタＲＡＭ制御ユニット１４は、ＣＰＵからモニタＲＡＭ１６へのアクセスを禁止し、ＤＳＵからのアクセスを許可する。また、トライステートバッファＴＳＢはバッファ状態になり、モニタＲＡＭのデータ出力がＤＳＵへのデータバスDSU-ADDに接続される。図４の例では、ＤＳＵから供給されるアドレスDSU-ADDがADD0〜ADDj-iの時に、モニタＲＡＭ１６に格納されたデータがＤＳＵに出力される。この間、ＣＰＵは制御動作を停止することなく、内部バスI-BUSを介して内部ＲＡＭ１２へのアクセスを適宜実行する。つまり、ＣＰＵの制御動作を停止させることなく、ＤＳＵはモニタＲＡＭ１６に書き込まれた内部データを読み出すことができる。このようにして読み出された内部データは、ＩＣＥを経由してＰＣに出力される。
【００２７】
ＣＰＵがモニタポイントアドレスの命令を複数回実行する場合は、ＰＣからＤＳＵを介して同時コピービットレジスタを同時コピーモードに設定すれば、何度でもモニタポイントアドレスの命令実行時の内部ＲＡＭのデータをモニタすることができる。例えば、ＣＰＵが同じ制御を繰り返し実行する場合などにおいて、その繰り返し期間が比較的長くオペレータからの操作を十分許容できる場合は、ＤＳＵから同時コピーモードへの設定を繰り返すことで、繰り返し内部ＲＡＭのデータのモニタが可能になる。
【００２８】
図５は、本実施の形態の変形例におけるモニタＲＡＭ制御ユニットの構成図である。図３に示した実施の形態では、あるモニタポイントでの内部ＲＡＭ１２のデータを外部からモニタすることができるだけである。ところが、デバッグ工程においては、複数のモニタポイントでの内部ＲＡＭ１２のデータをモニタしたい場合や、複数の異なる条件に達する時の内部ＲＡＭ１２のデータをモニタしたい場合などが考えられる。デバッグ工程では、できるだけ多くのモニタ方法が提供されることが望ましい。
【００２９】
そこで、図５の変形例は、３つのモニタポイントでの内部ＲＡＭ１２のデータをモニタ可能にしている。そのために、３つのモニタＲＡＭ16-1,16-2,16-3を設け、それらモニタＲＡＭそれぞれに対してＣＰＵの内部バスとＤＳＵのバスとの切り換えを行う切り換えユニット40-1,40-2,40-3が設けられる。各切り換えユニットは、図３で説明した同時コピービットCCBにより切り換えられるセレクタ２６，２８，３０（図示せず）とトライステートバッファＴＳＢとを有する。更に、図５の変形例は、３つのモニタＲＡＭそれぞれに対して、対応するモニタＲＡＭを同時コピーモードまたはモニタモードのいずれかに設定する同時コピービットレジスタ22-1,22-2,22-3を有する。これらの同時コピービットレジスタ22-1,22-2,22-3は、ＤＳＵからそれぞれ設定される。そして、３つのモニタＲＡＭを同時コピーモードからモニタモードに切り換えるモニタポイントレジスタを格納する３つのレジスタ３２を有する。３つのモニタＲＡＭ16-2,16-2,16-3は、それぞれアドレス０〜j-i、p〜p+j-i、q〜q+j-iが割り当てられている。
【００３０】
図６は、図５の変形例の動作タイミングチャート図である。図６の例では、ＣＰＵが内部ＲＡＭ１２に対してアドレスADDiに繰り返しデータを書き込み、時間ｔ１，ｔ２，ｔ３のタイミングでの内部データをモニタＲＡＭから読み出している。まず、時間ｔ０にて、ＤＳＵが全ての同時コピービットレジスタ22-1,22-2,22-3を同時コピーモードに設定する。そして、その後ＣＰＵが内部ＲＡＭ１２にデータ書き込みを行うたびに、そのアドレスがモニタアドレスと一致すれば同じ書き込みデータが３つのモニタＲＡＭ16-1,16-2,16-3に同時に書き込まれる。
【００３１】
時間ｔ１で命令アドレスCPU-ADDがモニタポイントアドレスMP-ADD1と一致し、第１の同時コピービットレジスタ２２−１がモニタモードに切り換えられる。それに伴い、モニタＲＡＭ16-2へのＣＰＵからの同時書き込みは禁止される。つまり、時間ｔ１での内部ＲＡＭ１２のアドレスADDiのデータDAiが第１のモニタＲＡＭ16-1に確保される。但し、第２、第３のモニタＲＡＭ16-2,16-3への同時書き込みは継続される。
【００３２】
同様に、時間ｔ２で命令アドレスCPU-ADDが第２のモニタポイントアドレスMP-ADD2と一致し、第２の同時コピービットレジスタ２２−２がモニタモードに切り換えられる。図６には示されないが、これにより第２のモニタＲＡＭ16-2へのＣＰＵからの同時書き込みは禁止され、時間ｔ２での内部ＲＡＭ１２内のデータが第２のモニタＲＡＭ116-2に確保される。但し、第３のモニタＲＡＭ16-3への同時書き込みは継続されている。
【００３３】
最後に、時間ｔ３で命令アドレスCPU-ADDが第３のモニタポイントアドレスMP-ADD3と一致し、第３の同時コピービットレジスタ２２−３がモニタモードに切り換えられる。つまり、時間ｔ３での内部ＲＡＭ１２のデータがモニタＲＡＭ16-3に確保されることになる。
【００３４】
時間ｔ３以降において、全てのモニタＲＡＭへのＣＰＵからの同時書き込みは禁止され、ＤＳＵによるこれらモニタＲＡＭへのアクセスが許可される。それにより、ＤＳＵは、モニタＲＡＭのアドレスを指定して、所望のタイミングでの内部データを読み出すことができる。このモニタモードにおいて、ＣＰＵの内部ＲＡＭ１２へのアクセスは許可され、ＣＰＵの動作は停止する必要はない。
【００３５】
このように図５，６の変形例によれば、ＣＰＵの動作を停止させることなく、複数のタイミングでの内部メモリのデータをモニタリングすることができる。モニタリングのタイミングを命令アドレスに基づいて行ったが、前述するとおり、内部メモリの所定のデータが所定の条件を満足する時に同時コピービットレジスタの設定を変更するようにすれば、３種類の条件を満足するときの内部データのモニタリングを可能にする。更に、ＤＳＵから直接同時コピービットレジスタのモニタモードへの変更設定を行うようにしてもよい。この場合は、ＰＣが３つの異なるタイミングでモニタリングポイントを指定し、そのＰＣからの指令に応答して、ＤＳＵが３つの同時コピービットレジスタの設定をモニタモードに変更する。したがって、ＰＣが何らかの条件を満足する時にモニタモードへの切り換え指令を出力するようなプログラムをＰＣに設定することで、ＣＰＵの動作を停止させることなく、任意のタイミングでの内部ＲＡＭ内のデータをモニタリングすることが可能になる。
【００３６】
以上説明したとおり、本実施の形態によれば、同時コピーモードの時に、ＣＰＵが内部ＲＡＭへの書き込みを行う時に同時にモニタＲＡＭへの書き込みを行うように制御し、モニタモードの時は、モニタＲＡＭのＣＰＵからの同時書き込みを禁止して、ＤＳＵからのアクセスを許可する。それにより、ＣＰＵの動作を停止させることなく、内部ＲＡＭのデータをモニタすることができ、デバッグ工程の利便性を高くすることができる。
【００３７】
以上の実施の形態をまとめると以下の付記のとおりである。
【００３８】
（付記１）プログラムを逐次実行するＣＰＵと、
前記ＣＰＵと内部バスを介して接続された内部メモリと、
外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットと、
前記内部メモリに格納されるデータを格納し、前記デバッグサポートユニットからアクセス可能なモニタメモリと、
前記内部バスに接続され、同時コピーモードの時に、前記内部バスからのアクセスに応答して前記内部メモリに書き込まれるデータを同時に前記モニタメモリに書き込むよう制御し、モニタモードの時に、前記デバッグサポートユニットからのアクセスに応答して前記モニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニットとを有することを特徴とするマイクロコンピュータ。
【００３９】
（付記２）付記１において、
前記モニタメモリ制御ユニットは、前記同時書き込み対象データについての前記内部メモリのアドレスが設定されるモニタアドレスレジスタを有し、前記内部バスに供給されるアドレスが前記モニタアドレスレジスタの設定アドレスと一致する場合に、当該内部バスに供給されるデータを前記モニタメモリに書き込むよう制御し、
前記モニタアドレスレジスタは、前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【００４０】
（付記３）付記１において、
前記モニタメモリ制御ユニットは、前記同時コピーモードとモニタモードとを区別する同時コピーフラグを格納する同時コピーフラグレジスタを有し、当該同時コピーフラグに応じて前記同時コピーモードまたはモニタモードのいずれかの制御を行い、
前記同時コピーフラグレジスタは、前記前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【００４１】
（付記４）付記１において、
前記モニタメモリ制御ユニットは、前記同時コピーモードの時は、前記デバッグサポートユニットからのアクセスを禁止し、前記モニタモードの時は、前記内部バスからのアクセスを禁止することを特徴とするマイクロコンピュータ。
【００４２】
（付記５）付記１において、
前記モニタメモリ制御ユニットは、前記同時コピーモードからモニタモードに切り換える条件を設定するモード切り換え設定レジスタを有し、当該モード切り換え設定レジスタに設定された条件が満たされる時に、前記同時コピーモードからモニタモードに切り換え、
前記モード切り換え設定レジスタは、前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【００４３】
（付記６）付記５において、
前記モード切り換え設定レジスタに、所定のプログラムアドレスが設定され、
前記モニタメモリ制御ユニットは、前記内部バスに供給されるプログラムアドレスが当該モード切り換え設定レジスタに設定されたプログラムアドレスと一致する時に、前記同時コピーモードからモニタモードに切り換えることを特徴とするマイクロコンピュータ。
【００４４】
（付記７）付記１において、
前記モニタメモリは、第１及び第２のモニタメモリ領域を有し、
前記モニタメモリ制御ユニットは、前記第１及び第２のモニタメモリ領域それぞれに対して、前記同時コピーモード及びモニタモードの切り換え制御し、
前記モニタメモリ制御ユニットは、
前記第１及び第２のモニタメモリ領域が共に同時コピーモードの時に、当該第１及び第２のモニタメモリ領域に前記内部メモリに書き込まれるデータを同時に書き込むように制御し、
前記第１のモニタメモリ領域がモニタモード及び前記第２のモニタメモリ領域が同時コピーモードの時に、前記第１のモニタメモリ領域への同時書き込みを停止し且つ前記第２のモニタメモリ領域への同時書き込みを制御し、
前記第１及び第２のモニタメモリ領域が共にモニタモードの時に、前記第１及び第２のモニタメモリ領域への同時書き込みを停止することを特徴とするマイクロコンピュータ。
【００４５】
（付記８）付記７において、
前記モニタメモリ制御ユニットは、前記同時コピーモードからモニタモードに切り換える条件を設定する第１及び第２のモード切り換え設定レジスタを有し、
前記第１のモード切り換え設定レジスタに設定された条件が満たされる時に、前記第１のモニタメモリ領域について前記同時コピーモードからモニタモードに切り換え、
前記第２のモード切り換え設定レジスタに設定された条件が満たされる時に、前記第２のモニタメモリ領域について前記同時コピーモードからモニタモードに切り換え、
前記第１及び第２のモード切り換え設定レジスタは、前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【００４６】
（付記９）付記８において、
前記第１及び第２のモード切り換え設定レジスタに、所定の第１及び第２のプログラムアドレスが設定され、
前記モニタメモリ制御ユニットは、
前記内部バスに供給されるプログラムアドレスが当該第１のモード切り換え設定レジスタに設定された第１のプログラムアドレスと一致する時に、前記第１のモニタメモリ領域について前記同時コピーモードからモニタモードに切り換え、
前記内部バスに供給されるプログラムアドレスが当該第２のモード切り換え設定レジスタに設定された第２のプログラムアドレスと一致する時に、前記第２のモニタメモリ領域について前記同時コピーモードからモニタモードに切り換えることを特徴とするマイクロコンピュータ。
【００４７】
（付記１０）プログラムを逐次実行するＣＰＵと、
前記ＣＰＵと内部バスを介して接続された内部メモリと、
外部からのコマンドに応答して内部状態をモニタするデバッグサポートユニットと、
前記内部メモリに格納されるデータを格納し、前記デバッグサポートユニットから読み出し可能なモニタメモリと、
前記内部バスに接続され、同時コピーモードの時に、前記内部バスからのアクセスに応答して前記内部メモリに書き込まれるデータを同時に前記モニタメモリに書き込むよう制御し、モニタモードの時に、前記内部バスからのアクセスを禁止し、前記デバッグサポートユニットからのアクセスに応答して前記モニタメモリのデータを読み出すよう制御するモニタメモリ制御ユニットとを有し、
前記モニタモードの時に前記モニタメモリから読み出されたデータが、前記デバッグサポートユニットを経由して外部に出力されることを特徴とするマイクロコンピュータ。
【００４８】
（付記１１）付記１０において、
前記モニタメモリ制御ユニットは、前記同時書き込み対象データについての前記内部メモリのアドレスが設定されるモニタアドレスレジスタを有し、前記内部バスに供給されるアドレスが前記モニタアドレスレジスタの設定アドレスと一致する場合に、当該内部バスに供給されるデータを前記モニタメモリに書き込むよう制御し、
前記モニタアドレスレジスタは、前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【００４９】
（付記１２）付記１０において、
前記モニタメモリ制御ユニットは、前記同時コピーモードとモニタモードとを区別する同時コピーフラグを格納する同時コピーフラグレジスタを有し、当該同時コピーフラグに応じて前記同時コピーモードまたはモニタモードのいずれかの制御を行い、
前記同時コピーフラグレジスタは、前記前記デバッグサポートユニットにより設定されることを特徴とするマイクロコンピュータ。
【００５０】
（付記１３）付記１０において、
前記モニタメモリ制御ユニットは、前記同時コピーモードの時は、前記デバッグサポートユニットからのアクセスを禁止することを特徴とするマイクロコンピュータ。
【図面の簡単な説明】
【００５１】
【図１】本実施の形態におけるマイクロコンピュータの構成図である。
【図２】本実施の形態における評価用マイクロコンピュータ１の一部詳細構成図である。
【図３】本実施の形態におけるモニタメモリ（ＲＡＭ）制御ユニットの詳細構成図である。
【図４】本実施の形態の同時コピーモードとモニタモードの動作を示すタイミングチャート図である。
【図５】本実施の形態の変形例におけるモニタＲＡＭ制御ユニットの構成図である。
【図６】図５の変形例の動作タイミングチャート図である。
【符号の説明】
【００５２】
Ｉ−ＢＵＳ：内部バス、１２：内部メモリ、１４：モニタメモリ制御ユニット
１６：モニタメモリ、２０：モニタアドレスレジスタ、２２：同時コピービットレジスタ
【図１】
2005284557.tif 000003
【図２】
2005284557.tif 000004
【図３】
2005284557.tif 000005
【図４】
2005284557.tif 000006
【図５】
2005284557.tif 000007
【図６】
2005284557.tif 000008