(57)【要約】【課題】リアルタイム性能の測定に関して、測定対象装置のプラットフォームに依存しない公平な測定を行うことが可能なリアルタイム性能測定装置及び情報処理装置を提供する。【解決手段】測定対象装置２００は、測定ターゲットプロセスの起動に応じてパルスを出力する機能を備えている。測定対象装置２００についてリアルタイム性能を測定する際、測定装置３００は、測定対象装置２００に対して測定ターゲットプロセスの起動指令を送信する一方、該起動指令を送信してから対応するパルスが返送されるまでの時間を測定する。そして、測定対象装置３００は、該測定結果に基づいて測定ターゲットプロセス等の起動時間、終了時間を示す測定データを生成し、これを測定ホスト装置４００に送信する。測定ホスト装置４００は、測定装置３００から送信される測定データをリアルタイムに解析し、解析結果を表示する。【選択図】      図１
2005031887.tif 000002
【特許請求の範囲】
【請求項１】
実装プロセスの起動に応じてパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、
前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、
計時手段と、
前記計時手段を利用して前記起動命令を送信してから前記パルスを受信するまでの時間を測定する測定手段と
を具備することを特徴とするリアルタイム性能測定装置。
【請求項２】
少なくとも実装プロセスの起動タイミング若しくは当該実装プロセスの起動過程において実行されるルーチンの起動タイミングのいずれかで立ち上がるパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、
前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、
計時手段と、
前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間を測定する測定手段と
を具備することを特徴とするリアルタイム性能測定装置。
【請求項３】
実装プロセスの起動タイミングで立ち上がり、前記実装プロセスの終了タイミングで立ち下がるパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、
前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、
計時手段と、
前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間及び前記起動命令を送信してから前記パルスの立ち下がりを検出するまでの時間をそれぞれ測定する測定手段と
を具備することを特徴とするリアルタイム性能測定装置。
【請求項４】
前記測定手段によって測定される各時間から前記実装プロセスの実行時間を求める制御手段をさらに具備することを特徴とする請求項３に記載のリアルタイム性能測定装置。
【請求項５】
１つの起動命令に対し、対応する２つ以上の実装プロセスを起動して各実装プロセスの起動に応じたパルスを出力するパルス出力機能を備えた測定対象装置に対して前記１つの起動命令を送信する送信手段と、
前記１つの起動命令に応じて前記測定対象装置から出力される前記各パルスを受信する受信手段と、
計時手段と、
前記計時手段を利用して前記起動命令を送信してから前記各パルスを受信するまでの時間をそれぞれ測定する測定手段と、
を具備することを特徴とするリアルタイム性能測定装置。
【請求項６】
前記各実装プロセスには、実行順序を規定する優先順位が予め設定されており、
外部からの入力指示に従って前記優先順位の設定変更を指示する優先順位変更情報を生成する生成手段をさらに具備し、
前記送信手段は、前記１つの起動命令を送信するほか、前記生成手段によって生成される前記優先順位変更情報を前記測定対象装置に送信することを特徴とする請求項５に記載のリアルタイム性能測定装置。
【請求項７】
自己のタイマを利用して所定周期で実装プロセスを起動し、当該実装プロセスの起動に応じてパルスを順次出力するパルス出力機能を備えた測定対象装置から出力される前記各パルスを受信する受信手段と、
計時手段と、
前記計時手段を利用して前記各パルスを受信する時間間隔を測定する測定手段と
を具備することを特徴とするリアルタイム性能測定装置。
【請求項８】
前記測定手段による測定結果を表示する表示装置をさらに具備することを特徴とする請求項１〜７に記載のリアルタイム性能測定装置。
【請求項９】
実装プロセスの起動命令を送信してから対応するパルスを受信するまでの時間を自己の計時手段を利用して測定する測定装置から前記実装プロセスの起動命令を受信する受信手段と、
前記実装プロセスを記憶する記憶手段と、
受信した起動命令に従って前記実装プロセスを起動する起動手段と、
前記実装プロセスの起動に応じてパルスを発生させるパルス発生手段と、
前記パルスを前記測定装置へ送信する送信手段と
を具備することを特徴とする情報処理装置。
【請求項１０】
実装プロセスと該実装プロセスの起動周期とを記憶する記憶手段と、
タイマと、
前記実装プロセスを繰り返し起動すべき指示を入力する入力手段と、
前記入力手段によって前記指示が入力された場合、前記タイマを利用して前記起動周期で前記実装プロセスを起動する起動手段と、
前記実装プロセスの起動に応じてパルスを順次発生させるパルス発生手段と、
前記各パルスを、受信する各パルスの時間間隔を自己の計時手段を利用して測定する測定装置へ送信する送信手段と
を具備することを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種プロセスが実装されている装置のリアルタイム性能を測定するリアルタイム性能測定装置及び情報処理装置に関する。
【０００２】
【従来の技術】
近年、デジタルＡＶ装置やモバイル機器などにおいては、なめらかな動画再生等を実現する必要性からリアルタイム性能が重視されている（例えば、特許文献１参照）。
図１９は、従来におけるリアルタイム性能の測定方法を説明するための図である。
測定対象となる装置（測定対象装置）には、装置全体を中枢的に制御するＣＰＵ１０、メモリ２０、タイマ３０、表示装置４０等が搭載されている。メモリ２０には、リアルタイム性能を測定するための測定プログラムＭＰ、測定ターゲットとなるユーザプロセスＰ、当該装置全体を管理するためのオペレーティングシステムＯＳ等が記憶されている。
【０００３】
ＣＰＵ１０は、操作部（図示略）等を介してリアルタイム性能の測定を開始すべき指令を受け取ると、測定プログラムＭＰを実行し、測定ターゲットとなるユーザプロセス（以下、測定ターゲットプロセス）Ｐの起動時間を測定する。かかる測定ターゲットプロセスＰの起動時間の計測には、タイマ３０が利用される。ＣＰＵ１０は、測定ターゲットプロセスＰの起動時間を測定すると、この測定結果を表示装置４０に表示する。ユーザは、かかる表示装置４０に表示される起動時間を確認することで、一定のリアルタイム性が担保されているか否かを評価していた。
【０００４】
【特許文献１】
特開平５−１５１００２号公報（第２頁）
【０００５】
【発明が解決しようとする課題】
しかしながら、各測定対象装置に内蔵されているタイマ３０等は、各装置のプラットフォーム（ＣＰＵやＯＳ等）に依存するため、異なるプラットフォームで動作する測定対象装置の間においては、測定結果を公平に比較することができない。
また、各測定対象装置は、上記の如く測定プログラムＭＰを実行して測定ターゲットプロセスＰの起動時間を測定するため、測定行為そのものが負荷となり、実際の使用状況（つまり、測定プログラムＭＰを実行することなく測定ターゲットプロセスＰを起動する状況）を想定した測定が難しく、また、かかる負荷のために測定状況をリアルタイムに把握するといった複雑な処理が行えないという問題もある。
さらに、各測定対象装置がリアルタイム性能の測定に利用できるタイマを備えていない場合や、タイマを備えていたとしてもその個数が必要数に満たない場合なども生じ得るため、測定ポイント数を増やすことができないという問題もある。
【０００６】
本発明は、以上説明した事情を鑑みてなされたものであり、リアルタイム性能の測定に関して、測定対象装置のプラットフォームに依存しない公平な測定を行うことができるリアルタイム性能測定装置及び情報処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上述した問題を解決するため、本発明に係るリアルタイム性能測定装置は、実装プロセスの起動に応じてパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、計時手段と、前記計時手段を利用して前記起動命令を送信してから前記パルスを受信するまでの時間を測定する測定手段とを具備することを特徴とする。
【０００８】
かかる構成によれば、リアルタイム性能測定装置は、測定対象装置に対して実装プロセスの起動命令を送信する一方、この起動命令に応じて当該測定対象装置から返ってくるパルスを受信する。そして、リアルタイム性能測定装置は、該起動命令を送信してから該パルスを受信するまでの時間を自己の計時手段を利用して測定する。このように、計時手段を備えた単一のリアルタイム性能測定装置を用いて各測定対象装置のリアルタイム性能を測定することにより、各測定対象装置のプラットフォームに依存しない公平な比較が可能となる。
【０００９】
ここで、別の態様として、前記パルス出力機能は、少なくとも前記実装プロセスの起動タイミング若しくは当該実装プロセスの起動過程において実行されるルーチンの起動タイミングのいずれかで立ち上がるパルスを出力する機能であり、前記測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、計時手段と、前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間を測定する測定手段とを具備する態様であっても良い。
【００１０】
また、別の態様として、前記パルス出力機能は、前記実装プロセスの起動タイミングで立ち上がり、前記実装プロセスの終了タイミングで立ち下がるパルスを出力する機能であり、前記測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、計時手段と、前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間及び前記起動命令を送信してから前記パルスの立ち下がりを検出するまでの時間をそれぞれ測定する測定手段とを具備する態様であっても良い。
【００１１】
また、本発明は、実装プロセスの起動命令を送信してから対応するパルスを受信するまでの時間を自己の計時手段を利用して測定する測定装置から前記実装プロセスの起動命令を受信する受信手段と、前記実装プロセスを記憶する記憶手段と、受信した起動命令に従って前記実装プロセスを起動する起動手段と、前記実装プロセスの起動に応じてパルスを発生させるパルス発生手段と、前記パルスを前記測定装置へ送信する送信手段とを具備することを特徴とする。
【００１２】
また、本発明は、実装プロセスと該実装プロセスの起動周期とを記憶する記憶手段と、タイマと、前記実装プロセスを繰り返し起動すべき指示を入力する入力手段と、前記入力手段によって前記指示が入力された場合、前記タイマを利用して前記起動周期で前記実装プロセスを起動する起動手段と、前記実装プロセスの起動に応じてパルスを順次発生させるパルス発生手段と、前記各パルスを、受信する各パルスの時間間隔を自己の計時手段を利用して測定する測定装置へ送信する送信手段とを具備することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明に係る実施の形態について図面を参照しながら説明する。
【００１４】
Ａ．本実施形態
（１）実施形態の構成
図１は、本実施形態に係るリアルタイム性能測定システム１００の構成を示す図である。
リアルタイム性能測定システム１００は、測定対象装置２００、測定装置３００、測定ホスト装置４００等により構成され、測定対象装置２００と測定装置とはパラレル接続され、測定装置３００と測定ホスト装置４００とはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続されている。
【００１５】
測定対象装置２００は、測定ターゲットプロセスの起動に応じてパルスを出力する機能を備えている。
測定装置３００は、測定対象装置２００に対して測定ターゲットプロセスの起動指令（詳細には該プロセスを起動すべき旨の割り込み指令；以下、割り込み指令）を送信する機能や、該割り込み指令を測定対象装置２００へ送信してから対応するパルスが返送されるまでの時間を測定し、測定結果を測定データとして測定ホスト装置４００に送信する機能を備えている。
測定ホスト装置４００は、測定装置３００から送信される測定データをリアルタイムに解析してグラフ表示する機能や、測定装置３００を制御する機能を備えている。
【００１６】
＜測定対象装置２００＞
図２は、測定対象装置２００の構成を示す図である。
ＣＰＵ２１０は、メモリ２２０に格納されている各種制御プログラムを実行することにより、当該装置の各部を中枢的に制御する。
パラレル・ポート２３１は、測定装置３００と接続するための通信インタフェースであり、測定装置３００から供給される割り込み指令を受信する一方、測定ターゲットプロセスＰの起動に応じて出力される各パルスを測定装置３００へ送信する。
【００１７】
図３は、パラレル・ポート２３１のピン配置を示す図である。パラレル・ポート２３１には、ケーブル接続用のピンが複数（図３では１２ヶ）設けられている。なお、かかるパラレル・ポートは、測定対象装置２００に接続される測定対象装置３００にも設けられているため、以下の説明では、測定対象装置２００に設けられているパラレル・ポート及びピンをそれぞれパラレル・ポート２３１及びピンｐａ１〜ｐａ１２と呼び、測定装置３００に設けられているパラレル・ポート及びピンをパラレル・ポート３３１及びピンｐｂ１〜ｐｂ１２と呼ぶ。
【００１８】
メモリ２２０には、測定ターゲットプロセスＰ、オペレーティングシステム（本実施形態ではＬｉｎｕｘ（登録商標）を想定）ＯＳ等が格納されている。カーネルＫＮは、オペレーティングシステムＯＳの中核をなす部分であり、プロセスの実行管理機能などオペレーティングシステムＯＳの基本機能を提供する。なお、メモリ２２０には、上記測定ターゲットプロセスＰ以外にも多数のユーザプロセスが格納されている。
ここで、図４は、カーネルＫＮと測定ターゲットプロセスＰとの関係を示す図である。なお、カーネルＫＮによって提供される各機能は、ＣＰＵ２１０がカーネルＫＮを実行することによって実現されるため、カーネルＫＮなどのソフトウェアは動作の主体となり得ないが、説明の理解を容易にするため、以下では適宜、ソフトウェアを動作の主体として説明する。
【００１９】
カーネルＫＮは、測定装置３００から上記割り込み指令を受け取ると、この割り込み指令に対応した割り込み要求ＩＲＱ（Ｉｎｔｅｒｒｕｐｔ  ＲｅＱｕｅｓｔ）を生成する。例えば、図３に示すピンｐａ１から割り込み要求を受け取った場合、カーネルＫＮは、割り込み指令が入力されるピンｐａのナンバが“１”であることから、測定ターゲットプロセスＰ１１〜Ｐ１３（図４参照）を起動すべきと判断し、測定ターゲットプロセスＰ１１〜Ｐ１３を起動するための割り込み要求ＩＲＱ１を生成する。他の場合も同様、カーネルＫＮは、割り込み要求が入力されるパラレル・ポート２３１のピンｐａのナンバから測定ターゲットプロセスを特定し、特定した測定ターゲットプロセスを起動するための割り込み要求（図４に示すＩＲＱ２等）を生成する。
【００２０】
カーネルＫＮは、割り込み要求に対応した割り込み要求ＩＲＱを生成すると、図４に示す割り込みハンドラＩＳＲ、ボトムハーフＢＨ、タスクキューＴＱといった測定ターゲットプロセスＰの起動過程における各ルーチンを実行し、測定ターゲットプロセスＰを起動する。
ここで、プロセス起動過程における各ルーチン及び測定ターゲットプロセスＰには、それぞれ観測波形発生マクロＭが埋め込まれている。この観測波形発生マクロＭは、各ルーチン（或いは各測定ターゲットプロセス）を起動したときに立ち上がり、各ルーチン（或いは各測定ターゲットプロセス）を終了したときに立ち下がるようなパルスを発生させる数行程度のコードである。この観測波形発生マクロＭは、開発段階にＣ言語のｄｅｆｉｎｅ文などを使用して測定ターゲットとなる各プロセスや各ルーチンに埋め込まれる。
【００２１】
図５は、図４に示す測定ターゲットプロセスＰ１１〜Ｐ１３を起動すべき割り込み要求ＩＲＱ１が生成されたときの各ルーチン、各プロセスの起動・終了タイミングを示すタイミングチャートである。図５に示すように、割り込み要求ＩＲＱ１が所定のタイミングで生成されると、割り込みハンドラＩＳＲ１→ボトムハーフＢＨ１→タスクキューＴＱ１１→測定ターゲットプロセスＰ１１→タスクキューＴＱ１２→測定ターゲットプロセスＰ１２→タスクキューＴＱ１３→測定ターゲットプロセスＰ１３といった一連の処理が実行され、各ルーチン、各プロセスの起動・終了タイミングを示すパルスが出力される。なお、上記各測定ターゲットプロセスＰ１１〜Ｐ１３は、実装段階において設定される優先順位（プライオリティ）に従って順次実行される。また、図５においては説明の理解を容易にするために割り込み要求ＩＲＱ１を１つだけ図示しているが、実際には、割り込み指令に応じた割り込み要求ＩＲＱ１が例えば数ｍｓｅｃの間隔で複数生成される。
【００２２】
上記割り込み要求ＩＲＱ１に応じて生成された各パルスは、予め設定されているピンｐａにそれぞれ出力され、対応する各ピンｐａを介して測定装置３００へ順次送信される。各パルスの出力先は、各ルーチン、各プロセスに埋め込まれた観測波形発生マクロＭに予め記述されており、例えば図４に示す割り込みハンドラＩＳＲ１に埋め込まれた観測波形発生マクロＭには、起動・終了タイミングを示すパルスをピンｐａ２（図３参照）に出力すべき旨が記述され、・・・測定ターゲットプロセスＰ１３に埋め込まれた観測波形発生マクロＭには、起動・終了タイミングを示すパルスをピンｐａ１１に出力すべき旨が記述されている。
【００２３】
＜測定装置３００＞
図６は、測定装置３００の構成を示す図である。
ＣＰＵ３１０は、メモリ３４０に格納されている各種制御プログラムを実行することにより、当該装置の各部を中枢的に制御する。
パラレル・ポート３３１は、測定対象装置２００とパラレル通信するためのインタフェースであり、パラレル・ポート３３１には複数のピンｐｂ１〜ｐｂ１２が設けられている（図３参照）。ＣＰＵ３１０は、上記ピンｐｂのいずれかを介して所定の測定ターゲットプロセスを起動すべき旨の割り込み指令を測定対象装置２００へ送信したり、該割り込み指令に応じて測定対象装置２００から返ってくる各ルーチン、各プロセスの起動・終了タイミングを示すパルスを受信する。そして、ＣＰＵ３１０は、割り込み指令を送信してから上記各パルスが返ってくるまでの時間等を測定し、測定データを生成する（詳細は後述）。
【００２４】
ＵＳＢポート３３２は、測定ホスト装置４００とＵＳＢ通信するためのインタフェースである。ＣＰＵ３１０は、生成した測定データをＵＳＢポート３３２を介して測定ホスト装置４００へ送信したり、測定ホスト装置４００から送られてくる測定に関する各種の制御情報（測定開始、測定終了等を示す情報）を受信する。
【００２５】
タイマ機構３２０は、測定対象装置４００に割り込み指令を送信してから各ルーチン、各プロセスを起動するまでの時間（起動時間）及び該割り込み指令を送信してから各ルーチン、各プロセスを終了するまでの時間（終了時間）を測定するためのモジュールである。このタイマ機構３２０には、上記パラレル・ポート３３１のピンｐｂと同数以上のタイマＴＭ１〜ＴＭｎが設けられている。図７は、パラレル・ポート３３１の各ピンｐｂとタイマＴＭ１〜ＴＭｎとの関係を示す図である。図７に示すように、各パルスが返される各ピンｐｂには、それぞれ異なるタイマＴＭが割り当てられている。上記各ルーチン、各プロセスの起動時間及び終了時間は、それぞれ対応する各タイマを利用することによって測定される。
【００２６】
＜測定ホスト装置４００＞
図８は、測定ホスト装置４００の構成を示す図である。
ＣＰＵ４１０は、図示せぬメモリに格納されている各種制御プログラムを実行することにより、当該装置の各部を中枢的に制御する。
操作部４２０は、キーボード、マウスなど複数の操作子を備えている。ＣＰＵ４１０は、これら各操作子を介して入力される指示内容に従って、上記測定に関する各種の制御情報等を生成する。
【００２７】
ＵＳＢポート４３２は、測定装置３００とＵＳＢ通信するためのインタフェースである。ＣＰＵ４１０は、このＵＳＢポート４３２を介して測定に関する各種の制御情報を測定装置３００へ送信したり、測定装置３００から送られてくる測定データを受信する。ＣＰＵ４１０は、この測定データをリアルタイムに解析し、解析結果を表示装置４４０に供給する。これにより、表示装置４４０には、図１３、図１４に示すような各ルーチン、各プロセスの起動時間等を示すグラフが表示される（詳細は後述）。
以上が本実施形態に係るリアルタイム性能測定システム１００の構成である。
以下、リアルタイム性能測定システム１００の動作について図面を参照しながら説明する。
【００２８】
（２）実施形態の動作
測定対象装置２００のリアルタイム性能の測定を試みるユーザは、測定対象装置２００と測定装置３００及び測定装置３００と測定ホスト装置４００をケーブル等によってそれぞれ接続する。ユーザは、測定ホスト装置４００の操作部４２０を適宜操作して測定ターゲットプロセス（以下では測定ターゲットプロセスＰ１１〜Ｐ１３を想定）の指定、測定回数の指定等を行った後、測定開始の指示を行う。
【００２９】
かかる指示が入力されると、測定対象装置４００のＣＰＵ４１０は、測定ターゲットプロセスの指定、測定回数の指定、測定開始の指示等を含む制御情報を生成し、これをＵＳＢポート４３２を介して測定装置３００へ送信する。測定装置３００のＣＰＵ３１０は、ＵＳＢポート３３２を介して制御情報を受信すると、図９に示す応答時間測定処理を実行する。
【００３０】
ＣＰＵ３１０は、まず、制御情報に示される測定回数（例えば１００００回）を読み出し、この値をカウンタ（図示略）の上限値としてセットする。そしてＣＰＵ３１０は、このカウンタにセットされている初期値（“０”）を“１”だけインクリメントする。ＣＰＵ３１０は、受信した制御情報に基づいて上記測定ターゲットプロセスＰ１１〜Ｐ１３を起動すべき旨の割り込み指令を生成し（ステップＳ１）、これをパラレルポート３３１の所定のピン（例えばピンＰｂ１）を介して測定対象装置２００へ送信する（ステップＳ２）。なお、どのピンを介して割り込み指令を送信すべきかは、前述したように、測定ターゲットプロセスに応じて異なる。
ＣＰＵ３１０は、上記割り込み指令を測定装置３００へ送信すると、タイマ機構３２０に設けられている各タイマを起動し、測定対象となる各ルーチン、各プロセスの起動時間及び終了時間の測定を開始する（ステップＳ３）。
【００３１】
一方、測定対象装置２００のＣＰＵ２１０は、ピンｐａ１（測定装置３００のピンｐｂ１に対応）を介して上記割り込み指令を受信する。ＣＰＵ２１０は、該割り込み指令を受信すると、この割り込み指令に対応した割り込み要求ＩＲＱを生成する。ここでは、ピンｐａ１を介して割り込み指令を受信しているため、ＣＰＵ３１０は、測定ターゲットプロセスＰ１１〜Ｐ１３を起動すべきであると判断し、割り込み要求ＩＲＱ１を生成する（図４参照）。この結果、測定ターゲットプロセスＰ１１〜Ｐ１３の起動に至るまでの各ルーチン及び当該測定ターゲットプロセスＰ１１〜Ｐ１３が次々と実行され、図５に示すようなパルスが測定対象装置２００から測定装置３００へ順次送信される。
【００３２】
一方、測定装置３００のＣＰＵ３１０は、測定対象装置２００から順次送信される各パルスのエッジ（立ち上がり、立ち下がり）を検出する（ステップＳ４）。ＣＰＵ３１０は、各パルスのエッジを検出する度に対応するタイマの時間（図５参照）を読み、これを時間データＴＴとしてメモリ３４０に順次格納していく（図１０参照；ステップＳ５）。ＣＰＵ３１０は、全パルスのエッジを検出し終えると、ステップＳ６に進み、各時間データＴＴから各測定データＭＴを生成する。
【００３３】
図１１は、時間データＴＴを示す図であり、図１２は、時間データＴＴをもとに生成される測定データＭＴを示す図である。図１１に示すように、メモリ３４０に格納されている各時間データＴＴは、２２ｂｉｔで表されるデータである（１μｓｅｃ／ｂｉｔとして約４ｓｅｃ相当）。これら各時間データＴＴ（本実施形態では、１６個）を１つのパケットに収めて測定ホスト装置４００へ送信したいのだが、１パケットに収容可能なデータ量は通信プロトコル等によって制限されるため、このままでは全ての時間データＴＴを１つのパケットに収めることができない。そこで、本実施形態においては、２２ｂｉｔ用いて表される時間データを指数部２ｂｉｔと仮数部１４ｂｉｔからなる測定データに変換することで１６ｂｉｔに収めることを可能とした。
【００３４】
具体的には、図１２に示すように、１６ｂｉｔの上位２ｂｉｔを指数部とし、残り１４ｂｉｔを仮数部とし、仮数部については指数部の数値（「００」〜「１１」）に応じて左にビットシフトさせる（図１２に示すＡ参照）。さらに詳述すると、指数部の数値が「００」の場合には、左シフトすることなく時間データＴＴのＡ部分（図１１参照）を測定データＭＴとし、指数部の数値が「０１」の場合には、「２」だけ左シフトして時間データＴＴのＢ部分（図１１参照）を測定データＭＴとし、指数部の数値が「１０」の場合には、「４」だけ左シフトして時間データＴＴのＣ部分（図１１参照）を測定データＭＴとし、指数部の数値が「１１」の場合には「８」だけ左シフトして時間データＴＴのＤ部分（図１１参照）を測定データＭＴとする。
【００３５】
これら指数部の値は、時間データＴＴに示される値の大小に応じて決定される。つまり、時間データＴＴに示される値が小さいもの（例えばｔ０１）については、下位の桁の値が重要になるためビットシフトさせない。一方、時間データＴＴに示される値が大きいもの（例えばｔ７１）については、下位の桁の値よりも上位の桁の値が重要になるため大きくビットシフトさせる。本実施形態では、このように各時間データＴＴに示される値の大きさに応じてビットシフトさせる量を変えることで、本来２２ｂｉｔの時間データＴＴから１６ｂｉｔの測定データＭＴを生成する。
【００３６】
ＣＰＵ３１０は、このようにして各測定データＭＴを生成すると、これら各測定データＭＴを１パケットに収めて測定ホスト装置４００へ送信する（ステップＳ７）、そして、ＣＰＵ３１０は、上記カウンタのカウント値を“１”だけインクリメントした後、ステップＳ１に戻る。ステップＳ１に戻ると、ＣＰＵ３１０は、上記と同様な処理を繰り返し実行する。かかる処理を繰り返し実行している間に、上記カウンタのカウント値が予めセットされている上限値（上記例では１００００）に到達したことを検知すると、ＣＰＵ３１０は、応答時間測定処理を終了する。
【００３７】
測定ホスト装置４００のＣＰＵ４１０は、ＵＳＢポート４３２を介して各測定データＭＴを受信すると、これら各測定データＭＴをリアルタイムに解析し、解析結果を表示装置４４０に表示する。
ここで、図１３は、測定初期段階（測定回数；約２００回）にて表示装置４４０に表示される画面を例示した図であり、図１４は、測定最終段階（測定回数；約１００００回）にて表示装置４４０に表示される画面を例示した図である。
【００３８】
各図に示すように、画面の上段には、測定ターゲットプロセスＰ１１〜Ｐ１３の起動過程において実行される各ルーチン（割り込みハンドラＩＳＲ１、ボトムハーフＢＨ１、タスクキューＴＱ１〜ＴＱ３）の起動時間分布を示すグラフＳＴ１〜ＳＴ５がそれぞれ表示され、画面の中段には、各測定ターゲットプロセスＰ１１〜Ｐ１３の起動時間分布を示すグラフＳＴ６〜ＳＴ８がそれぞれ表示され、さらに画面の下段には、各ルーチン、各プロセスの起動時間の最小値、最大値、平均値等が表示される。
【００３９】
なお、各測定データＭＴには、上述したように各ルーチン、各プロセスの起動時間を示す情報だけでなく、各ルーチン、各プロセスの終了時間を示す情報も含まれている。よって、上記各ルーチン、各プロセスの起動時間分布を示すグラフ等の代わりに各ルーチン、各プロセスの終了時間分布を示すグラフ等を表示装置４４０に表示しても良い。また、各ルーチン、各プロセス毎に、起動時間と終了時間とから滞在時間を求め、これを表示装置４４０に表示しても良い。
【００４０】
以上説明したように、本実施形態に係るリアルタイム性能測定システム１００によれば、タイマ機構３２０を有する測定装置３００によって測定対象装置２００のリアルタイム性能が測定される。このように、単一の測定装置３００を用いて測定を行うことにより、各測定対象装置２００のプラットフォームに依存しない公平な比較が可能となる。
また、測定対象装置３００に実装される観測波形発生マクロＭは、実際に使用される測定ターゲットプロセス等に直接埋め込まれているため、従来のように測定ターゲットプロセスと並行して測定プログラムを走らせる必要がない。さらに、上記観測波形発生マクロＭは、数行程度のコードであり、その負荷は非常に小さいため、実際の使用状況を想定した測定が可能となる。
【００４１】
また、測定装置３００に多数のタイマを用意することで、測定ターゲットプロセスの起動過程における各ルーチン毎に測定ポイントを設定するなど、多数の測定ポイントを設定することができる。さらに、複数の測定ターゲットプロセスを起動して測定を行う場合には、これら各プロセスにプライオリティを設定することも可能である。
また、測定の際には、測定対象装置４００に任意の負荷（例えばネットワーク経由でのデータ送受信等）を与え、該負荷に応じて測定結果がどれくらい変化するかを確認することもできる。
【００４２】
Ｂ．変形例
以上この発明の一実施形態について説明したが、上記実施形態はあくまで例示であり、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。変形例としては、例えば以下のようなものが考えられる。
【００４３】
（変形例１）
上記本実施形態では、測定装置３００から測定対象装置２００へ送信される割り込み指令に応じて測定ターゲットプロセスが起動される場合について説明した。これに対し、本変形例では、測定対象装置が内蔵されているタイマを利用して自ら測定ターゲットプロセスを起動する場合について説明する。
図１５は、変形例１に係る測定対象装置２００’の構成を示す図であり、前掲図２に対応する図である。なお、測定対象装置２００’の各構成要素のうち図２に示す測定対象装置２００と対応する部分には同一符号を付し、説明を省略する。
【００４４】
メモリ２２０には、上記オペレーティングシステムＯＳ等のほか、測定ターゲットプロセスＰを起動すべき旨の割り込み要求を所定周期（例えば１０ｍｓｅｃ）で発生させる割り込み要求発生プログラムＰＧが格納されている。
システムタイマ２４０は、時間管理に利用されるタイマであり、上記割り込み要求を発生させる周期もこのシステムタイマ２４０によって管理される。
操作部２５０は、各種操作ボタン等を備えている。ユーザは、この操作部２５０を適宜操作することにより、上記割り込み要求発生プログラムＰＧの起動指示、該割り込み要求を発生させる周期の変更指示等を入力する。
【００４５】
ここで、図１６は、上記割り込み要求発生プログラムＰＧを起動したときの各ルーチン、各測定ターゲットプロセスの起動・終了タイミングを示すタイミングチャートである。なお、以下の説明では、便宜上、測定ターゲットプロセスＰ１１を起動する過程において割り込みハンドラＩＳＲ１が実行される場合を想定する。
【００４６】
割り込み要求発生プログラムＰＧが起動されると、上記割り込み要求ＩＲＱ１が所定周期Ｔ０で発生され、この周期Ｔ０に応じて割り込みハンドラＩＳＲ１→測定ターゲットプロセスＰ１１といった処理が繰り返し実行される。この割り込みハンドラＩＳＲ１、測定ターゲットプロセスＰ１１には、観測波形発生マクロＭが埋め込まれているため、これら各ルーチン、プロセスが実行される度に各ルーチン、プロセスの起動・終了タイミングを示すパルスが出力される（図１６参照）。これら各パルスは、上記本実施形態と同様、各ルーチン、プロセス毎に予め設定されているパラレル・ポート２３１の所定のピンｐａを介して測定装置３００へ順次送信される。
【００４７】
一方、測定装置３００のＣＰＵ３１０は、各パルスを受信すると、各パルスに対応するタイマＴＭを利用して各ルーチン、プロセスの起動時間間隔及び終了時間間隔（図１６参照）を測定し、測定結果を時間データＴＴとしてメモリ３４０に順次格納していく。そして、ＣＰＵ３１０は、上記実施形態と同様、この時間データＴＴから測定データＭＴを生成し（或いは時間データＴＴのまま）、ＵＳＢポート３３２を介して測定ホスト装置４００へ送信する。測定ホスト装置４００のＣＰＵ４１０は、ＵＳＢポート４３２を介して各測定データＭＴを受信すると、これら各測定データをリアルタイムに解析し、解析結果を表示装置４４０に表示する。
【００４８】
図１７は、測定初期段階（測定回数；約１００回）にて表示装置４４０に表示される画面を例示した図であり、図１８は、測定最終段階（測定回数；約１００００回）にて表示装置４４０に表示される画面を例示した図である。各図に示すように、画面の上段には、測定ターゲットプロセスＰ１１の起動過程において実行される割り込みハンドラＩＳＲ１のジッタ分布を示すグラフＳＴ１１が表示され、画面の中段には、測定ターゲットプロセスＰ１１のジッタ分布を示すグラフＳＴ１２が表示され、さらに画面の下段には、割り込みハンドラＩＳＲ１、測定ターゲットプロセスＰ１１の起動時間間隔の最小値、最大値、平均値等が表示される。
【００４９】
ユーザは、この画面に表示される割り込みハンドラＩＳＲ１、測定ターゲットプロセスＰ１のジッタ分布等を参照することで、測定対象装置自身によるプロセス起動がいかに正確に行われているか（プロセス起動のタイミング精度）を評価することが可能となる。つまり、測定対象装置２００に内蔵されているタイマの精度等は各測定対象装置毎に異なるが、これら各測定対象装置自身によるプロセス起動の時間間隔を単一の測定装置３００を利用して測定することで、プラットフォームに依存しない公平な評価を行うことが可能となる。なお、上述した本実施形態と同様、上記各ルーチン、各プロセスの起動時間間隔を示すグラフ等の代わりに各ルーチン、各プロセスの終了時間間隔を示すグラフ等を表示装置４４０に表示しても良い。また、上記割り込み要求発生プログラムＰＧの起動指示、該割り込み要求を発生させる周期の変更指示等については、例えば測定ホスト装置４００から測定対象装置２００へ送るようにしても良い。
【００５０】
（変形例２）
また、本実施形態では、各測定ターゲットプロセスＰ１１〜Ｐ１３のプライオリティが予め設定されている場合について説明したが、該プライオリティを変更できるようにしても良い。一例を挙げて説明すると、例えばユーザは、測定ホスト装置４００等を操作してプライオリティの変更指示を入力する。該プライオリティの変更指示は、測定ホスト装置４００から測定装置３００を介して測定対象装置２００へ送信される。測定対象装置２００のＣＰＵ２１０は、この変更指示に従って各測定ターゲットプロセスＰ１〜Ｐ３のプライオリティを変更する。このように、各測定ターゲットプロセスＰ１〜Ｐ３のプライオリティを変更可能とすることで、プライオリティが各プロセスの起動時間に与える影響等を調査することが可能となる。
【００５１】
（変形例３）
また、本実施形態では、測定ターゲットプロセス起動に至るまでの全ルーチン及び全プロセスを測定対象としたが、これら各ルーチン、各プロセスの一部（例えば所定の割り込みハンドラのみ等）を測定対象としても良いのはもちろんである。
【００５２】
（変形例４）
また、本実施形態では、測定装置３００から測定ホスト装置４００へ送信する測定データＭＴに関して、本来２２ｂｉｔ用いて表される時間データＴＴをビットシフトすることで１６ｂｉｔに収める場合について説明したが（図１１及び図１２参照）、最大ビットシフト数を何ｂｉｔに設定するか、該時間データを何ｂｉｔに収めるように設定するか等については、必要とされる測定データの精度や測定装置３００と測定ホスト装置４００との間の通信プロトコルに応じて適宜設定可能である。
なお、上記測定データＭＴの生成過程を示せば次の通りである。測定装置３００は、まず、求めた時間を一定長さのビット列（上記例では２２ｂｉｔ）によって表した時間データＴＴを生成する。そして、測定装置３００は、この時間データＴＴから指数部と仮数部とからなる測定データＭＴを生成する際には、時間データを表すビット列の一部のビット列を抽出し（上記例では１６ｂｉｔ分）、抽出したビット列を上記仮数部に記述する一方、上記抽出したビット列の最下位ビットが上記時間データを表すビット列の最下位ビットから何ビット左にシフトしたものかを表すビット列を上記指数部に記述する。
【００５３】
（変形例５）
また、本実施形態では、測定装置３００と測定ホスト装置４００及び測定装置３００と測定対象装置２００とを有線接続した場合について説明したが、無線接続しても良いのはもちろんである。また、図１に示すように測定装置３００と測定ホスト装置４００とを別体構成にすることなく、例えば測定ホスト装置４００に測定対象装置３００の機能を搭載し、測定ホスト装置４００と測定対象装置３００とを一体構成にしても良い。
【００５４】
（変形例６）
また、本実施形態では、オペレーティングシステムＯＳとしてＬｉｎｕｘが実装されている測定対象装置２００を例に説明したが、これに限定する趣旨ではなく、外部にパルスを出力することができるあらゆる測定対象装置２００に適用可能である。
【００５５】
【発明の効果】
以上説明したように、本発明によれば、リアルタイム性能の測定に関して、測定対象装置のプラットフォームに依存しない公平な測定を行うことが可能となる。
【図面の簡単な説明】
【図１】本実施形態におけるリアルタイム性能測定システムの構成を示す図である。
【図２】同実施形態に係る測定対象装置の構成を示す図である。
【図３】同実施形態に係るパラレル・ポートの構成を示す図である。
【図４】同実施形態に係るカーネルとプロセスとの関係を示す図である。
【図５】同実施形態に係る各ルーチン、各測定ターゲットプロセスの起動・終了タイミングを示すタイミングチャートである。
【図６】同実施形態に係る測定装置の構成を示す図である。
【図７】同実施形態に係るパラレル・ポートの各ピンとタイマとの関係を示す図である。
【図８】同実施形態に係る測定ホスト装置の構成を示す図である。
【図９】同実施形態に係る応答時間測定処理を示すフローチャートである。
【図１０】同実施形態に係る測定装置のメモリの記憶内容を例示した図である。
【図１１】同実施形態に係る時間データを例示した図である。
【図１２】同実施形態に係る測定データを例示した図である。
【図１３】同実施形態に係る測定初期段階にて表示装置に表示される画面を例示した図である。
【図１４】同実施形態に係る測定最終段階にて表示装置に表示される画面を例示した図である。
【図１５】変形例１に係る測定対象装置の構成を示す図である。
【図１６】同変形例に係るルーチン、測定ターゲットプロセスの起動・終了タイミングを示すタイミングチャートである。
【図１７】同変形例に係る測定初期段階にて表示装置に表示される画面を例示した図である。
【図１８】同変形例に係る測定最終段階にて表示装置に表示される画面を例示した図である。
【図１９】従来におけるリアルタイム性能の測定方法を説明するための図である。
【符号の説明】
１００・・・リアルタイム性能測定システム、２００、２００’・・・測定対象装置、３００・・・測定装置、４００・・・測定ホスト装置、２１０、３１０、４１０・・・ＣＰＵ、２２０・・・メモリ、２３１、３３１・・・パラレル・ポート、２４０・・・システムタイマ、２５０・・・操作部、ＫＮ・・・カーネル、ＩＲＱ・・・割り込み要求、ＩＳＲ・・・割り込みハンドラ、ＢＨ・・・ボトムハーフ、ＴＱ・・・タスクキュー、Ｐ・・・測定ターゲットプロセス、ＰＧ・・・割り込み要求発生プログラム、３２０・・・タイマ機構、３３２、４３２・・・ＵＳＢポート、４２０・・・操作部、４４０・・・表示装置。
【図１】
2005031887.tif 000003
【図２】
2005031887.tif 000004
【図３】
2005031887.tif 000005
【図４】
2005031887.tif 000006
【図５】
2005031887.tif 000007
【図６】
2005031887.tif 000008
【図７】
2005031887.tif 000009
【図８】
2005031887.tif 000010
【図９】
2005031887.tif 000011
【図１０】
2005031887.tif 000012
【図１１】
2005031887.tif 000013
【図１２】
2005031887.tif 000014
【図１３】
2005031887.tif 000015
【図１４】
2005031887.tif 000016
【図１５】
2005031887.tif 000017
【図１６】
2005031887.tif 000018
【図１７】
2005031887.tif 000019
【図１８】
2005031887.tif 000020
【図１９】
2005031887.tif 000021