(57)【要約】 【課題】  所定のプログラムから呼び出される呼び出し先プログラムの処理時間の計時を、簡単な作業で効率的に行うことを可能とするデータ処理方法を提供する。【解決手段】  処理回路は、パーソナルコンピュータ３からの制御、あるいは、図示しない再生装置の操作手段からの操作信号に基づいて、ＲＡＭに記憶された関数ＦＵＮＣの先頭命令コードを未定義コードＵに書き換える。処理回路は、関数ＦＵＮＣを呼び出し、それに伴い未定義割り込みプログラムＵＩ＿ＰＲＧおよびカウント終了プログラムＣＥ＿ＰＲＧが順に呼び出される。【選択図】  図４
2006048090.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムから呼び出され、処理回路に所定の処理を行わせた後に当該処理回路を前記所定のプログラム内の戻りアドレスの処理に復帰させる呼び出し先プログラムによる処理時間を計時するデータ処理方法であって、
前記呼び出し先プログラム内の先頭命令コードを、割り込み発生コードに書き換える第１の工程と、
前記処理回路が、前記第１の工程で書き換えられた前記割り込み発生コードを処理すると、計時開始プログラムを呼び出す第２の工程と、
前記処理回路が、前記第２の工程で呼び出した前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う第３の工程と、
前記処理回路が、前記第３の工程で復帰した前記呼び出し先プログラムの処理を終了すると、前記第３の工程で前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出す第４の工程と、
前記処理回路が、前記第４の工程で呼び出した前記計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記第３の工程で書き換えられる前の前記戻りアドレスに復帰する第５の工程と
を有するデータ処理方法。
【請求項２】
所定のプログラムから呼び出され、処理回路に所定の処理を行わせた後に当該処理回路を前記所定のプログラム内の戻りアドレスの処理に復帰させる呼び出し先プログラムによる処理時間を計時する処理をコンピュータに実行させるプログラムであって、
前記処理回路が前記呼び出し先プログラム内の先頭命令コードの代わりに割り込み発生コードを処理すると呼び出されるプログラムであって、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に前記処理回路に行わせる計時開始プログラムと、
前記処理回路が前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて呼び出されるプログラムであって、前記計時を終了する処理と、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する処理とを前記処理回路に行わせる計時終了プログラムと
を有するプログラム。
【請求項３】
処理中の所定のプログラムから呼び出し先プログラムを呼び出し、当該呼び出し先プログラムに従って所定の処理を行った後に前記所定のプログラム内の戻りアドレスの処理に復帰し、前記呼び出し先プログラムによる処理時間を計時するコンピュータであって、
前記所定のプログラム、前記呼び出し先プログラム、計時開始プログラムおよび計時終了プログラムを記憶するメモリと、
処理回路と
を有し、
前記処理回路は、
前記呼び出し先プログラム内の先頭命令コードの代わりに割り込み発生コードを処理すると前記計時開始プログラムを呼び出し、当該計時開始プログラムに従って、前記戻りアドレスを前記計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行い、
前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出し、当該計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する
コンピュータ。
【請求項４】
所定のプログラムから呼び出され、処理回路に所定の処理を行わせた後に当該処理回路を前記所定のプログラム内の戻りアドレスの処理に復帰させる呼び出し先プログラムによる処理時間を計時するデータ処理方法であって、
置換回路が、前記処理回路が処理を行う前記所定のプログラムおよび前記呼び出し先プログラムのアドレスを監視し、前記処理回路が前記呼び出し先プログラム内の先頭命令コードのアドレスを指定した場合に、前記先頭命令コードの代わりに割り込みコードを前記処理回路に出力する第１の工程と、
前記処理回路が、前記第１の工程で前記置換回路から入力した前記割り込み発生コードを処理すると、計時開始プログラムを呼び出す第２の工程と、
前記処理回路が、前記第２の工程で呼び出した前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う第３の工程と、
前記処理回路が、前記第３の工程で復帰した前記呼び出し先プログラムの処理を終了すると、前記第３の工程で前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出す第４の工程と、
前記処理回路が、前記第４の工程で呼び出した前記計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記第３の工程で書き換えられる前の前記戻りアドレスに復帰する第５の工程と
を有するデータ処理方法。
【請求項５】
処理中の所定のプログラムから呼び出し先プログラムを呼び出し、当該呼び出し先プログラムに従って所定の処理を行った後に前記所定のプログラム内の戻りアドレスの処理に復帰し、前記呼び出し先プログラムによる処理時間を計時するコンピュータであって、
前記所定のプログラム、前記呼び出し先プログラム、計時開始プログラムおよび計時終了プログラムを記憶するメモリと、
処理回路と、
前記処理回路が処理を行う前記所定のプログラムおよび前記呼び出し先プログラムのアドレスを監視し、前記処理回路が前記呼び出し先プログラム内の先頭命令コードのアドレスを指定した場合に、前記先頭命令コードの代わりに割り込みコードを前記処理回路に出力する置換回路と
を有し、
前記処理回路は、
前記呼び出し先プログラム内の先頭命令コードの代わりに前記置換回路から入力した前記割り込み発生コードを処理すると前記計時開始プログラムを呼び出し、当該計時開始プログラムに従って、前記戻りアドレスを前記計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行い、
前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出し、当該計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する
コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のプログラムから呼び出される呼び出し先プログラムの処理時間を計時するデータ処理方法、プログラムおよびコンピュータに関する。
【背景技術】
【０００２】
例えば、オーディオやイメージを再生する再生装置などのデータ処理装置には、その動作を統括して制御するマイクロコンピュータが組み込まれている。
このようなデータ処理装置の開発過程で、上記マイクロコンピュータが実行するメインプログラムの最適化が行われる。
このような最適化を行うために、メインプログラムが他の関数などの呼び出し先プログラムを呼び出して処理する場合に、その呼び出し先プログラムの処理時間を計時することがある。
従来では、例えば、メインプログラム内の上記呼び出しプログラムの呼び出し元にカウント開始コードを挿入すると共に、メインプログラム内の上記呼び出しプログラムの復帰先にカウント終了コードを挿入して、呼び出しプログラムの処理時間を計時している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来のデータ処理装置では、上述したように、１つの呼び出し先プログラムの処理時間を計時するために、カウント開始コードおよびカウント終了コードの少なくとも２つのコードをメインプログラム内に挿入する必要があり、計時対象とする呼び出し先プログラムの数が増えるに従って、開発者の負担が非常に大きくなるという問題がある。
【０００４】
本発明は、所定のプログラムから呼び出される呼び出し先プログラムの処理時間の計時を、簡単な作業で効率的に行うことを可能とするデータ処理方法、プログラムおよびコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第１の発明のデータ処理方法は、所定のプログラムから呼び出され、処理回路に所定の処理を行わせた後に当該処理回路を前記所定のプログラム内の戻りアドレスの処理に復帰させる呼び出し先プログラムによる処理時間を計時するデータ処理方法であって、前記呼び出し先プログラム内の先頭命令コードを、割り込み発生コードに書き換える第１の工程と、前記処理回路が、前記第１の工程で書き換えられた前記割り込み発生コードを処理すると、計時開始プログラムを呼び出す第２の工程と、前記処理回路が、前記第２の工程で呼び出した前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う第３の工程と、前記処理回路が、前記第３の工程で復帰した前記呼び出し先プログラムの処理を終了すると、前記第３の工程で前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出す第４の工程と、前記処理回路が、前記第４の工程で呼び出した前記計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記第３の工程で書き換えられる前の前記戻りアドレスに復帰する第５の工程とを有する。
【０００６】
第１の発明のデータ処理方法の作用は以下のようになる。
先ず、第１の工程において、呼び出し先プログラム内の先頭命令コードを、割り込み発生コードに書き換える。
次に、第２の工程において、前記処理回路が、前記第１の工程で書き換えられた前記割り込み発生コードを処理すると、計時開始プログラムを呼び出す。
次に、第３の工程において、前記処理回路が、前記第２の工程で呼び出した前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う。
次に、第４の工程において、前記処理回路が、前記第３の工程で復帰した前記呼び出し先プログラムの処理を終了すると、前記第３の工程で前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出す。
次に、第５の工程において、前記処理回路が、前記第４の工程で呼び出した前記計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記第３の工程で書き換えられる前の前記戻りアドレスに復帰する。
【０００７】
第２の発明のプログラムは、所定のプログラムから呼び出され、処理回路に所定の処理を行わせた後に当該処理回路を前記所定のプログラム内の戻りアドレスの処理に復帰させる呼び出し先プログラムによる処理時間を計時する処理をコンピュータに実行させるプログラムであって、前記処理回路が前記呼び出し先プログラム内の先頭命令コードの代わりに割り込み発生コードを処理すると呼び出されるプログラムであって、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に前記処理回路に行わせる計時開始プログラムと、前記処理回路が前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて呼び出されるプログラムであって、前記計時を終了する処理と、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する処理とを前記処理回路に行わせる計時終了プログラムとを有する。
【０００８】
第２の発明のプログラムの作用は以下のようになる。
処理回路が呼び出し先プログラム内の先頭命令コードの代わりに割り込み発生コードを処理すると計時開始プログラムが呼び出される。
そして、前記処理回路は、前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う。
そして、前記処理回路が、前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて計時終了プログラムを呼び出す。
そして、前記処理回路が、前記計時終了プログラムに従って、前記計時を終了する処理と、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する処理とを行う。
【０００９】
第３の発明のコンピュータは、処理中の所定のプログラムから呼び出し先プログラムを呼び出し、当該呼び出し先プログラムに従って所定の処理を行った後に前記所定のプログラム内の戻りアドレスの処理に復帰し、前記呼び出し先プログラムによる処理時間を計時するコンピュータであって、前記所定のプログラム、前記呼び出し先プログラム、計時開始プログラムおよび計時終了プログラムを記憶するメモリと、処理回路とを有し、前記処理回路は、前記呼び出し先プログラム内の先頭命令コードの代わりに割り込み発生コードを処理すると前記計時開始プログラムを呼び出し、当該計時開始プログラムに従って、前記戻りアドレスを前記計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行い、前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出し、当該計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する。
【００１０】
第４の発明のデータ処理方法は、所定のプログラムから呼び出され、処理回路に所定の処理を行わせた後に当該処理回路を前記所定のプログラム内の戻りアドレスの処理に復帰させる呼び出し先プログラムによる処理時間を計時するデータ処理方法であって、置換回路が、前記処理回路が処理を行う前記所定のプログラムおよび前記呼び出し先プログラムのアドレスを監視し、前記処理回路が前記呼び出し先プログラム内の先頭命令コードのアドレスを指定した場合に、前記先頭命令コードの代わりに割り込みコードを前記処理回路に出力する第１の工程と、前記処理回路が、前記第１の工程で前記置換回路から入力した前記割り込み発生コードを処理すると、計時開始プログラムを呼び出す第２の工程と、前記処理回路が、前記第２の工程で呼び出した前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う第３の工程と、前記処理回路が、前記第３の工程で復帰した前記呼び出し先プログラムの処理を終了すると、前記第３の工程で前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出す第４の工程と、前記処理回路が、前記第４の工程で呼び出した前記計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記第３の工程で書き換えられる前の前記戻りアドレスに復帰する第５の工程とを有する。
【００１１】
第４の発明のデータ処理方法の作用は以下のようになる。
先ず、第１の工程において、置換回路が、前記処理回路が処理を行う前記所定のプログラムおよび前記呼び出し先プログラムのアドレスを監視し、前記処理回路が前記呼び出し先プログラム内の先頭命令コードのアドレスを指定した場合に、前記先頭命令コードの代わりに割り込みコードを前記処理回路に出力する。
次に、第２の工程において、前記処理回路が、前記第１の工程で前記置換回路から入力した前記割り込み発生コードを処理すると、計時開始プログラムを呼び出す。
次に、第３の工程において、前記処理回路が、前記第２の工程で呼び出した前記計時開始プログラムに従って、前記戻りアドレスを計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行う。
次に、第４の工程において、前記処理回路が、前記第３の工程で復帰した前記呼び出し先プログラムの処理を終了すると、前記第３の工程で前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出す。
次に、第５の工程において、前記処理回路が、前記第４の工程で呼び出した前記計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記第３の工程で書き換えられる前の前記戻りアドレスに復帰する。
【００１２】
第５の発明のコンピュータは、処理中の所定のプログラムから呼び出し先プログラムを呼び出し、当該呼び出し先プログラムに従って所定の処理を行った後に前記所定のプログラム内の戻りアドレスの処理に復帰し、前記呼び出し先プログラムによる処理時間を計時するコンピュータであって、前記所定のプログラム、前記呼び出し先プログラム、計時開始プログラムおよび計時終了プログラムを記憶するメモリと、処理回路と、前記処理回路が処理を行う前記所定のプログラムおよび前記呼び出し先プログラムのアドレスを監視し、前記処理回路が前記呼び出し先プログラム内の先頭命令コードのアドレスを指定した場合に、前記先頭命令コードの代わりに割り込みコードを前記処理回路に出力する置換回路とを有し、前記処理回路は、前記呼び出し先プログラム内の先頭命令コードの代わりに前記置換回路から入力した前記割り込み発生コードを処理すると前記計時開始プログラムを呼び出し、当該計時開始プログラムに従って、前記戻りアドレスを前記計時終了プログラムのアドレスに書き換える処理と、計時の開始処理と、前記呼び出し先プログラム内の前記先頭命令コードの処理と、前記呼び出し先プログラム内の前記先頭命令コードの次のコードに復帰する処理とを順に行い、前記計時開始プログラムに基づいて復帰した前記呼び出し先プログラムの処理を終了すると、前記計時開始プログラムで前記書き換えられた前記戻りアドレスに基づいて前記計時終了プログラムを呼び出し、当該計時終了プログラムに従って、前記計時を終了し、前記所定のプログラム内の前記計時開始プログラムによって書き換えられる前の前記戻りアドレスに復帰する。
【発明の効果】
【００１３】
本発明によれば、所定のプログラムから呼び出される呼び出し先プログラムの処理時間の計時を、簡単な作業で効率的に行うことを可能とするデータ処理方法、プログラムおよびコンピュータを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態に係わる再生装置について説明する。
以下の実施形態において、第１実施形態は第１〜第３の発明に対応した実施形態であり、第２実施形態は第２、第４および第５の発明に対応した実施形態である。
【００１５】
＜第１実施形態＞
本実施形態では、パーソナルコンピュータ３による処理時間の測定対象となる関数のコード（プログラム）が書き換え可能なＲＡＭに記憶されている場合を説明する。
先ず、本実施形態の構成と、第１〜第３の発明の構成との対応関係を説明する。
再生装置１が本発明のコンピュータに対応し、処理回路３３が本発明の処理回路に対応している。
また、ＲＡＭ２２が、本発明のメモリに対応している。
また、メインプログラムＭ＿ＰＲＧが本発明の所定のプログラム、関数ＦＵＮＣが本発明の呼び出し先プログラム、未定義割り込みプログラムＵＩ＿ＰＲＧが本発明の計時開始プログラム、カウント終了プログラムＣＥ＿ＰＲＧが本発明の計時終了プログラムにそれぞれ対応している。
また、本実施形態の未定義コードＵが本発明の割り込み発生コードに対応している。
また、図２および図３に示す先頭命令コードＣＯＭＤ１が本発明の先頭命令コードに対応している。
また、図５に示すステップＳＴ１が第１の発明の第１の工程に対応し、図６に示すステップＳＴ１２が第１の発明の第２の工程に対応し、図６に示すステップＳＴ１４，ＳＴ１５が第１の発明の第３の工程に対応し、図６に示すステップＳＴ１６が第１の発明の第４の工程に対応し、図６に示すステップＳＴ１７が第１の発明の第５の工程に対応している。
【００１６】
以下、本発明の実施形態に係わる再生装置について説明する。
図１は、本発明の第１実施形態の再生装置１の構成図である。
図１に示すように、再生装置１は、例えば、インタフェース１２、読み出し部１４、再生回路１６、バッファメモリ１８、ＲＯＭ(Read Only Memory)２０、ＲＡＭ(Random Access Memory)２２、ＣＰＵ(Central Processing Unit) ２４および出力部２６を有する。
インタフェース１２、読み出し部１４、再生回路１６、バッファメモリ１８、ＲＯＭ２０、ＲＡＭ２２、ＣＰＵ２４および出力部２６は、例えば、バス１０を介して接続され、バス１０を介してデータおよび信号の入出力を行う。
なお、図１に示す構成およびその接続は、一例であり、以下に示す機能が再生装置１において実現されれば、その他の構成および接続を用いてもよい。
【００１７】
インタフェース１２は、再生装置１の外部のパーソナルコンピュータ（ＰＣ）３とデータ入力を行う。
読み出し部１４は、例えば、オーディオデータあるいはイメージデータなどのコンテンツデータを記録媒体５から読み出し、バッファメモリ１８に書き込む。
記録媒体５から読み出されるコンテンツデータは、符号化（圧縮）されている。
再生回路１６は、バッファメモリ１８から読み出したコンテンツデータを復号（伸張）して出力部２６に出力する。出力部２６は、スピーカやディスプレイである。
ＲＯＭ２０は、ＣＰＵ２４によって読み込まれるブ−トプログラムなどの所定のプログラムを記憶している。
ＲＡＭ２２は、メインプログラムＭ＿ＰＲＧ、関数ＦＵＮＣ（プログラム）、未定義割り込みプログラムＵＩ＿ＰＲＧ、カウント終了プログラムＣＥ＿ＰＲＧ、並びにＣＰＵ２４の処理に用いられるデータＤＡＴＡを記憶している。
【００１８】
図１に示すようにＣＰＵ２４は、例えば、タイマ３１、レジスタ３２および処理回路３３を有する。
処理回路３３は、ＲＡＭ２２に記憶された図２に示すメインプログラムＭ＿ＰＲＧのコードを順に読み出して処理し、メインプログラムＭ＿ＰＲＧに従って、再生装置１の処理を統括的に制御する。
メインプログラムＭ＿ＰＲＧは、図２に示すように、関数ＦＵＮＣを呼び出す。
処理回路３３は、図３に示すように、パーソナルコンピュータ３からの制御、あるいは、図示しない再生装置１の操作手段からの操作信号に基づいて、ＲＡＭ２２に記憶された関数ＦＵＮＣの先頭命令コードを未定義コードＵに書き換える。
図３に示す例では、パーソナルコンピュータ３が、プログラムＰＣＡＰ＿ＰＲＧを実行して、その書換コードＷＲＣに基づいて上記書き換えを行う。
【００１９】
処理回路３３は、図４に示すように、メインプログラムＭ＿ＰＲＧを実行中に関数ＦＵＮＣを呼び出し、関数ＦＵＮＣの先頭に位置する未定義コードＵを処理して、未定義割り込みプログラムＵＩ＿ＰＲＧを起動する。
処理回路３３は、未定義割り込みプログラムＵＩ＿ＰＲＧに従って、後述するように、関数ＦＵＮＣの戻りアドレスＲ＿ＡＤＲをカウント終了プログラムＣＥ＿ＰＲＧのアドレス「Ｃ」に書き換え、タイマ３１によるカウントを開始し、上記先頭命令コードを処理し、その後、関数ＦＵＮＣ内の先頭命令コードの次の命令コードの処理に復帰する。
処理回路３３は、関数ＦＵＮＣの処理を終了すると、上記書き換えられた戻りアドレス「Ｃ」に基づいて、カウント終了プログラムＣＥ＿ＰＲＧの処理に移行する。
処理回路３３は、カウント終了プログラムＣＥ＿ＰＲＧに従って、タイマ３１によるカウントを終了した後、メインプログラムＭ＿ＰＲＧ内の関数ＦＵＮＣの呼び出しコードの次のアドレス「Ａ＋１」のコードに復帰する。
なお、ＲＡＭ２２からＣＰＵ２４へのコードの読み出しは、バス１０を介して直接行ってもよいし、図示しないＳＤＲＡＭ(Synchronous DRAM)などを介して行ってもよい。
【００２０】
以下、上述したメインプログラムＭ＿ＰＲＧ、関数ＦＵＮＣ、未定義割り込みプログラムＵＩ＿ＰＲＧ、並びにカウント終了プログラムＣＥ＿ＰＲＧについて説明する。
図２および図４に示すように、メインプログラムＭ＿ＰＲＧは、戻りアドレス設定コード「Ｒ＿ＡＤＲ＝Ａ＋１」および関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」を順に含んでいる。
戻りアドレス設定コード「Ｒ＿ＡＤＲ＝Ａ＋１」は、関数ＦＵＮＣの戻りアドレスＲ＿ＡＤＲとして、関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」のアドレス「Ａ」の次のアドレス「Ａ＋１」を設定することを示している。
関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」は、関数ＦＵＮＣを呼び出すことを示している。
【００２１】
図２に示すように、関数ＦＵＮＣは、先頭命令コードＣＯＭＤ１と、復帰コードＲＥＴＵＲＮ（Ｒ＿ＡＤＲ）とを順に含んでいる。
先頭命令コードＣＯＭＤ１と復帰コードＲＥＴＵＲＮ（Ｒ＿ＡＤＲ）との間には、関数ＦＵＮＣの機能に係わる種々のコードが含まれている。
【００２２】
先頭命令コードＣＯＭＤ１は、図３に示すように、パーソナルコンピュータ３からの制御、あるいは、図示しない再生装置１の操作手段からの操作信号に基づいて、未定義コードＵに書き換られる。
復帰コードＲＥＴＵＲＮ（Ｒ＿ＡＤＲ）は、関数ＦＵＮＣの処理を終了後に、メインプログラムＭ＿ＰＲＧ内の戻りアドレスＲ＿ＡＤＲに復帰することを示している。
【００２３】
図４に示すように、未定義割り込みプログラムＵＩ＿ＰＲＧは、例えば、変数代入コード「ＶＡＲ＿Ｘ＝Ｒ＿ＡＤＲ」、戻りアドレス設定コード「Ｒ＿ＡＤＲ＝Ｃ」、カウント開始コード「ＳＴＡＲＴ＿ＣＯＵＮＴ」、先頭命令コードＣＯＭＤ１、並びに復帰コード（ＲＥＴＵＲＮ（Ｂ＋１）」を含んでいる。
変数代入コード「ＶＡＲ＿Ｘ＝Ｒ＿ＡＤＲ」は、関数ＦＵＮＣ内の復帰コードＲＥＴＵＲＮ（Ｒ＿ＡＤＲ）が示す戻りアドレスＲ＿ＡＤＲを変数ＶＡＲ＿Ｘに設定することを示している。図４に示す例では、変数代入コード「ＶＡＲ＿Ｘ＝Ｒ＿ＡＤＲ」は、メインプログラムＭ＿ＰＲＧ内のアドレス「Ａ＋１」を変数ＶＡＲ＿Ｘに設定する。
戻りアドレス設定コード「Ｒ＿ＡＤＲ＝Ｃ」は、関数ＦＵＮＣ内の復帰コードＲＥＴＵＲＮ（Ｒ＿ＡＤＲ）が示す戻りアドレスＲ＿ＡＤＲに、カウント終了プログラムＣＥ＿ＰＲＧのアドレス「Ｃ」を設定することを示している。
カウント開始コード「ＳＴＡＲＴ＿ＣＯＵＮＴ」は、タイマ３１によるカウントを開始することを示している。
先頭命令コードＣＯＭＤ１は、図３に示す関数ＦＵＮＣの書き換えられる前の先頭命令コードＣＯＭＤ１である。
復帰コード（ＲＥＴＵＲＮ（Ｂ＋１）」は、図３に示す関数ＦＵＮＣのアドレス「Ｂ」の先頭命令コードＣＯＭＤ１の次のアドレス「Ｂ＋１」にあるコードに復帰することを示している。
【００２４】
カウント終了プログラムＣＥ＿ＰＲＧは、カウント終了コード「ＥＮＤ＿ＣＯＵＴ」および復帰コード「ＲＥＴＵＲＮ（ＶＡＲ＿Ｘ）」を順に含んでいる。
カウント終了コード「ＥＮＤ＿ＣＯＵＴ」は、タイマ３１によるカウントを終了することを示している。
復帰コード「ＲＥＴＵＲＮ（ＶＡＲ＿Ｘ）」は、変数ＶＡＲ＿Ｘに格納したアドレス、すなわち、メインプログラムＭ＿ＰＲＧ内のアドレス「Ａ＋１」のコードに復帰することを示している。
【００２５】
以下、再生装置１における関数ＦＵＮＣの処理時間計測に係わるの動作例を説明する。
図５は、当該動作例を説明するためのフローチャートである。
ステップＳＴ１：
図１に示す再生装置１のＣＰＵ２４の処理回路３３は、図３に示すように、パーソナルコンピュータ３からの制御、あるいは、図示しない再生装置１の操作手段からの操作信号に基づいて、ＲＡＭ２２に記憶された関数ＦＵＮＣの先頭命令コードを未定義コードＵに書き換える。
図３に示す例では、パーソナルコンピュータ３が、プログラムＰＣＡＰ＿ＰＲＧを実行して、その書換コードＷＲＣに基づいて上記書き換えを行う。
【００２６】
ステップＳＴ２：
処理回路３３は、図４に示すメインプログラムＭ＿ＰＲＧを実行する。
この過程で、処理回路３３は、図４に示す関数ＦＵＮＣを呼び出し、それに伴い未定義割り込みプログラムＵＩ＿ＰＲＧおよびカウント終了プログラムＣＥ＿ＰＲＧが順に呼び出される。
これにより、処理回路３３において関数ＦＵＮＣの処理が開始されるとタイマ３１のカウントが開始され、処理回路３３において関数ＦＵＮＣの処理が終了するとタイマ３１のカウントが終了する。
タイマ３１のカウント値は、例えば、図１に示すレジスタ３２あるいはＲＡＭ２２に書き込まれる。
当該ステップＳＴ２の処理について後に詳細に説明する。
【００２７】
ステップＳＴ３：
パーソナルコンピュータ３は、インタフェース１２を介して、上記カウント値を読み出す。
【００２８】
以下、図５に示すステップＳＴ２の処理について詳細に説明する。
図６は、図５に示すステップＳＴ２の処理を説明するためのフローチャートである。
ステップＳＴ１１：
処理回路３３は、ＲＡＭ２２に記憶された図２に示すメインプログラムＭ＿ＰＲＧのコードを順に読み出す。
ステップＳＴ１２：
処理回路３３は、ステップＳＴ１１で読み出したコードが関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」であるか否かを判断し、関数呼び出しコードであると判断するとステップＳＴ１４に進み、そうでない場合にはステップＳＴ１３に進む。
処理回路３３は、ステップＳＴ１４に進む前に、図４に示す戻りアドレス設定コード「Ｒ＿ＡＤＲ＝Ａ＋１」を処理し、関数ＦＵＮＣの戻りアドレスＲ＿ＡＤＲとして、関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」のアドレス「Ａ」の次のアドレス「Ａ＋１」を設定する。
【００２９】
ステップＳＴ１３：
処理回路３３は、ステップＳＴ１１で読み出したコードの処理を行う。
ステップＳＴ１４：
処理回路３３は、関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」を処理し、関数ＦＵＮＣの図５に示すステップＳＴ１で書き換えられた未定義コードＵを処理する。
これにより、処理回路３３は、未定義割り込みプログラムＵＩ＿ＰＲＧを実行する。
処理回路３３は、図４に示す未定義割り込みプログラムＵＩ＿ＰＲＧ内の変数代入コード「ＶＡＲ＿Ｘ＝Ｒ＿ＡＤＲ」を処理して、変数ＶＡＲ＿Ｘに関数ＦＵＮＣの戻りアドレスであるアドレス「Ａ＋１」を設定する。
次に、処理回路３３は、戻りアドレス設定コード「Ｒ＿ＡＤＲ＝Ｃ」を処理して、戻りアドレスＲ＿ＡＤＲに、カウント終了プログラムＣＥ＿ＰＲＧのアドレス「Ｃ」を設定する。
次に、処理回路３３は、カウント開始コード「ＳＴＡＲＴ＿ＣＯＵＮＴ」を処理して、タイマ３１によるカウントを開始する。タイマ３１のカウント値は、所定のレジスタ３２、あるいはＲＡＭ２２に格納（記憶）される。
次に、処理回路３３は、先頭命令コード「ＣＯＭＤ１」を処理して、関数ＦＵＮＣの先頭命令コードを処理する。
【００３０】
ステップＳＴ１５：
処理回路３３は、復帰コード「ＲＥＴＵＲＮ（Ｂ＋１）」を処理して、関数ＦＵＮＣの先頭命令コードの次のアドレス「Ｂ＋１」のコードに復帰する。
その後、処理回路３３は、関数ＦＵＮＣの残りのコードを処理する。
ステップＳＴ１６：
処理回路３３は、関数ＦＵＮＣの復帰コード「ＲＥＴＵＲＮ（Ｒ＿ＡＤＲ）」を処理し、未定義割り込みプログラムＵＩ＿ＰＲＧ内の戻りアドレス設定コードで設定された戻りアドレス「Ｃ」に基づいて、カウント終了プログラムＣＥ＿ＰＲＧの処理を実行する。
これにより、処理回路３３は、カウント終了プログラムＣＥ＿ＰＲＧ内のカウント終了コード「ＥＮＤ＿ＣＯＵＮＴ」を処理して、タイマ３１によるカウントを終了させる。
ステップＳＴ１７：
処理回路３３は、カウント終了プログラムＣＥ＿ＰＲＧ内の復帰コード「ＲＥＴＵＲＮ（ＶＡＲ＿Ｘ）」に従って、メインプログラムＭ＿ＰＲＧ内の関数呼び出しコード「ＣＡＬＬ（ＦＵＮＣ）」の次のアドレス「Ａ＋１」のコードの処理に復帰する。
【００３１】
以上説明したように、再生装置１では、関数ＦＵＮＣの先頭命令コードを未定義コードＵに書き換え、メインプログラムＭ＿ＰＲＧの処理の過程で未定義割り込みプログラムＵＩ＿ＰＲＧおよびカウント終了プログラムＣＥ＿ＰＲＧを自動的に起動することで、関数ＦＵＮＣの処理開始タイミングでタイマ３１によるカウントを開始し、関数ＦＵＮＣの処理終了タイミングでタイマ３１によるカウントを終了させることができる。
これにより、再生装置１では、レジスタ３２あるいはＲＡＭ２２に記憶されたタイマ３１のカウント値をパーソナルコンピュータ３に読み出させることで、関数ＦＵＮＣの処理時間をメインプログラムＭ＿ＰＲＧおよび関数ＦＵＮＣの設計者に取得させることできる。当該設計者は、当該処理時間を基に、メインプログラムＭ＿ＰＲＧおよび関数ＦＵＮＣの最適化を行うことができる。
すなわち、再生装置１では、関数ＦＵＮＣの先頭命令コードを未定義コードＵに書き換えるだけで、関数ＦＵＮＣの処理時間を自動的に計測でき、設計者の負担を従来に比べて軽減できる。
【００３２】
＜第２実施形態＞
本実施形態では、第１実施形態で説明した関数ＦＵＮＣがＲＯＭに記憶されている場合を説明する。
先ず、本実施形態の構成と、第２，第４および第５の発明の構成との対応関係を説明する。
再生装置１０１が本発明のコンピュータに対応し、処理回路１３３が本発明の処理回路に対応している。
また、置換回路６０が本発明の置換回路に対応している。
また、ＲＯＭ１２０が本発明のメモリに対応している。
また、メインプログラムＭ＿ＰＲＧが本発明の所定のプログラム、関数ＦＵＮＣが本発明の呼び出し先プログラム、未定義割り込みプログラムＵＩ＿ＰＲＧが本発明の計時開始プログラム、カウント終了プログラムＣＥ＿ＰＲＧが本発明の計時終了プログラムにそれぞれ対応している。
また、本実施形態の未定義コードＵが本発明の割り込み発生コードに対応している。
また、図２および図３に示す先頭命令コードＣＯＭＤ１が本発明の先頭命令コードに対応している。
【００３３】
以下、本実施形態の再生装置について説明する。
図７は、本発明の第２実施形態の再生装置１０１の構成図である。
図７に示すように、再生装置１０１は、例えば、インタフェース１２、読み出し部１４、再生回路１６、バッファメモリ１８、ＲＯＭ１２０、ＲＡＭ１２２、ＣＰＵ１２４、出力部２６、置換回路６０およびスイッチ６１を有する。
インタフェース１２、読み出し部１４、再生回路１６、バッファメモリ１８、ＲＡＭ１２２、ＣＰＵ１２４、出力部２６およびスイッチ６１は、バス１０を介して接続されている。
なお、再生装置１０１の構成およびその接続形態は、以下に示す機能を実現するものであれば、特に限定されない。
【００３４】
図７において、図１と同じ符号を付したインタフェース１２、読み出し部１４、再生回路１６、バッファメモリ１８および出力部２６は、第１実施形態で説明したものと同じである。
再生装置１０１は、メインプログラムＭ＿ＰＲＧ内のコードのうち、未定義割り込みを発生させる未定義コードＵに置き換えるコードのアドレスを置換回路６０に設定する。
置換回路６０は、処理回路１３３が処理対象のアドレスとしてバス１０に出力するアドレスを監視し、上記設定されたアドレスと一致すると、スイッチ６１を切り換えて、未定義コードＵを処理回路１３３に出力する。
【００３５】
図７に示すように、再生装置１０１では、メインプログラムＭ＿ＰＲＧ、関数ＦＵＮＣ、未定義割り込みプログラムＵＩ＿ＰＲＧ１およびカウント終了プログラムＣＥ＿ＰＲＧがＲＯＭ１２０に記憶されている。
これらのプログラムは、第１実施形態で説明したものと同じである。
【００３６】
置換回路６０は、例えば、未定義コードＵ、並びに当該未定義コードＵに置き換えるメインプログラムＭ＿ＰＲＧ内のコードのアドレスを記憶する。
本実施形態では、置換回路６０は、第１実施形態で説明した図４に示す関数ＦＵＮＣ内の先頭のアドレス「Ｂ」を記憶する。当該アドレス「Ｂ」は、パーソナルコンピュータ３からの制御、あるいは、図示しない再生装置１の操作手段からの操作信号に基づいて、置換回路６０に設定される。
また、置換回路６０は、処理回路１３３がメインプログラムＭ＿ＰＲＧに従って処理を行っている過程で、処理回路１３３がバス１０上に出力した処理対象のコードのアドレスを監視する。
置換回路６０は、上記監視において、上記処理対象のコードのアドレスと自らに設定されたアドレスとが一致したことを検出すると、未定義コードＵを、スイッチ６１およびバス１０を介して処理回路１３３に出力する。
一方、置換回路６０は、上記処理対象のコードのアドレスと自らに設定されたアドレスとが不一致であることを検出すると、ＲＯＭ１２０に記憶されたメインプログラムＭ＿ＰＲＧ内の上記アドレスに対応したコードを、スイッチ６１およびバス１０を介して処理回路１３３に出力させる。
【００３７】
スイッチ６１は、置換回路６０からの切り換え信号に基づいて、置換回路６０からの未定義コードＵと、ＲＯＭ１２０からのコードとのうち一方を選択して、バス１０を介して処理回路１３３に出力する。
【００３８】
以下、図７に示す再生装置１０１における関数ＦＵＮＣの処理時間計測に係わるの動作例を説明する。
図８は、当該動作例を説明するためのフローチャートである。
ステップＳＴ３１：
図７に示す再生装置１０１のＣＰＵ１２４の処理回路１３３は、パーソナルコンピュータ３からの制御、あるいは、図示しない再生装置１の操作手段からの操作信号に基づいて、置換回路６０に図４に示す関数ＦＵＮＣ内の先頭のアドレス「Ｂ」を設定する。
【００３９】
ステップＳＴ３２：
処理回路１３３は、図４に示すメインプログラムＭ＿ＰＲＧを実行する。
この過程で、処理回路１３３は、メインプログラムＭ＿ＰＲＧおよび関数ＦＵＮＣ内の次に処理するコードのアドレスをバス１０に出力する。
置換回路６０は、処理回路１３３がバス１０上に出力した処理対象のコードのアドレスを監視し、アドレス「Ｂ」を検出すると、未定義コードＵを、スイッチ６１およびバス１０を介して処理回路１３３に出力する。
これにより、処理回路１３３が未定義割り込みプログラムＵＩ＿ＰＲＧを呼び出し、その後は第１実施形態で説明した未定義割り込みプログラムＵＩ＿ＰＲＧおよびカウント終了プログラムＣＥ＿ＰＲＧの処理を行う。
【００４０】
ステップＳＴ３３：
パーソナルコンピュータ３は、第１実施形態と同様に、インタフェース１２を介して、タイマ３１のカウント値を読み出す。
なお、本実施形態においても、図６に示す処理は同様に適用される。
【００４１】
以上説明したように、再生装置１０１では、置換回路６０が処理回路１３３による読み出し対象となるアドレスが、関数ＦＵＮＣの先頭命令コードのアドレス「Ｂ」と一致したことを検出すると、未定義コードＵを処理回路１３３に出力する。
これにより、関数ＦＵＮＣが書き換え困難なＲＯＭ１２０に記憶されている場合でも、関数ＦＵＮＣの処理が開始されると、未定義割り込みプログラムＵＩ＿ＰＲＧを自動的に呼び出すことができる。
すなわち、設計者は、置換回路６０に関数ＦＵＮＣの先頭命令コードのアドレス「Ｂ」を設定すればよい。
その結果、再生装置１０１によっても、第１実施形態の再生装置１と同様の効果を達成できる。
【００４２】
本発明は上述した実施形態には限定されない。
例えば、述した実施形態では、本発明の割り込み発生コードとして未定義割り込みを例示したが、それ以外の所定のコードであってもよい。
また、本発明は、上述した再生装置以外のコンピュータについても同様に適用可能である。
【産業上の利用可能性】
【００４３】
本発明は、所定のプログラムから呼び出される呼び出し先プログラムの処理時間を計時するシステムに適用可能である。
【図面の簡単な説明】
【００４４】
【図１】図１は、本発明の第１実施形態の再生装置の構成図である。
【図２】図２は、図１に示す処理回路で処理されるメインプログラムＭ＿ＰＲＧおよび関数ＦＵＮＣを説明するための図である。
【図３】図３は、関数ＦＵＮＣの先頭命令コードを書き換える処理を説明するための図である。
【図４】図４は、図１に示す処理回路で処理される未定義割り込みプログラムＵＩ＿ＰＲＧおよびカウント終了プログラムＣＥ＿ＰＲＧを説明するための図である。
【図５】図５は、図１に示す再生装置における関数ＦＵＮＣの処理時間計測に係わるの動作例を説明するためのフローチャートである。
【図６】図６は、図５に示すステップＳＴ２の処理を説明するためのフローチャートである。
【図７】図７は、本発明の第２実施形態の再生装置の構成図である。
【図８】図８は、図７に示す再生装置における関数ＦＵＮＣの処理時間計測に係わるの動作例を説明するためのフローチャートである。
【符号の説明】
【００４５】
１…再生装置、３…パーソナルコンピュータ、１２…インタフェース、１４…読み出し部、１６…再生回路、１８…バッファメモリ、２０…ＲＯＭ、２２，１２２…ＲＡＭ、２４，１２４…ＣＰＵ、３１…タイマ、３２…レジスタ、３３，１３３…処理回路、Ｍ＿ＰＲＧ…メインプログラム、ＵＩ＿ＰＲＧ…未定義割り込みプログラム、ＣＥ＿ＰＲＧ…カウント終了プログラム、ＰＣＡＰ＿ＰＲＧ…プログラム、６０…置換回路、６１…スイッチ
【図１】
2006048090.tif 000003
【図２】
2006048090.tif 000004
【図３】
2006048090.tif 000005
【図４】
2006048090.tif 000006
【図５】
2006048090.tif 000007
【図６】
2006048090.tif 000008
【図７】
2006048090.tif 000009
【図８】
2006048090.tif 000010