(57)【要約】【課題】処理時間測定用のハードウェアや処理時間測定用プログラムを追加することなくプログラムの処理時間を把握する機能を備えた新規な情報処理装置を提供することにある。【解決手段】測定対象プログラム以外のプログラムと測定対象プログラムをメモリに記憶させ、測定対象プログラム以外のプログラムの実行の途中に測定対象プログラムの実行を行うと共に、この測定対象プログラムの実行開始と実行終了を検出して測定対象プログラムの実行理時間を測定することで測定対象プログラムの処理時間を求める。これによれば処理時間測定用のハードウェアや処理時間測定用プログラムを追加することなく、測定対象プログラムの処理時間を把握できるものである。【選択図】図３
2015148864.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、プログラムやデータを記憶した内部メモリと、プログラムに基づいて所定の演算処理を実行するＣＰＵコアと、特定の処理機能を実行する処理検出部を備えた情報処理装置において、
処理時間を測定する測定対象プログラムと、これ以外の測定対象外プログラムを前記内部メモリに記憶させ、前記測定対象プログラムの実行を行うと共に前記測定対象プログラムの実行開始と実行終了を前記処理検出部で検出し、前記処理検出部は前記測定対象プログラムの実行開始と実行終了の間の処理時間を測定して前記測定対象プログラムの処理時間を求めることを特徴とする情報処理装置。
【請求項２】
少なくとも、プログラムやデータを記憶した内部メモリと、プログラムに基づいて所定の演算処理を実行するＣＰＵコアと、特定の処理機能を実行する処理検出部を備えた情報処理装置において、
処理時間を測定する測定対象プログラムと、これ以外の測定対象外プログラムを前記内部メモリに記憶させ、前記測定対象プログラム以外のプログラムの実行の途中に前記測定対象プログラムの実行を行うと共に、前記測定対象プログラムの実行開始と実行終了を前記処理検出部で検出し、前記処理検出部は前記測定対象プログラムの実行開始と実行終了の間の処理時間を測定して前記測定対象プログラムの処理時間を求めることを特徴とする情報処理装置。
【請求項３】
請求項１或いは請求項２に記載された情報処理装置において、
前記測定対象プログラムと前記測定対象外プログラムは異なった登録エリアに登録されており、前記測定対象外プログラムは自身の実行処理の途中で前記測定対象プログラムの実行処理を指示し、この指示に基づいて前記測定対象プログラムが実行されることを特徴とする情報処理装置。
【請求項４】
請求項１或いは請求項２に記載された情報処理装置において、
前記測定対象プログラムと前記測定対象外プログラムは同じ登録エリアの異なったアドレス範囲に登録されており、前記測定対象プログラムは前記測定対象外プログラムとは独立して実行されると共に、前記測定対象プログラムは測定対象アドレス設定エリアの設定アドレスによって特定されることを特徴とする情報処理装置。
【請求項５】
請求項４に記載された情報処理装置において、
前記測定対象アドレス設定エリアに設定される前記測定対象プログラムの設定アドレスは外部から任意に設定可能であることを特徴とする情報処理装置。
【請求項６】
請求項１乃至請求項５のいずれかに記載された情報処理装置において、
前記処理検出部で検出された処理時間は通信部を介して外部に転送されることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は種々の情報を処理する情報処理装置に係り、特にプログラムの処理時間を測定する機能を備えた情報処理装置に関するものである。
【背景技術】
【０００２】
近年の産業機器には特定の機能を実現するため、組み込みシステムと呼ばれるコンピュータシステムが搭載されている。例えば、家電製品や自動車機器に組み込まれるコンピュータシステムが代表的である。そして、例えば、自動車機器に使用される組み込みシステムは、ブレーキアシスト等の安全機能やナビゲーションシステムの通信機能等のように、より高度な機能が追加されるようになってきている。このため、自動車機器に搭載されるマイクロ・コントロール・ユニット（以下、ＭＣＵと表記する）は実行される制御機能が増えるだけでなく、制御機能の内容も更に複雑化する傾向にある。
【０００３】
当然のことながら、これらの制御機能はソフトウェアプログラムによってＭＣＵのＣＰＵコア（演算装置）を制御することで実現されるが、ＣＰＵコアを制御する1つのプログラムが実行できる処理時間、或いは処理負荷は限られている。尚、以下では処理時間として説明する。
【０００４】
そして、自動車機器に関しては制御対象（インジェクタ、点火装置等）が高速で駆動される場合が多いため、制御機能毎に割り当てられる処理時間が短く、プログラムの処理時間の管理が非常に重要である。したがって、設計者はＭＣＵの処理効率を向上するため、常にプログラムの処理時間を考慮してソフトウェアの開発、設計を行うことが必要である。
【０００５】
このような背景のもとで、ＭＣＵに負荷計測回路を搭載してＣＰＵコアの処理時間を計測する技術が提案されている。例えば、特開２０１２-０７３８４０号公報(特許文献１)においては、プログラム全体の実行状態を計測可能なサイクルカウンタと、測定対象プログラムが実行されるアドレス範囲を指定するための比較範囲指定レジスタと、実行アドレスと比較範囲指定レジスタの出力値を逐次比較する比較判定回路と、比較判定回路での比較結果に基づいて、実行アドレスと上記比較範囲指定レジスタの出力値との一致期間を計測するための条件一致カウンタとを設け、サイクルカウンタの出力値及び条件一致カウンタの出力値に基づいてＣＰＵコアの処理時間を把握することを提案している。
【０００６】
また、この他に、一般的なプログラムの処理時間を測定する方法としては、測定したい制御機能を実行するプログラムの前後に、処理時間測定用プログラムを組み込むことで処理時間を測定する方法も提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２-０７３８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献1で提案されているような技術では、処理時間を測定するために特別の処理時間計測回路を組み込む必要があるため、本来では不要なハードウェアを追加する必要があるだけではなく、新たにＬＳＩを設計する必要があり、部品コスト及び製造コストも上がってしまうという課題がある。組み込みシステムではできるだけ商品売価を低くすることが要請されているため、この点でも不利となる。
【０００９】
また、制御機能を実行するプログラムの前後に処理時間測定用プログラムを組み込む測定方法では、測定対象のプログラムに対して処理時間測定用プログラムを新たに組み込むという手間が発生するだけでなく、追加した処理時間測定用プログラムの処理時間も全体の処理時間に加算される為、本来の処理時間よりも大きな値になってしまうという課題がある。更には、時間測定用プログラムを追加することで、測定対象のプログラムの本来の処理が変わるため、制御機能の動作に影響が出る可能性を否定できないものである。
【００１０】
本発明の目的は、処理時間測定用のハードウェアや処理時間測定用プログラムを追加することなく、プログラムの処理時間を把握する機能を備えた新規な情報処理装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の特徴は、測定対象プログラム以外のプログラムと測定対象プログラムをメモリに記憶させ、測定対象プログラムの実行を行うと共に、この測定対象プログラムの実行開始と実行終了を検出して測定対象プログラムの実行理時間を測定することで測定対象プログラムの処理時間を求める、ところにある。
【００１２】
本発明の第２の特徴は、処理時間を測定する測定対象プログラムと、これ以外の測定対象外プログラムを内部メモリに記憶させ、測定対象プログラム以外のプログラムの実行の途中に測定対象プログラムの実行を行うと共に、測定対象プログラムの実行開始と実行終了を検出し、測定対象プログラムの実行開始と実行終了の間の処理時間を測定して測定対象プログラムの処理時間を求める、ところにある。
【発明の効果】
【００１３】
本発明によれば、処理時間測定用のハードウェアや処理時間測定用プログラムを追加することなく、測定対象プログラムの処理時間を把握できるものである。
【図面の簡単な説明】
【００１４】
【図１】本発明が適用される情報処理装置としてのＭＣＵの概略の構成を示す構成図である。
【図２】図１に示すＭＣＵの内部メモリの構成を示す構成図である。
【図３】本発明の第１の実施形態になる測定対象プログラムの処理時間を測定するＭＣＵの動作を説明する説明図である。
【図４】図３に示すＭＣＵの処理時間を測定する処理フローを示すフローチャート図である。
【図５】本発明の第２の実施形態になる測定対象プログラムの処理時間を測定するＭＣＵの動作を説明する説明図である。
【発明を実施するための形態】
【００１５】
次に、本発明の実施形態について図面を用いて詳細に説明するが、本発明は以下の実施形態に限定されることなく、本発明の技術的な概念の中で種々の変形例や応用例をもその範囲に含むものである。
【実施例１】
【００１６】
図１は本発明が適用されるＭＣＵの概略の構成を示すものであり、ＭＣＵ１０は主にＣＰＵコア１１、内部メモリ１２、通信部１３及び処理検出部１４とより構成されている。内部メモリ１２は内部ＲＯＭ１２Ａと内部ＲＡＭ１２Ｂとを備えているが、以下では内部メモリ１２として説明を行う。
【００１７】
内部メモリ１２はプログラムや演算に使用するデータが格納されており、ＣＰＵコア１１はプログラムに基づいて格納されたデータを使用して各種演算を実行するものである。ＣＰＵコア１１と内部メモリ１２、通信部１３及び処理検出部１４はバスライン１５で接続されており、夫々のデータが通信可能となっている。
【００１８】
通信部１３は外部の制御機器と接続されており、外部の制御機器に制御信号を供給する機能や、種々の信号を受信してＣＰＵコア１１に転送する入出力機能を備えている。また、処理検出部１４は或る特定の処理、或いは動作を検出した時に、特定の処理を実行する機能を備えており、例えばeＴＰＵ（ｅｎｈａｎｃｅｄ Ｔｉｍｅ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）やＭＰＵ（Ｍｅｍｏｒｙ Ｐｒｏｔｅｃｔｉｏｎ Ｕｎｉｔ）を使用することができる。
【００１９】
以上の構成はＭＣＵとして良く知られた構成であるのでこれ以上の説明は省略するが、処理検出部１４は本実施例の場合では、測定対象となるプログラムの実行開始と実行終了を検出すると、この間の処理時間を計測する計時機能を備えている。
【００２０】
もちろん、本実施例の処理検出部１４は、上述したｅＴＰＵやＭＰＵに限定されるものではなく、測定対象のプログラムの処理時間を測定することができる計時機能を備えているものであれば同様に使用することができる。
【００２１】
次に、本発明の第１の実施形態について図面を用いて詳細に説明する。図２は、処理時間を測定するプログラムの登録方法を示している。本実施例の場合では、プログラムの登録は内部メモリ１２を少なくともに２つの領域に分割し、一方のメモリ領域に処理時間を測定したいプログラムを記憶させ、他方のメモリ領域に測定したいプログラムの実行処理を指示するプログラムを記憶させる構成としている。
【００２２】
以下の説明では、処理時間を測定したいプログラムを測定対象プログラムとし、測定対象プログラムの実行処理を指示するプログラムを測定対象外プログラムとして説明する。これらの測定対象プログラムや測定対象外プログラムは便宜上の名称であり、双方とも或る異なった制御機能を実行するためのプログラムであって、ＣＰＵコア１１によってその制御機能が実行されるものである。尚、場合によっては同一の制御機能を実行するプログラムであっても、そのプログラム全体の一部のプログラムの処理時間を測定することも可能である。この場合は、プログラム全体の中の一部のプログラムを測定対象プログラムとすれば良いものである。
【００２３】
図２にあるように、まず、測定対象外プログラムＰＡと測定対象プログラムＰＢを区別するため、内部メモリ１２のメモリエリアをメモリアドレス、またはセクションによって、測定対象外プログラムＰＡを登録する通常プログラム登録エリア１６と、測定対象プログラムＰＢを登録する測定対象プログラム登録エリア１７の２つの領域に分割する。
【００２４】
したがって、測定対象外プログラムＰＡの通常プログラム登録エリア１６への登録と、測定対象プログラムＰＢの測定対象プログラム登録エリア１７への登録は、プログラム作成時、又はコンパイル時に該当するエリアに登録するように、例えば＃ｐｒａｇｍａコマンド等を使用してアドレスエリア、又はセクションを指定することで登録されている。この他に、コンパイラの設定で該当エリアに登録しても良いし、プログラムの初期化時に該当エリアに登録できるような仕組みを設けても良い。これらの登録の方法は種々あるので適切な方法で登録すれば良いものである。
【００２５】
通常プログラム登録エリア１６はアドレス０ｘ００００〜アドレス０ｘ１０００のアドレスが割り当てられており、これらのアドレスに中に多くのプログラムが格納されているものである。そして、測定対象外プログラムＰＡも測定対象外プログラム登録エリア（以下、ＰＡ登録エリアと表記する）１６Ａで示す開始アドレスＳＡＤＡから終了アドレスＥＡＤＡで設定されるアドレス範囲に格納されている。
【００２６】
同様に、測定対象プログラム登録エリア１７はアドレス０ｘ２０００〜アドレス０ｘ３０００のアドレスが割り当てられており、これらのアドレス範囲の中に多くの測定対象プログラムが格納されている。今回の測定の対象となる測定対象プログラムＰＢも測定対象プログラム登録エリア（以下、ＰＢ登録エリアと表記する）１７Ａで示す開始アドレスＳＡＤＢから終了アドレスＥＡＤＢで設定されるアドレス範囲に格納されている。
【００２７】
ここで、本実施例では上述した測定対象外プログラムＰＡと測定対象プログラムＰＢは一連の処理の流れの中で連続して実行されるものであり、測定対象外プログラムＰＡの処理の途中で、測定対象プログラムＰＢが実行されているものである。
【００２８】
そして、測定対象外プログラムＰＡの実行途中で、測定対象プログラムＰＢの実行処理を行う呼び出し処理ＰＡ-Ａが実行されると、ＰＢ登録エリア１７Ａにある測定対象プログラムＰＢが実行されるため、ＣＰＵコア１１のプログラム動作エリア(アドレス)が測定対象プログラムＰＢのＰＢ登録エリア(アドレス)１７Ａに遷移することになる。
【００２９】
次に、このような内部メモリを備えたＭＣＵで、測定対象プログラムＰＢの処理時間を測定する方法の概略について説明する。
【００３０】
図３にあるように、内部メモリ１２の通常プログラム登録エリア１６に登録している測定対象外プログラムＰＡが実行されている過程で呼び出し処理ＰＡ-Ａが実行されると、測定対象外プログラムＰＡは処理時間を測定する測定対象プログラムＰＢを呼び出して、測定対象プログラムＰＢの実行処理を指示する。
【００３１】
すなわち、ＰＢ登録エリア１７Ａの開始アドレスＳＡＤＢから終了アドレスＥＡＤＢまでのアドレス範囲で規定される測定対象プログラムＰＢが実行されることになる。したがって、測定対象プログラムＰＢが呼び出されると、ステップＳ１で測定対象プログラムＰＢが登録されているＰＢ登録エリア１７Ａにメモリアドレスが遷移する。つまり、測定対象外プログラムＰＡの実行指示によって、ＰＡ登録エリア１６ＡからＰＢ登録エリア１７Ａにメモリアドレスが遷移する。
【００３２】
ここで、ＰＢ登録エリア１７Ａの開始アドレスＳＡＤＢへメモリアドレスが遷移したことをステップS２で検出することによって、処理検出部１４が測定対象プログラムＰＢの実行開始の検出を行うことになる。ステップＳ２による開始アドレスＳＡＤＢへの遷移の検出をトリガにして、処理検出部１４には割込み処理がかかり、処理検出部１４で測定対象プログラムＰＢの処理時間の測定を開始する。
【００３３】
ステップＳ２による開始アドレスＳＡＤＢへの遷移を検出した後、測定対象プログラム登録エリア１７に登録されている測定対象プログラムＰＢの実行処理が継続され、この間に亘って処理検出部１４は処理時間の測定を継続している。そして、測定対象プログラムＰＢの処理が終了すると測定対象外プログラムＰＡに戻ることになる。
【００３４】
したがって、ステップＳ３に示すように測定対象プログラムＰＢの実行処理の終了によってＰＢ登録エリア１７Ａから、測定対象外プログラムＰＡを実行するためＰＡ登録エリア１６Ａにメモリアドレスが遷移する。
【００３５】
ここで、ＰＢ登録エリア１７Ａの終了アドレスＥＡＤＢからＰＡ登録エリア１６Ａへメモリアドレスが遷移したことをステップS４で検出することによって、処理検出部１４が測定対象プログラムＰＢの実行終了の検出を行うことになる。ステップＳ４による終了アドレスＥＡＤＢからの遷移の検出をトリガにして、処理検出部１４には割込み処理がかかり、処理検出部１４で測定対象プログラムＰＢの処理時間の測定を終了する。
【００３６】
また、メモリアドレスの遷移を検出する代わりに、測定対象プログラムＰＢから測定対象外プログラムＰＡへのリターンコードを解析して、ＰＢ登録エリア１７ＡからＰＡ登録エリア１６Ａへのメモリアドレスの遷移を検出しても良いものである。また、測定対象プログラムＰＢに設けられたリターン命令の実行を検出する方法や、測定対象プログラムＰＢからのリターン後の測定対象外プログラムＰＡの命令アドレスのアクセスを検出する方法を利用することもできる。
【００３７】
尚、本実施例では測定対象外プログラムＰＡと測定対象プログラムＰＢは一連の処理の流れの中で実行されるものであるが、これ以外に、測定対象プログラムＰＢが測定対象外プログラムＰＡとは独立した測定対象プログラムＰＢであれば、測定対象外プログラムＰＡの途中、或いは最後に測定対象プログラムＰＢの実行命令処理を組み込むことも可能である。したがって、この実行命令処理によって測定対象外プログラムＰＡとは独立した測定対象プログラムＰＢを起動して処理時間を測定することが可能となる。
【００３８】
次に、図３に示した情報処理装置で実行される測定対象プログラムＰＢの処理時間を測定する処理の時間的な流れを図４に基づき説明する。
【００３９】
図４において、まずステップＳ１０で通常プログラム登録エリア１６に登録された測定対象外プログラムＰＡの処理を開始し、その後に続いて予め定めた任意の処理を継続してステップＳ１１で測定対象外プログラムＰＡの前半処理を実行する。ここで、前半処理とは測定対象外プログラムＰＡの半分量の処理を意味するものではなく、任意の割合量の処理である。
【００４０】
測定対象外プログラムＰＡの前半処理が終了すると、呼び出し処理ＰＡ-ＡによってステップＳ１２で測定対象プログラム登録エリア１７に登録されている測定対象プログラムＰＢの実行処理を指示する。測定対象プログラムＰＢは測定対象プログラム登録エリア１７に登録されている処理なので、通常プログラム登録エリア１６から測定対象プログラム登録エリア１７に登録されている測定対象プログラムＰＢの開始アドレスＳＡＤＢへメモリアドレスの遷移を行うことになる。
【００４１】
次にステップＳ１３に進んで測定対象プログラムＰＢの処理が実行されるが、この時はメモリアドレスの遷移が行われているので、この遷移を検出して処理検出部１４に割り込みがかかり、ステップＳ１４で割り込み処理による処理時間の測定を開始し、ステップＳ１５で処理時間を測定する。尚、本実施例ではステップＳ１４の後にステップＳ１３が実行される構成としている。そして、測定対象プログラムＰＢの処理が実行されている状態において、検出処理部１４は処理時間の測定を継続している。
【００４２】
ステップＳ１３によって測定対象プログラムＰＢの処理が実行された後に、ステップＳ１６で測定対象プログラムＰＢの処理が終了されると、通常プログラム登録エリア１６に登録されている呼出し元の測定対象外プログラムＰＡに戻ることになる。この時、測定対象プログラム登録エリア１７に登録されている測定対象プログラムＰＢの終了アドレスＥＡＤＢから通常プログラム登録エリア１６へメモリアドレスの遷移を行うことになる。
【００４３】
そして、ステップＳ１７でＰＢ登録エリア１７ＡからＰＡ登録エリア１６Ａへのメモリアドレスの遷移を検出して処理検出部１４に割り込みをかける。このステップS１７の割り込み処理によって、ステップＳ１５で実行していた処理時間の測定を終了し、処理検出部１４は処理時間を処理検出部１４の内部メモリに格納する処理を実行する。尚、この場合、同時に通信部１３から処理時間に関する情報を外部に送信しても良いし、内部メモリだけではなく外部の記録媒体へ処理時間に関する情報を転送して記録することもできる。
【００４４】
次に、ステップS１８で測定対象外プログラムＰＢの後半処理を実行し、ステップＳ１９で測定対象外プログラムＰＢを終了して、測定対象プログラムＰＢの処理時間の測定を終了するものである。
【００４５】
このように、本実施例では測定対象プログラム以外のプログラムと測定対象プログラムをメモリに記憶させ、測定対象プログラム以外のプログラムの実行の途中に測定対象プログラムの実行を行うと共に、この測定対象プログラムの実行開始と実行終了を検出して測定対象プログラムの実行処理時間を測定することで測定対象プログラムの処理時間を求めるようにしている。
【００４６】
これによって、処理時間測定用のハードウェアや処理時間測定用プログラムを追加することなく、測定対象プログラムの処理時間を把握できるものである。つまり、基本的にはＭＣＵ１０に設けられている構成要素を用いるので、処理時間計測回路等の不要な回路を組込む必要が無くなるものである。また、測定対象プログラムの実行開始と実行終了を検出して測定対象プログラムの実行処理時間を測定しているので、処理時間測定用プログラムが不要となるものである。
【００４７】
また、測定対象外プログラムＰＡと測定対象プログラムＰＢを一連の処理として実行している過程で、測定対象プログラムＰＢの処理時間を測定することができるので、処理時間が正確に測定できるものである。
【実施例２】
【００４８】
次に、図５を用いて本発明の第２の実施形態を説明する。図５に示す実施形態は、通常の測定対象外プログラムＰＡと同様に、測定するべき測定対象プログラムＰＢを通常プログラム測定エリア１６の異なったアドレス範囲に登録し、この測定対象プログラムＰＢの実行開始と実行終了を検出することによって、この間の処理時間を測定するようにした点で実施形態１とは異なっている。
【００４９】
また、実施形態１では測定対象プログラムＰＢは測定対象外プログラムＰＡの呼び出し処理ＰＡ−Ａによって実行を制御されているが、本実施例では測定対象プログラムＰＢは測定対象外プログラムＰＡの関与なしに独立して実行されるものである。具体的には以下に示すように、アドレス範囲の特定によって測定対象プログラムＰＢの実行が行なわれるものである。
【００５０】
図５にあるように、ＭＣＵ１０に設けられている内部メモリ１２は、先に説明した実施形態１のように測定対象プログラムＰＢのための特別のメモリエリアを設けていない。したがって、通常プログラム登録エリア１６には測定対象外プログラムＰＡと測定対象プログラムＰＢの両方が登録されるようになっている。
【００５１】
通常プログラム登録エリア１６はアドレス０ｘ００００〜アドレス０ｘ３０００のアドレスが割り当てられており、これらのアドレス範囲の中に多くのプログラムが格納されているもので、測定対象外プログラムＰＡも格納されている。また、測定対象プログラムＰＢも通常プログラム登録エリア１６のアドレス０ｘ００００〜アドレス０ｘ３０００のアドレス範囲に格納されており、測定対象プログラムＰＢにはアドレス０ｘ２０００〜アドレス０ｘ２１００のアドレスが割り当てられている。
【００５２】
この、測定対象プログラムＰＢのアドレスの特定は、通常プログラム登録エリア１６内に登録された測定対象アドレス設定エリア１８に設定された設定アドレスによって特定されるようになっている。尚、測定対象アドレス設定エリア１８は、プログラムの中に組込んでも良いし、セクション等で新たな領域を確保しても良い。要は、処理時間を測定したいプログラムのアドレス範囲を特定する機能を備えていれば良いものである。
【００５３】
次に、このような内部メモリを備えたＭＣＵ１０で、測定対象プログラムＰＢの処理時間を測定する方法の概略について説明する。
【００５４】
図５にあるように、内部メモリ１２の通常プログラム登録エリア１６に登録している測定対象外プログラムＰＡやこれ以外のプログラムが実行されているなかで、測定対象アドレス設定エリア１８で設定された、処理時間を測定する測定対象プログラムＰＢが実行される。測定対象プログラムＰＢはアドレス０ｘ２０００〜アドレス０ｘ２１００のアドレスが割り当てられているので、この場合は測定対象プログラムＰＢの開始アドレスはアドレス０ｘ２０００となる。
【００５５】
したがって、測定対象プログラムＰＢの処理が実行されると、ステップＳ５によって処理検出部１４が測定対象プログラムＰＢの実行開始を検出することになる。そして、ステップＳ５による測定対象プログラムＰＢの実行開始をトリガにして、処理検出部１４に割り込み処理をかけ、処理検出部１４で測定対象プログラムＰＢの処理時間の測定を開始する。
【００５６】
ステップS５によって測定対象プログラムＰＢの実行開始を検出した後、測定対象プログラムＰＢの実行処理が継続され、この間に亘って処理検出部１４は処理時間の測定を継続している。そして、測定対象プログラムＰＢの処理が終了すると測定対象外プログラムＰＡやその他のプログラムの実行処理を行うようになる。この時、ステップＳ６に示すように、測定対象プログラムＰＢの実行処理の終了の検出をトリガにして、処理検出部１４に割り込み処理をかけて処理検出部１４での処理時間の測定を終了するようにしている。
【００５７】
尚、本実施例では測定対象プログラムＰＢのアドレスの特定は、測定対象アドレス設定エリア１８に設定されたアドレスによって特定されるようになっている。したがって、測定対象アドレス設定エリア１８へのアドレスの登録方法は、通信部１３からエミュレータ１９やシリアル通信機器２０などを接続して外部機器を用いて設定を行うことができる。
【００５８】
このようにすると、任意のプログラムを測定対象プログラムとすることができ、任意のプログラムの処理時間を測定することが可能となる。測定対象アドレス設定エリア１８へのアドレスの登録方法として使用する外部機器や通信方式は、ＭＣＵ１０と通信及び設定出来る構成であれば上述した実施例に限定されるものではない。
【００５９】
また、プログラムの登録方法として、通常のプログラムと測定したいプログラムの登録先（メモリアドレス）が異なったメモリエリアにすることが出来れば、プログラムの登録方法として上述した登録方法に限定されるものではない。
【００６０】
このように、本実施例では測定対象プログラムを含むプログラムをメモリに記憶させ、測定対象プログラム以外のプログラムの実行のなかで測定対象プログラムの実行を行うと共に、この測定対象プログラムの実行開始と実行終了を検出して測定対象プログラムの実行処理時間を測定することで測定対象プログラムの処理時間を求めるようにしている。
【００６１】
これによって、処理時間測定用のハードウェアや処理時間測定用プログラムを追加することなく、測定対象プログラムの処理時間を把握できるものである。つまり、基本的にはＭＣＵ１０に設けられている構成要素を用いるので、処理時間計測回路等の不要な回路を組込む必要が無くなるものである。また、測定対象プログラムの実行開始と実行終了を検出して測定対象プログラムの処理時間を測定しているので、処理時間測定用プログラムが不要となるものである。
【符号の説明】
【００６２】
１０…マイクロ・コントロール・ユニット、１１…ＣＰＵコア、１２…内部メモリ、１３…通信部、１４…処理検出部、１５…バスライン、１６…通常プログラム登録エリア、１６Ａ…測定対象外プログラム登録エリア、１７…測定対象プログラム登録エリア、１７Ａ…測定対象プログラム登録エリア、１８…測定対象アドレス設定エリア、１９…エミュレータ、２０…シリアル通信機器。
【図１】
2015148864.tif 000003
【図２】
2015148864.tif 000004
【図３】
2015148864.tif 000005
【図４】
2015148864.tif 000006
【図５】
2015148864.tif 000007