(57)【要約】【課題】プログラムのテスト及びデバッギングが容易な中央処理装置を提供する。【解決手段】ホストコンピュータとのデータ通信のためのデータ通信部；中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ；メモリ上のデバッギングスタック領域を指定するデバッギングスタックポインタレジスタ；ブレーキレジスタに保存された値と中止データが同一であれば中央処理装置をデバッギングモードへ進入させる比較部を備えて、前記ブレーキレジスタに保存された値と中止データとが一致すれば前記中央処理装置をデバッギングモードに切換えて前記フラグがデバッギングモードを示す値を有し、前記デバッギングスタックポインタレジスタをデバッギングプログラムのデータを保存するメモリを指定するスタックポインタとして使用し、デバッギングする。【選択図】図３
2006127553.tif 000002
【特許請求の範囲】
【請求項１】
データ及びアドレス演算に必要なデータを一時的に保存する汎用レジスタファイル(100)と、
プログラムが保存されたメモリのアドレスを記憶するプログラムカウンタ(PC)と中央処理装置の状態を示す状態レジスタ(SR)及びブレーキレジスタ(BR)から構成された特殊レジスタファイル(200)と、
前記汎用レジスタファイル(100)及び特殊レジスタファイル(100)を連結する内部バス(IB)と、
前記内部バス(IB)に連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット(300)と、
ホストコンピュータとのデータ通信を行い、テスト及びデバッギングの対象となる応用プログラムをダウンロードするためのデータ通信手段(600)と、
前記ブレーキレジスタ(BR)に保存された値と中止データとを比較する比較手段(700)とを備える中央処理装置であって、
前記特殊レジスタファイル(200)を構成する状態レジスタ(SR)には、中央処理装置の動作モードについて一般動作モードとすべきか、デバッギングモードとすべきかを示すフラグ(OSIM)が備えられ、
前記特殊レジスタファイル(200)には、デバッギングプログラムのデータを保存するスタックメモリを指定するスタックポインタ(ISP)としてデバッギングモードでのみ用いられるデバッギングスタックポインタレジスタが備えられ、このデバッギングスタックポインタレジスタには、前記プログラムカウンタ(PC)の値と、前記状態レジスタ(SR)の値と、デバッギングプログラムの開始アドレスとを保存する前記スタックメモリのアドレスが保存され、
前記応用プログラムを実行した際、前記状態レジスタ(SR)のフラグ(OSIM)には、前記比較手段(700)により、前記ブレーキレジスタ(BR)に保存された値と前記中止データとが一致すると判断されたとき、デバッギングモードを示す値が与えられ、このとき、前記特殊レジスタファイル(200)を構成する前記プログラムカウンタ(PC)に、前記デバッギングプログラムを遂行するための開始アドレスが積載されて、該デバッギングプログラムが、前記データ通信手段(600)を通じてホストコンピュータからの命令に従って遂行されることを特徴とするプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２】
前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
リセットデータが保存されたリセットデータ保存手段；及び前記データ通信手段を通じて入力されたデータと前記リセットデータ保存手段に保存されたリセットデータとを比較して、前記データ通信手段を通じて入力されたデータとリセットデータとが同一であれば、制御ユニットが中央処理装置を初期化するように指示するリセットデータ比較手段をさらに備えたことを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項３】
前記中止データは前記プログラムカウンタに保存されたプログラムアドレスであることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項４】
マスクレジスタをさらに備えて、前記中止データは前記プログラムカウンタと前記マスクレジスタに保存された値を演算した結果であることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項５】
前記中止データはデータが保存されたメモリアドレスであることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項６】
マスクレジスタをさらに備えて、前記中止データはデータが保存されたメモリアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項７】
前記中止データは前記中央処理装置で入出力されるデータであることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項８】
マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるデータと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項９】
前記中止データは前記中央処理装置で入出力されるアドレスであることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１０】
マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１１】
前記制御ユニットは、デバッギングメモリ選択信号を受信して前記ブレーキレジスタに保存された値と前記中止データとが同一である時、前記デバッギングメモリ選択信号に従って前記プログラムカウンタにデバッギングプログラムを遂行するための互いに異なるアドレスを積載することを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１２】
前記デバッギングプログラムで使用するデータ値を保存するデータ保存メモリをさらに備えて、一般プログラムで使用するデータ値を保存するデータ保存メモリと分離したことを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１３】
前記デバッギングプログラムを保存するメモリをさらに備えて、一般プログラムが保存されたメモリと分離したことを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１４】
前記データ通信手段を通じて前記ホストコンピュータからテスト及びデバッギングする応用プログラムをダウンロードされることを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１５】
デバッギングモードに切換えられた時、前記プログラムカウンタに保存された値と前記状態レジスタに保存されたデータとを前記デバッギングスタックポインタレジスタが指定するメモリに保存することを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１６】
一時保存レジスタをさらに備えて、デバッギングモードに切換えられた時に、前記プログラムカウンタに保存された値と前記状態レジスタに保存されたデータとを前記一時保存レジスタに保存することを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１７】
前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
基準データが保存された基準データ保存手段；及び前記データ通信手段を通じて入力されたデータと前記基準データとを比較する基準データ比較手段をさらに備えて、前記データ通信手段を通じて入力されたデータと基準データとが同一であれば前記制御ユニットは中央処理装置をデバッギングモードに切換えさせて前記プログラムカウンタにデバッギングプログラムを遂行するための開始アドレスを積載してデバッギングプログラムを遂行し、前記データ通信手段を通じて前記ホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする請求項１に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１８】
データ及びアドレス演算に必要なデータを一時的に保存する汎用レジスタファイル(100)と、
プログラムが保存されたメモリのアドレスを記憶するプログラムカウンタ(PC)と中央処理装置の状態を示す状態レジスタ(SR)及びブレーキレジスタ(BR)から構成された特殊レジスタファイル(200)と、
前記汎用レジスタファイル(100)及び特殊レジスタファイル(100)を連結する内部バス(IB)と、
前記内部バス(IB)に連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット(300)と、
ホストコンピュータとのデータ通信を行い、テスト及びデバッギングの対象となる応用プログラムをダウンロードするためのデータ通信手段(600)と、
前記ブレーキレジスタ(BR)に保存された値と中止データとを比較する比較手段(700)と、
前記内部バスに連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット(300)とを備える中央処理装置であって、
前記特殊レジスタファイル(200)を構成する状態レジスタ(SR)には、中央処理装置の動作モードについて一般動作モードとすべきか、デバッギング初期化モードまたはデバッギングサービスモードとすべきかを示すフラグ(OSIM)が備えられ、
前記特殊レジスタファイル(200)には、デバッギング初期化プログラム及びデバッギングサービスプログラムのデータを保存するスタックメモリを指定するスタックポインタ(ISP)としてデバッギングモードでのみ用いられるデバッギングスタックポインタレジスタが備えられ、このデバッギングスタックポインタレジスタには、このデバッギングスタックポインタレジスタには、前記プログラムカウンタ(PC)の値と、前記状態レジスタ(SR)の値と、デバッギング初期化プログラム及びデバッギングサービスプログラムの開始アドレスとを保存する前記スタックメモリのアドレスが保存され、
前記制御ユニット(300)は、リセット信号が入力された際に、前記中央処理装置を初期化するとともに、デバッギングモード進入信号を検査してデバッギングモード進入信号が活性化されていると判断されたならば、前記プログラムカウンタ(PC)にデバッギング初期化プログラムを遂行するための開始アドレスを積載するとともに、前記状態レジスタ(SR)のフラグ(OSIM)についてデバッギング初期化モードを示す値に設定するものであり、
前記応用プログラムを実行した際、前記状態レジスタ(SR)のフラグ(OSIM)には、前記比較手段(700)により、前記ブレーキレジスタ(BR)に保存された値と前記中止データとが一致すると判断されたとき、デバッギングサービスモードを示す値が与えられ、このとき、前記特殊レジスタファイル(200)を構成する前記プログラムカウンタ(PC)に、前記デバッギングサービスプログラムを遂行するための開始アドレスが積載されて、該デバッギングサービスプログラムが、前記データ通信手段(600)を通じてホストコンピュータからの命令に従って遂行されることを特徴とするプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項１９】
前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
リセットデータが保存されたリセットデータ保存手段；及び前記データ通信手段を通じて入力されたデータと前記リセットデータ保存手段に保存されたリセットデータとを比較して、前記データ通信手段を通じて入力されたデータとリセットデータとが同一であれば前記中央処理装置を初期化するリセットデータ比較手段を備えたことを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２０】
前記中止データは前記プログラムカウンタに保存されたプログラムアドレスであることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２１】
マスクレジスタをさらに備えて、前記中止データは前記プログラムカウンタと前記マスクレジスタに保存された値を演算した結果であることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２２】
前記中止データはデータが保存されたメモリアドレスであることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２３】
マスクレジスタをさらに備えて、前記中止データはデータが保存されたメモリアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２４】
前記中止データは前記中央処理装置で入出力されるデータであることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２５】
マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるデータと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２６】
前記中止データは前記中央処理装置で入出力されるアドレスであることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２７】
マスクレジスタをさらに備えて、前記中止データは前記中央処理装置で入出力されるアドレスと前記マスクレジスタに保存された値とを演算した結果であることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２８】
前記制御ユニットは、デバッギングメモリ選択信号を受信して前記ブレーキレジスタに保存された値と前記中止データとが同一である時、前記デバッギングメモリ選択信号によって前記プログラムカウンタにデバッギングサービスプログラムを遂行するための互いに異なるアドレスを積載することを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項２９】
前記デバッギングプログラムで使用するデータ値を保存するデータ保存メモリをさらに備えて、一般プログラムで使用するデータ値を保存するデータ保存メモリと分離したことを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項３０】
前記デバッギングプログラムを保存するメモリをさらに備えて、一般プログラムが保存されたメモリと分離したことを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項３１】
前記データ通信手段を通じて前記ホストコンピュータからテスト及びデバッギングを行うためのデバッギングプログラムをダウンロードされることを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項３２】
一時保存レジスタをさらに備えて、デバッギングモードに切換えられた時に、前記プログラムカウンタに保存された値と前記状態レジスタに保存されたデータとを前記一時保存レジスタに保存することを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【請求項３３】
前記プログラムのテスト及びデバッギングが容易な中央処理装置は、
基準データが保存された基準データ保存手段；及び前記データ通信手段を通じて入力されたデータと前記基準データとを比較する基準データ比較手段をさらに備えて、前記データ通信手段を通じて入力されたデータと基準データとが同一であれば前記制御ユニットは中央処理装置をデバッギングサービスモードに切換えさせ、前記プログラムカウンタにデバッギングサービスプログラムを遂行するための開始アドレスを積載してデバッギングサービスプログラムを遂行し、前記データ通信手段を通じて前記ホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする請求項１８に記載のプログラムのテスト及びデバッギングが容易な中央処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのテスト及びデバッギングが容易な中央処理装置に関し、特に、デバッギング状態においてホストコンピュータからダウンロードされたテスト及びデバッギングを行うための応用プログラムを容易にテスト及びデバッギングすることができるプログラムのテスト及びデバッギングが容易な中央処理装置に関する。
【背景技術】
【０００２】
一般に、中央処理装置（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｏｒ）は、メモリに保存された多数の命令語の集合からなるプログラムを読み出してこれを命令語解析器によって解析し、実行器によって各命令語に該当する動作を実行する。
【０００３】
メモリに保存された多数の命令語の集合からなる応用プログラムが正しく作成されたかをテストしなければならなく、応用プログラムが正しく作成されていない場合、その応用プログラムをデバッギング（Ｄｅｂｕｇｇｉｎｇ）しなければならない。
【０００４】
図１は従来のインサーキットエミュレータを使用して応用プログラムのテスト及びデバッギングを行うための一例のブロック図である。図１のインサーキットエミュレータを使用してプログラムのテスト及びデバッギングを行うためのブロック図は、中央処理装置、Ｉ／Ｏユニット１及びメモリ２から構成される対象システム４、対象システム４をテスト及びデバッギングするために対象システム４の中央処理装置に代替することができる回路で構成されて対象システム４の中央処理装置をＣＰＵモジュール（Ｍｏｄｕｌｅ）３で代替させ、ＣＰＵモジュール３と連結されたインサーキットエミュレータ（Ｉｎ Ｃｉｒｃｕｉｔ Ｅｍｕｌａｔｏｒ：ＩＣＥ）５、及びデバッギングを行うための応用プログラムのテスト及びデバッギングのための命令などをインサーキットエミュレータへ出力させるホストコンピュータ６から構成される。
【０００５】
インサーキットエミュレータ５は、ホストコンピュータ６から応用プログラムを入力されて応用プログラムをデバッギングすることができるデバッギング用プログラムを保存しており、ホストコンピュータ６から入力される命令に従ってインサーキットエミュレータ５の内部の中央処理装置を動作させる。そして、ＣＰＵモジュール３を通じて対象システム４の制御バス、アドレスバス及びデータバスを直接に制御して対象システム４のＩ／Ｏユニット１及びメモリ２に必要な入出力を遂行することができ、インサーキットエミュレータ５の内部の中央処理装置の内部レジスタを読み出したり内部レジスタのデータを変更することができる。
【０００６】
つまり、インサーキットエミュレータ５は、ホストコンピュータ６からデバッギングを行うための応用プログラムを入力されてプログラムを遂行させ、インサーキットエミュレータ５内の中央処理装置を動作させる。そして、対象システム４の制御バス、アドレスバス及びデータバスを直接に制御してＩ／Ｏユニット１及びメモリ２に必要な入出力を遂行し、応用プログラムのテスト及びデバッギングのために強制的に応用プログラムの遂行を中止させた後、ホストコンピュータ６からの命令に従って対象システム４のＩ／Ｏユニット１及びメモリ２のデータを読み出したり書き込んだり、またはインサーキットエミュレータ５内のレジスタに保存されたデータ値を読み出したり書き込み、応用プログラムが正しく作成されたかを判断して、エラーがある場合応用プログラムをデバッギングする。
【０００７】
上記の従来のインサーキットエミュレータを使用して応用プログラムのテスト及びデバッギングを行う場合、必ず対象システムの中央処理装置をインサーキットエミュレータに連結されたＣＰＵモジュール３で代替できる場合にのみ有用に使用することができ、インサーキットエミュレータ内には対象システムの中央処理装置の機能を果たすハードウェアがなければならないので、インサーキットエミュレータは高価の装備となるという問題点がある。そして、対象システムを一つの半導体チップに集積化させた場合、中央処理装置をＣＰＵモジュール３で代替することができないので、インサーキットエミュレータを使用することができないという問題点がある。
【０００８】
図２は従来の中央処理装置内にバックグラウンドデバッギングモニタ部が内蔵されてプログラムのテスト及びデバッギングを行うためのブロック図である。図２のブロック図は、図１の対象システムを一つの半導体チップに集積させた場合インサーキットエミュレータを使用することができないという問題点を解決するために、中央処理装置１３はバックグラウンドデバッギングモニタ部（Ｂａｃｋｇｒｏｕｎｄ Ｄｅｂｕｇｇｉｎｇ Ｍｏｎｉｔｏｒ：ＢＤＭ）１１とシリアル通信部１２を別途に有している。
【０００９】
図２の従来の中央処理装置内にバックグラウンドデバッギングモニタ１１が内蔵されてプログラムのテスト及びデバッギングを行うためのブロック図は、別途のバックグラウンドデバッギングモニタ１１及びシリアル通信部１２を有する中央処理装置１３、Ｉ／Ｏユニット１４及びメモリ１５が一つの半導体チップに集積化された対象システム１０、及びシリアル通信部１２を通じて応用プログラムのテスト及びデバッギングを行うためのホストコンピュータ２０から構成される。
【００１０】
バックグラウンドデバッギングモニタ１１は、ホストコンピュータ２０からシリアル通信部１２を通じて入力された命令語を解析して必要な動作を遂行するために、自主的にレジスタ、制御ユニット等から構成されたコントローラーで、中央処理装置１３の内部の全ての構成要素を直接に制御することが可能でなければならない。つまり、バックグラウンドデバッギングモニタ１１は内部バスに連結されてレジスタを読んだり値を変更することができる。そして、制御部、メモリアドレスレジスタ及びメモリデータレジスタを制御して制御信号バス、アドレスバス及びデータバスを制御する。  
図２の従来のバックグラウンドデバッギングモニタ部が内蔵された中央処理装置は、シリアル通信部１２を通じてホストコンピュータ２０とバックグラウンドデバッギングモニタ１１との通信が可能でなければならないが、これに要するホストコンピュータ２０と中央処理装置１３を連結するための入出力線は２〜３個の線が必要であるので、図１のように中央処理装置の全部を代替する場合より有効である。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来のバックグラウンドデバッギングモニタ部は、中央処理装置１３の内部の全ての構成要素を直接に制御しなければならないので、図２のバックグラウンドデバッギングモニタ部が内蔵された中央処理装置は高価で、複雑なハードウェアを有するという問題点がある。
【００１２】
本発明の目的は、デバッギング入力信号を活性化させて使用者モードを有する中央処理装置の状態にデバッギングモードを新しく追加し、デバッギングモードにおいてホストコンピュータからダウンロードされたテスト及びデバッギングを行うための応用プログラムを容易にテスト及びデバッギングすることによって、中央処理装置のハードウェアが簡単に構成され、中央処理装置のコストを低下させることができ、且つより効率よいテスト及びデバッギングを行うことができるプログラムのテスト及びデバッギングが容易な中央処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
前記目的を達成するために、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、ホストコンピュータとのデータ通信のためのデータ通信手段；中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ；デバッギングプログラムのデータを保存するスタックメモリを指定するスタックポインタとして用いられるデバッギングスタックポインタレジスタ；及びブレーキレジスタに保存された値と中止データとを比較して同一であれば中央処理装置をデバッギングモードへ進入させる比較手段を備えて、ブレーキレジスタに保存された値と中止データとが一致すれば、中央処理装置をデバッギングモードに切換えさせて状態レジスタのフラグがデバッギングモードを示す値を有し、プログラムカウンタにデバッギングプログラムを遂行するための開始アドレスを積載してデバッギングプログラムを遂行し、データ通信手段を通じてホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする。
【００１４】
また、前記目的を達成するために、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、ホストコンピュータとのデータ通信のためのデータ通信手段；中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ；デバッギング初期化プログラム及びデバッギングサービスプログラムのデータを保存するスタックメモリを指定するデバッギングスタックポインタレジスタ；リセット信号によって中央処理装置を初期化し、デバッギングモード進入信号を検査してデバッギングモード進入信号が活性化されていると、プログラムカウンタにデバッギング初期化プログラムを遂行するための開始アドレスを積載して中央処理装置をデバッギング初期化モードに切換えさせて状態レジスタのフラグをデバッギングモードを示す値で設定し、内部バスに連結されて中央処理装置の内外部に必要な各種の制御信号を出力する制御ユニット；及びブレーキレジスタに保存された値と中止データとを比較して同一であれば中央処理装置をデバッギングサービスモードへ進入させる比較手段を備えて、ブレーキレジスタに保存された値と中止データとが一致すれば、中央処理装置をデバッギングサービスモードに切換えさせて状態レジスタのフラグがデバッギングサービスモードを示す値を有し、プログラムカウンタにデバッギングサービスプログラムを遂行するための開始アドレスを積載してデバッギングサービスプログラムを遂行し、データ通信手段を通じてホストコンピュータからの命令に従ってデバッギングを遂行することを特徴とする。
【発明の効果】
【００１５】
本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、使用者モードを有する中央処理装置の状態にデバッギングモードを新しく追加し、デバッギングモードにおいてホストコンピュータからダウンロードされたテスト及びデバッギングを行うための応用プログラムを容易にテスト及びデバッギングすることができるようにする。ここで、中央処理装置はより簡単なハードウェアから構成され、中央処理装置のコストを低下させることができ、且つより効率よいテスト及びデバッギングを行うことができる。また、応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定せしめるデバッギングモード初期化プログラム及び中央処理装置をプログラムのテスト及びデバッギング状態へ進入させて応用プログラムをテスト及びデバッギングするためのデバッギングサービスプログラムは、中央処理装置を初期化及び動作させるための使用者応用プログラムが保存されたメモリと、他の独立されたメモリに保存することによって、使用者は提供されたデバッギングモード初期化プログラム及びデバッギングサービスプログラムを考えずに、使用者によって作成されたデバッギングプログラムを用いて応用プログラムを作成することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付した図面を参照して本発明のプログラムのテスト及びデバッギングが容易な中央処理装置を詳細に説明する。
【００１７】
図３は本発明のプログラムのテスト及びデバッギングが容易な中央処理装置を示したブロック図である。図３の本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、データ及びアドレス演算に必要なデータを一時的に保存する汎用レジスタファイル１００、プログラムが保存されたメモリのアドレスを記憶するプログラムカウンタ（ＰＣ）と中央処理装置の一般動作状態を示す一般動作モード及びプログラムのテスト及びデバッギングを行うための状態を示すデバッギングモードを示すデバッギングモードフラグを有する状態レジスタ（ＳＲ）、ブレーキレジスタ（ＢＲ）、マスクレジスタ（ＭＲ）、及びデバッギング初期化プログラム及びデバッギングサービスプログラムのデータを保存するメモリを指定するデバッギングスタックポインタ（ＩＳＰ）から構成された特殊レジスタファイル２００、汎用レジスタファイル１００及び特殊レジスタファイル２００を連結する内部バス（ＩＢ）、内部バス（ＩＢ）に連結されて中央処理装置の内外部に必要な各種の制御信号（ＣＯＮＴ）を出力し、リセット信号（ＲＥＳＥＴ）によって中央処理装置を初期化し、デバッギングモード進入信号（ＯＳＩ）を検査してデバッギングモード進入信号（ＯＳＩ）が活性化されると、プログラムカウンタ（ＰＣ）にデバッギング初期化プログラムを遂行するための開始アドレスを積載して中央処理装置をデバッギング初期化モードに切換させて状態レジスタ（ＳＲ）のフラグはデバッギングモードを示す値を有するようにする制御ユニット３００、メモリアドレスレジスタ４００、メモリデータレジスタ５００、ホストコンピュータとのデータ通信のためのデータ通信部６００、及びブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とを比較して同一であれば中央処理装置をデバッギングサービスモードへ進入させる比較部７００から構成される。
【００１８】
また、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、ホストコンピュータとのデータ通信のためのデータ通信部６００、中央処理装置の動作モードが一般動作状態を示す一般動作モードであるかデバッギング状態を示すデバッギングモードであるかを示すフラグを備えた状態レジスタ（ＳＲ）、デバッギングプログラムのデータを保存するスタックメモリを指定するスタックポインタとして用いられるデバッギングスタックポインタ（ＩＳＰ）、及びブレーキレジスタに保存された値と中止データとを比較して同一であれば中央処理装置をデバッギングモードへ進入させる比較部７００から構成され、初期デバッギングモード進入によってホストコンピュータから入力されたブレーキレジスタ（ＢＲ）に保存された値と中止データ（ＢＤ）とが一致すれば、プログラムカウンタ（ＰＣ）にデバッギング初期化プログラム及びデバッギングサービスプログラムからなるデバッギングプログラムを遂行するための開始アドレスを積載してデバッギングプログラムを遂行することによって、中央処理装置をデバッギングモードに切換させ、状態レジスタのフラグがデバッギングモードを示す値を有するようにして、データ通信部６００を通じてホストコンピュータからの命令によってデバッギングを遂行することができる。
【００１９】
比較部７００に入力される中止データ（ＢＤ）は、プログラムカウンタ（ＰＣ）に保存されたプログラム番地、データが保存されたメモリアドレス、入出力されるデータ、入出力されるアドレスであってもよく、マスクレジスタ（ＭＲ）を使用してプログラムカウンタに保存されたプログラム番地とマスクレジスタ（ＭＲ）に保存された値とを演算した結果、データが保存されたメモリアドレスとマスクレジスタ（ＭＲ）に保存された値とを演算した結果、入出力されるアドレスとマスクレジスタ（ＭＲ）に保存された値とを演算した結果、入出力されるデータとマスクレジスタ（ＭＲ）に保存された値とを演算した結果であってもよい。
【００２０】
図３、図５及び図６に示すように、制御ユニット３００はデバッギングメモリ選択信号（ＯＳＩＲＯＭ）を受信してブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一である時に、デバッギングメモリ選択信号（ＯＳＩＲＯＭ）によってプログラムカウンタ（ＰＣ）にデバッギングサービスプログラム（ＰＲＯＧ５、ＰＲＯＧ７）を遂行するための互いに異なるアドレスを積載することができる。また、図６に示すように、デバッギング初期化プログラム（ＰＲＯＧ６）及びデバッギングサービスプログラム（ＰＲＯＧ７）から構成されたデバッギングプログラムを保存するメモリ９０と、一般プログラムが保存されたメモリ８０とを分離することができる。
【００２１】
デバッギングプログラムで使用するデータ値を保存するデータ保存メモリと、一般プログラムで使用するデータ値を保存するデータ保存メモリとを分離することができる。
【００２２】
デバッギングモードに切換えられた時に、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、速いデバッギングのために一時保存レジスタ１２００をさらに備えて、デバッギングモードに切換えた後に、デバッギングプログラムを遂行する前にプログラムカウンタ（ＰＣ）と状態レジスタ（ＳＲ）を一時保存レジスタ１２００に保存してデバッギングプログラムを遂行することもできる。
【００２３】
前記プログラムのテスト及びデバッギングが容易な中央処理装置は、基準データが保存された基準データ保存部９００、及びデータ通信部６００を通じて入力されたデータ（ＤＥＢ１）と基準データとを比較して、データ通信部６００を通じて入力されたデータ（ＤＥＢ１）と基準データとが同一であれば中央処理装置をデバッギングサービスモードに切換えさせる基準データ比較部８００を備えて、使用者がホストコンピュータを用いてデータ通信部を通じて中央処理装置を強制的にデバッギングサービスモードに切換させてデバッギングサービスプログラムを遂行させることができる。
【００２４】
本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、予め設定されたリセットデータを保存するリセットデータ保存部１１００、及びリセットデータ保存部１１００に保存されたリセットデータとデータ通信部６００を通じて入力されたデバッギングデータ（ＤＥＢ２）とを比較するリセットデータ比較部１０００をさらに備えて、使用者が中央処理装置を強制的に初期化させるためにホストコンピュータからデータ通信部６００にデータを伝送すると、リセットデータ比較部１０００においてリセットデータ保存部１１００に保存されたリセットデータとデータ通信部６００に受信された値とを比較して、二つの値が同一であれば中央処理装置を初期化させる。
【００２５】
上記の構成による本発明のプログラムのテスト及びデバッギングが容易な中央処理装置の動作は、以下の通りである。制御ユニット３００は、リセット信号（ＲＥＳＥＴ）によって中央処理装置を初期化し、制御ユニット３００に入力されるデバッギングモード進入信号（ＯＳＩ）が活性化されると、図４に示すように状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を活性化させ、中央処理装置を応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定せしめ、データ通信部６００を通じてホストコンピュータから中央処理装置にダウンロードされたテスト及びデバッギングを行うための応用プログラムを実行する。応用プログラムの実行中に比較部７００によってブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であるかどうか判断して、二つの値が同一であれば制御ユニット３００は中央処理装置をデバッギングモードへ進入させた後、データ通信部６００を通じてホストコンピュータからの命令に従って応用プログラムのテスト及びデバッギングを遂行する。
【００２６】
応用プログラムはデバッギングモード進入信号（ＯＳＩ）が活性化されてテスト及びデバッギングを遂行するための初期環境に中央処理装置を設定した後、ホストコンピュータから中央処理装置にダウンロードされたり、中央処理装置をテスト及びデバッギングを遂行するための初期環境に設定した後、比較部７００の判断結果ブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であれば中央処理装置をプログラムのテスト及びデバッギング状態へ進入させた後、ホストコンピュータから中央処理装置へダウンロードされることができる。
【００２７】
比較部７００の判断結果ブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であれば制御ユニット３００は応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ（ＰＣ）に保存された値と状態レジスタ（ＳＲ）に保存されたデータとを一時保存レジスタ（ＴＲ）やデバッギングスタックポインタ（ＩＳＰ）が指定するスタックメモリに保存し、プログラムカウンタ（ＰＣ）には応用プログラムをテスト及びデバッギングを行うためのデバッギングサービスプログラムを遂行するための開始アドレスを保存し、中央処理装置を応用プログラムのテスト及びデバッギングするための状態にあるように状態レジスタ（ＳＲ）のデータを変更する。
【００２８】
比較部７００に入力される中止データ（ＢＤ）はプログラムカウンタ（ＰＣ）に保存されたプログラム番地、データが保存されたメモリアドレス、入出力されるデータ、入出力されるアドレスであってもよく、マスクレジスタ（ＭＲ）を使用してプログラムカウンタに保存されたプログラム番地とマスクレジスタ（ＭＲ）に保存された値とを演算した結果、データが保存されたメモリアドレスとマスクレジスタ（ＭＲ）に保存された値とを演算した結果、入出力されるアドレスとマスクレジスタ（ＭＲ）に保存された値とを演算した結果、入出力されるデータとマスクレジスタ（ＭＲ）に保存された値とを演算した結果であってもよい。マスクレジスタ（ＭＲ）は検査しようとするデータの一部だけを比較しようとする時に、有用に用いられる。つまり、入出力されるデータのうち下位６ビットだけを検査しようとする場合、マスクレジスタ（ＭＲ）に１６進水で３Ｆという値を設定し、入出力されるデータとマスクレジスタ（ＭＲ）を論理積演算を遂行して中止データ（ＢＤ）の下位６ビットとブレーキレジスタ（ＢＲ）の下位６ビットとが同一であれば中央処理装置をデバッギングモードに切換えるようにすることができる。
【００２９】
図５に示すように、中央処理装置の初期化及び一般動作のための応用プログラム（ＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ４）、デバッギングモード進入信号（ＯＳＩ）の活性化によって中央処理装置を応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定せしめるデバッギングモード初期化プログラム（ＰＲＯＧ３）、及び比較部７００によって中央処理装置をプログラムのテスト及びデバッギング状態へ進入させて応用プログラムをテスト及びデバッギングするデバッギングサービスプログラム（ＰＲＯＧ５）は同一のメモリ８０に保存されたり、図６に示すように、デバッギングモード初期化プログラム（ＰＲＯＧ６）とデバッギングサービスプログラム（ＰＲＯＧ７）は他の独立されたメモリ９０に保存され得る。
【００３０】
図６に示すように、一般動作のための応用プログラム（ＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ４）を保存するメモリ８０と、デバッギングモード初期化プログラム（ＰＲＯＧ６）とデバッギングサービスプログラム（ＰＲＯＧ７）を保存するメモリ９０とを分離させ、メモリ９０を中央処理装置と共に集積化（ｉｎｔｅｇｒａｔｅｄ ｃｉｒｃｕｉｔ）することによって、中央処理装置の動作速度を速くすることができる。
【００３１】
または、図７に示すように、デバッギングモード初期化プログラム（ＰＲＯＧ６）及びデバッギングサービスプログラム（ＰＲＯＧ７）が保存される中央処理装置と共に集積化されるメモリ９０とは別途に、使用者が直接デバッギングモード初期化プログラム（ＰＲＯＧ３）及びデバッギングサービスプログラム（ＰＲＯＧ５）を作成して中央処理装置の初期化及び一般動作のための応用プログラム（ＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ４）が保存されたメモリ８０にデバッギングモード初期化プログラム（ＰＲＯＧ３）及びデバッギングサービスプログラム（ＰＲＯＧ５）を保存することもできる。
【００３２】
図５に示すように、中央処理装置の初期化及び一般動作のための応用プログラム（ＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ４）、デバッギングモード初期化プログラム（ＰＲＯＧ３）、及びデバッギングサービスプログラム（ＰＲＯＧ５）が全て同一のメモリ８０に保存されている場合の本発明の動作について詳細に説明する。
【００３３】
中央処理装置に電源が供給されるとリセット信号（ＲＥＳＥＴ）が活性化される。リセット信号（ＲＥＳＥＴ）によって制御ユニット３００は中央処理装置を初期化し、デバッギングモード進入信号（ＯＳＩ）の活性化の可否を判断する。デバッギングモード進入信号（ＯＳＩ）が非活性化されていると、図４の状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を非活性化させる。そして、制御ユニット３００はベクターテーブル８１から最初に遂行するプログラムが保存されたメモリ８０アドレスが保存されているリセットベクターを読み出して特殊レジスタファイル２００のプログラムカウンタ（ＰＣ）に保存する。制御ユニット３００はプログラムカウンタ（ＰＣ）に保存されたリセットベクターをメモリアドレスレジスタ４００へ移動させてアドレスバス（ＡＤＤＢ）に出力する。そして、メモリ読み出し信号を制御バス（ＣＯＮＴ）に出力して応用プログラム（ＰＲＯＧ１）が保存されたメモリ８０の内容を読み出すようになる。メモリから出力されたデータはデータバス（ＤＡＴＡＢ）及びメモリデータレジスタ５００を通じて内部バス（ＩＢ）を経由して制御ユニット３００に入るようになる。このように、制御ユニット３００に入った命令語は解析され、制御ユニット３００から必要な制御信号（ＣＯＮＴ）が出力されて該当命令語を遂行する。
【００３４】
リセットベクターによってデバッギングするための応用プログラム（ＰＲＯＧ１）を遂行するために中央処理装置が初期化され、デバッギングモード進入信号（ＯＳＩ）が非活性化されていると、中央処理装置はその応用プログラム（ＰＲＯＧ１）を遂行する。
【００３５】
もし、リセット信号（ＲＥＳＥＴ）によって中央処理装置が初期化され、制御ユニット３００に入力されるデバッギングモード進入信号（ＯＳＩ）が活性化されると、制御ユニット３００は状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を活性化させる。そして、制御ユニット３００はメモリ８０に保存されたデバッギングモード初期化プログラム（ＰＲＯＧ３）の開始アドレスであるデバッギングモード初期化ベクターを読み出してプログラムカウンタ（ＰＣ）に保存する。プログラムカウンタ（ＰＣ）に保存されたデバッギングモード初期化ベクターによってデバッギングモード初期化プログラム（ＰＲＯＧ３）を遂行した後、中央処理装置は応用プログラムのテスト及びデバッギングを遂行するための初期環境に設定される。
【００３６】
制御ユニット３００はホストコンピュータからの命令によって状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を非活性化させ、遂行する応用プログラムの命令語が保存されているアドレスをプログラムカウンタ（ＰＣ）に保存してデバッギングを行うための応用プログラムを実行する。応用プログラムの実行中に、比較部７００によって特殊レジスタファイル２００のブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であれば、中央処理装置は応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ（ＰＣ）に保存された応用プログラムのアドレス値と状態レジスタ（ＳＲ）に保存されたデータとを一時保存レジスタ（ＴＲ）１２００に保存し、プログラムカウンタ（ＰＣ）には応用プログラムをテスト及びデバッギングするためのデバッギングサービスプログラム（ＰＲＯＧ５）の開始アドレスであるデバッギングサービスベクターを保存し、応用プログラムをテスト及びデバッギングするのための状態にあるように中央処理装置の状態レジスタ（ＳＲ）値を変更する。つまり、状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を活性化させる。
【００３７】
比較部７００の判断結果ブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であれば、中央処理装置は応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ（ＰＣ）に保存された値と状態レジスタ（ＳＲ）に保存されたデータとを一時保存レジスタ（ＴＲ）に保存しなく、デバッギングスタックポインタ（ＩＳＰ）が指定するスタックメモリに保存することもできる。
【００３８】
中央処理装置は、プログラムのテスト及びデバッギング状態へ進入した後、メモリ８０に保存されたデバッギングサービスプログラム（ＰＲＯＧ５）によってホストコンピュータからの命令、例えば使用者が作成した応用プログラムのダウンロード、ダウンロードされた応用プログラムの実行、ブレーキレジスタ（ＢＲ）のデータ変更、汎用レジスタファイル１００及び特殊レジスタファイル２００のレジスタに保存されたデータの読み出し（ＲＥＡＤ）または書き込み（ＷＲＩＴＥ）、及びメモリに保存されたデータの読み出しまたは書き込みなどの命令を遂行する。このような命令を用いて使用者は応用プログラムが正しく作成されたかを判断して、誤って作成された場合これを修正する。
【００３９】
前記命令を遂行するためにデータ通信部６００を通じて中央処理装置とホストコンピュータ間の処理順序は、以下の通りである。ホストコンピュータからのダウンロード命令によって、使用者が作成したプログラムをデータ通信部６００を通じて伝送されて中央処理装置のメモリに保存した後、中央処理装置は成功的に受信されたという信号をホストコンピュータに送信する。もし、応用プログラムの伝送の途中にエラーが発生したとすると、中央処理装置はホストコンピュータに応用プログラムの再伝送を要求する。応用プログラムを中央処理装置に成功的にダウンロードした後、デバッギングのためにホストコンピュータは中央処理装置のブレーキレジスタ（ＢＲ）のデータ値を設定するためのブレーキレジスタ（ＢＲ）のデータ変更命令を下す。ブレーキレジスタ（ＢＲ）のデータ変更命令の後に、中央処理装置はホストコンピュータへ正常に受信されたという信号を送信する。ホストコンピュータは保存装置にダウンロードされた応用プログラムを実行させるために、応用プログラムの実行命令を中央処理装置に送信し、中央処理装置はこれに応答して応用プログラムを実行する。応用プログラムの実行中に、比較部７００の判断結果ブレーキレジスタ（ＢＲ）のデータ値と中止データであるプログラムカウンタ（ＰＣ）のデータ値とが同一であれば応用プログラムの実行中の動作を中止または完了し、プログラムカウンタ（ＰＣ）に保存された値と状態レジスタ（ＳＲ）に保存されたデータ及び汎用レジスタの内容を一時保存レジスタ（ＴＲ）またはデバッギングスタックポインタ（ＩＳＰ）が指定するスタックメモリに保存する。プログラムカウンタ（ＰＣ）には応用プログラムをテスト及びデバッギングするデバッギングサービスプログラム（ＰＲＯＧ５）の開始アドレスであるデバッギングサービスベクターを保存し、中央処理装置が応用プログラムをテスト及びデバッギングするための状態にあるように状態レジスタ（ＳＲ）のデータを変更する。つまり、状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を活性化させる。デバッギングサービスプログラム（ＰＲＯＧ５）によって中央処理装置は応用プログラムのテスト及びデバッギングを遂行するための状態へ進入する。中央処理装置がテスト及びデバッギングを遂行するためのデバッギングモードへ進入した後、ホストコンピュータからレジスタ読み出し命令を受信されると、一時保存レジスタ（ＴＲ）またはデバッギングスタックポインタ（ＩＳＰ）が指定するスタックに保存されたレジスタのデータをホストコンピュータへ伝送し、使用者は伝送されたデータを分析して正しい値が出力されたかを判断し、分析結果正しいデータではなければ応用プログラムが正しく作成されていないということであるので、応用プログラムを修正する。
【００４０】
上記のような方法を繰り返して応用プログラムを容易にデバッギングすることができる。リセット信号（ＲＥＳＥＴ）は中央処理装置に最初電圧印加の時に活性化されたり、リセットデータ比較部１０００によってデータ通信部６００を通じてホストコンピュータから入力されるデバッギングデータ（ＤＥＢ２）とリセットデータ保存部１１００に保存されたリセットデータとを比較して、同一であれば中央処理装置を初期化させる。これは、デバッギングする応用プログラムの遂行中に、中央処理装置が復旧が不可能な状態、例えば無限ループなどの状態にある場合中央処理装置を初期化させて問題を解決する。
【００４１】
応用プログラムが一定の時間以上引続いて実行される場合、つまり、応用プログラムが無限ループにある場合、データ通信部６００を通じて基準データ保存部９００に保存された基準データと同様なデバッギングデータ（ＤＥＢ１）を送信すれば、基準データ比較部８００は基準データ保存部９００に保存された基準データとデータ通信部６００を通じて受けたデバッギングデータ（ＤＥＢ１）とを比較して、同一であれば強制的に中央処理装置をプログラムのテスト及びデバッギング状態であるデバッギングサービスモードへ進入させ、無限ループから外れて無限ループが発生した部分の応用プログラムをデバッギングすることができる。
【００４２】
図７に示すように、デバッギングモード初期化プログラム（ＰＲＯＧ３、ＰＲＯＧ６）及びデバッギングサービスプログラム（ＰＲＯＧ５、ＰＲＯＧ７）は、中央処理装置を初期化及び動作させるためのサービスプログラムが保存されたメモリ８０とは別途のメモリ９０に同時に保存され得る。このために、制御ユニット３００の入力信号としてメモリ区分信号（ＯＳＩＲＯＭ）が必要である。つまり、リセット信号（ＲＥＳＥＴ）によって制御ユニット３００が中央処理装置を初期化させ、メモリ区分信号（ＯＳＩＲＯＭ）を検査して活性化されていると、プログラムカウンタ（ＰＣ）には応用プログラムのテスト及びデバッギングのためにメモリ９０に保存されたデバッギングモード初期化プログラム（ＰＲＯＧ６の開始アドレスであるデバッギングモード初期化ベクター２が保存されなければならない。そして、ブレーキレジスタ（ＢＲ）のデータ値と中止データとが同一である場合、比較部７００は二つの値が同一であることを制御ユニット３００に通知し、制御ユニット３００はメモリ９０に保存されたデバッギングサービスプログラム（ＰＲＯＧ７）の開始アドレスであるデバッギングサービスベクター２をプログラムカウンタ（ＰＣ）に保存する。
【００４３】
もし、メモリ区分信号（ＯＳＩＲＯＭ）が非活性化されると、デバッギングモード初期化ベクター１がデバッギングモード初期化プログラム（ＰＲＯＧ３）を遂行するための開始アドレスとなり、デバッギングサービスベクター１がデバッギングサービスプログラム（ＰＲＯＧ５）を遂行するための開始アドレスとなる。
【００４４】
上記のようにメモリを分離することによって、使用者は内蔵されているデバッギングモード初期化プログラム（ＰＲＯＧ６）及びデバッギングサービスプログラム（ＰＲＯＧ７）を使用せずに、使用者が作成したデバッギングモード初期化プログラム（ＰＲＯＧ３）及びデバッギングサービスプログラム（ＰＲＯＧ５）を用いて応用プログラムをテスト及びデバッギングすることができる。
【００４５】
また、本発明のプログラムのテスト及びデバッギングが容易な中央処理装置は、リセット信号（ＲＥＳＥＴ）による中央処理装置の初期化の後に、デバッギングモード進入信号（ＯＳＩ）により最初デバッギングモードに切換えられたり、または中央処理装置が応用プログラムを遂行する途中にホストコンピュータからデータ通信部６００を通じて基準データ保存部９００に保存された基準データと同様なデバッギングデータ（ＤＥＢ１）の入力によって、制御ユニット３００によって強制的に最初デバッギングモードに切換えられ、デバッギング初期化プログラムとデバッギングサービスプログラムからなるデバッギングプログラムが遂行されると、デバッギングプログラムによってホストコンピュータでブレーキレジスタ（ＢＲ）の値を設定することができる。設定されたブレーキレジスタ（ＢＲ）のデータはデータ通信部６００を通じてブレーキレジスタ（ＢＲ）に保存され、中央処理装置が応用プログラムの遂行中にブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であればデバッギングモード進入信号（ＯＳＩ）の活性化の可否に関わらず、常に中央処理装置をデバッギングモードへ進入するようにする。つまり、ブレーキレジスタ（ＢＲ）に保存された値（ＩＢＲ）と中止データ（ＢＤ）とが同一であれば制御ユニット３００は状態レジスタ（ＳＲ）のデバッギングモードフラグ（ＯＳＩＭ）を活性化させ、プログラムカウンタ（ＰＣ）にはデバッギングプログラムを遂行するための開始アドレスを積載して中央処理装置はデバッギングプログラムを遂行するようにしてデバッギングモードに切換えさせ、デバッギングプログラムによってデータ通信部６００を通じてホストコンピュータの命令、例えばデバッギングプログラムで使用するメモリの初期化、デバッギングスタックポインタの設定、基準データの設定や変更、中央処理装置を初期化させるためのリセットデータの設定や変更、ブレーキレジスタ（ＢＲ）値の変更、汎用レジスタファイル１００及び特殊レジスタファイル２００のレジスタに保存されたデータの読み出し（ＲＥＡＤ）または書き込み（ＷＲＩＴＥ）、及びメモリに保存されたデータの読み出しまたは書き込み記録などの命令を遂行し、応用プログラムが正しく作成されたかを判断して、誤って作成された場合これを修正する。
【図面の簡単な説明】
【００４６】
【図１】従来のインサーキットエミュレータを使用してプログラムのテスト及びデバッギングを行うためのブロック図。
【図２】従来の中央処理装置内に直列通信装置とバックグラウンドデバッギングモニタ部が内蔵されてプログラムのテスト及びデバッギングを行うためのブロック図。
【図３】本発明のプログラムのテスト及びデバッギングが容易な中央処理装置のブロック図。
【図４】本発明のプログラムのテスト及びデバッギングのための状態レジスタの構成図。
【図５】一般動作のための応用プログラム及びデバッギングプログラムが同一のメモリに保存された場合の、ベクター処理の動作図。
【図６】デバッギングプログラムが一般動作のための応用プログラムとは異なる他の独立されたメモリに保存された場合の、ベクター処理の動作図。
【図７】デバッギングプログラムが一般動作のための応用プログラムが保存されたメモリ及び他の独立されたメモリの全てに保存された場合の、ベクター処理の動作図。
【符号の説明】
【００４７】
１、１４：Ｉ／Ｏユニット
２、１５：メモリ
３：ＣＰＵモジュール
４、１０：対象システム
５：インサーキットエミュレータ
６、２０：ホストコンピュータ
１１：バックグラウンドデバッギングモニタ
１２：シリアル通信部
１３：中央処理装置
１００：汎用レジスタファイル
２００：特殊レジスタファイル
３００：制御ユニット
４００：メモリアドレスレジスタ
５００：メモリデータレジスタ
６００：データ通信部
７００：比較部
９００：基準データ保存部
８００：基準データ比較部
１１００：リセットデータ保存部
１０００：リセットデータ比較部
１２００：一時保存レジスタ
８０、９０：メモリ
８１：ベクターテーブル
【図１】
2006127553.tif 000003
【図２】
2006127553.tif 000004
【図３】
2006127553.tif 000005
【図４】
2006127553.tif 000006
【図５】
2006127553.tif 000007
【図６】
2006127553.tif 000008
【図７】
2006127553.tif 000009