JP2005031887A - リアルタイム性能測定装置及び情報処理装置 - Google Patents

リアルタイム性能測定装置及び情報処理装置 Download PDF

Info

Publication number
JP2005031887A
JP2005031887A JP2003194953A JP2003194953A JP2005031887A JP 2005031887 A JP2005031887 A JP 2005031887A JP 2003194953 A JP2003194953 A JP 2003194953A JP 2003194953 A JP2003194953 A JP 2003194953A JP 2005031887 A JP2005031887 A JP 2005031887A
Authority
JP
Japan
Prior art keywords
measurement
time
pulse
measurement target
mounting process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003194953A
Other languages
English (en)
Inventor
Hidetaka Tsuruga
英高 鶴賀
Michiyoshi Sawara
理孔 佐原
Tadashi Toshitani
匡史 利谷
Hitoshi Koseki
斉 古関
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003194953A priority Critical patent/JP2005031887A/ja
Publication of JP2005031887A publication Critical patent/JP2005031887A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】リアルタイム性能の測定に関して、測定対象装置のプラットフォームに依存しない公平な測定を行うことが可能なリアルタイム性能測定装置及び情報処理装置を提供する。
【解決手段】測定対象装置200は、測定ターゲットプロセスの起動に応じてパルスを出力する機能を備えている。測定対象装置200についてリアルタイム性能を測定する際、測定装置300は、測定対象装置200に対して測定ターゲットプロセスの起動指令を送信する一方、該起動指令を送信してから対応するパルスが返送されるまでの時間を測定する。そして、測定対象装置300は、該測定結果に基づいて測定ターゲットプロセス等の起動時間、終了時間を示す測定データを生成し、これを測定ホスト装置400に送信する。測定ホスト装置400は、測定装置300から送信される測定データをリアルタイムに解析し、解析結果を表示する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、各種プロセスが実装されている装置のリアルタイム性能を測定するリアルタイム性能測定装置及び情報処理装置に関する。
【0002】
【従来の技術】
近年、デジタルAV装置やモバイル機器などにおいては、なめらかな動画再生等を実現する必要性からリアルタイム性能が重視されている(例えば、特許文献1参照)。
図19は、従来におけるリアルタイム性能の測定方法を説明するための図である。
測定対象となる装置(測定対象装置)には、装置全体を中枢的に制御するCPU10、メモリ20、タイマ30、表示装置40等が搭載されている。メモリ20には、リアルタイム性能を測定するための測定プログラムMP、測定ターゲットとなるユーザプロセスP、当該装置全体を管理するためのオペレーティングシステムOS等が記憶されている。
【0003】
CPU10は、操作部(図示略)等を介してリアルタイム性能の測定を開始すべき指令を受け取ると、測定プログラムMPを実行し、測定ターゲットとなるユーザプロセス(以下、測定ターゲットプロセス)Pの起動時間を測定する。かかる測定ターゲットプロセスPの起動時間の計測には、タイマ30が利用される。CPU10は、測定ターゲットプロセスPの起動時間を測定すると、この測定結果を表示装置40に表示する。ユーザは、かかる表示装置40に表示される起動時間を確認することで、一定のリアルタイム性が担保されているか否かを評価していた。
【0004】
【特許文献1】
特開平5−151002号公報(第2頁)
【0005】
【発明が解決しようとする課題】
しかしながら、各測定対象装置に内蔵されているタイマ30等は、各装置のプラットフォーム(CPUやOS等)に依存するため、異なるプラットフォームで動作する測定対象装置の間においては、測定結果を公平に比較することができない。
また、各測定対象装置は、上記の如く測定プログラムMPを実行して測定ターゲットプロセスPの起動時間を測定するため、測定行為そのものが負荷となり、実際の使用状況(つまり、測定プログラムMPを実行することなく測定ターゲットプロセスPを起動する状況)を想定した測定が難しく、また、かかる負荷のために測定状況をリアルタイムに把握するといった複雑な処理が行えないという問題もある。
さらに、各測定対象装置がリアルタイム性能の測定に利用できるタイマを備えていない場合や、タイマを備えていたとしてもその個数が必要数に満たない場合なども生じ得るため、測定ポイント数を増やすことができないという問題もある。
【0006】
本発明は、以上説明した事情を鑑みてなされたものであり、リアルタイム性能の測定に関して、測定対象装置のプラットフォームに依存しない公平な測定を行うことができるリアルタイム性能測定装置及び情報処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上述した問題を解決するため、本発明に係るリアルタイム性能測定装置は、実装プロセスの起動に応じてパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、計時手段と、前記計時手段を利用して前記起動命令を送信してから前記パルスを受信するまでの時間を測定する測定手段とを具備することを特徴とする。
【0008】
かかる構成によれば、リアルタイム性能測定装置は、測定対象装置に対して実装プロセスの起動命令を送信する一方、この起動命令に応じて当該測定対象装置から返ってくるパルスを受信する。そして、リアルタイム性能測定装置は、該起動命令を送信してから該パルスを受信するまでの時間を自己の計時手段を利用して測定する。このように、計時手段を備えた単一のリアルタイム性能測定装置を用いて各測定対象装置のリアルタイム性能を測定することにより、各測定対象装置のプラットフォームに依存しない公平な比較が可能となる。
【0009】
ここで、別の態様として、前記パルス出力機能は、少なくとも前記実装プロセスの起動タイミング若しくは当該実装プロセスの起動過程において実行されるルーチンの起動タイミングのいずれかで立ち上がるパルスを出力する機能であり、前記測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、計時手段と、前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間を測定する測定手段とを具備する態様であっても良い。
【0010】
また、別の態様として、前記パルス出力機能は、前記実装プロセスの起動タイミングで立ち上がり、前記実装プロセスの終了タイミングで立ち下がるパルスを出力する機能であり、前記測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、計時手段と、前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間及び前記起動命令を送信してから前記パルスの立ち下がりを検出するまでの時間をそれぞれ測定する測定手段とを具備する態様であっても良い。
【0011】
また、本発明は、実装プロセスの起動命令を送信してから対応するパルスを受信するまでの時間を自己の計時手段を利用して測定する測定装置から前記実装プロセスの起動命令を受信する受信手段と、前記実装プロセスを記憶する記憶手段と、受信した起動命令に従って前記実装プロセスを起動する起動手段と、前記実装プロセスの起動に応じてパルスを発生させるパルス発生手段と、前記パルスを前記測定装置へ送信する送信手段とを具備することを特徴とする。
【0012】
また、本発明は、実装プロセスと該実装プロセスの起動周期とを記憶する記憶手段と、タイマと、前記実装プロセスを繰り返し起動すべき指示を入力する入力手段と、前記入力手段によって前記指示が入力された場合、前記タイマを利用して前記起動周期で前記実装プロセスを起動する起動手段と、前記実装プロセスの起動に応じてパルスを順次発生させるパルス発生手段と、前記各パルスを、受信する各パルスの時間間隔を自己の計時手段を利用して測定する測定装置へ送信する送信手段とを具備することを特徴とする。
【0013】
【発明の実施の形態】
以下、本発明に係る実施の形態について図面を参照しながら説明する。
【0014】
A.本実施形態
(1)実施形態の構成
図1は、本実施形態に係るリアルタイム性能測定システム100の構成を示す図である。
リアルタイム性能測定システム100は、測定対象装置200、測定装置300、測定ホスト装置400等により構成され、測定対象装置200と測定装置とはパラレル接続され、測定装置300と測定ホスト装置400とはUSB(Universal Serial Bus)接続されている。
【0015】
測定対象装置200は、測定ターゲットプロセスの起動に応じてパルスを出力する機能を備えている。
測定装置300は、測定対象装置200に対して測定ターゲットプロセスの起動指令(詳細には該プロセスを起動すべき旨の割り込み指令;以下、割り込み指令)を送信する機能や、該割り込み指令を測定対象装置200へ送信してから対応するパルスが返送されるまでの時間を測定し、測定結果を測定データとして測定ホスト装置400に送信する機能を備えている。
測定ホスト装置400は、測定装置300から送信される測定データをリアルタイムに解析してグラフ表示する機能や、測定装置300を制御する機能を備えている。
【0016】
<測定対象装置200>
図2は、測定対象装置200の構成を示す図である。
CPU210は、メモリ220に格納されている各種制御プログラムを実行することにより、当該装置の各部を中枢的に制御する。
パラレル・ポート231は、測定装置300と接続するための通信インタフェースであり、測定装置300から供給される割り込み指令を受信する一方、測定ターゲットプロセスPの起動に応じて出力される各パルスを測定装置300へ送信する。
【0017】
図3は、パラレル・ポート231のピン配置を示す図である。パラレル・ポート231には、ケーブル接続用のピンが複数(図3では12ヶ)設けられている。なお、かかるパラレル・ポートは、測定対象装置200に接続される測定対象装置300にも設けられているため、以下の説明では、測定対象装置200に設けられているパラレル・ポート及びピンをそれぞれパラレル・ポート231及びピンpa1〜pa12と呼び、測定装置300に設けられているパラレル・ポート及びピンをパラレル・ポート331及びピンpb1〜pb12と呼ぶ。
【0018】
メモリ220には、測定ターゲットプロセスP、オペレーティングシステム(本実施形態ではLinux(登録商標)を想定)OS等が格納されている。カーネルKNは、オペレーティングシステムOSの中核をなす部分であり、プロセスの実行管理機能などオペレーティングシステムOSの基本機能を提供する。なお、メモリ220には、上記測定ターゲットプロセスP以外にも多数のユーザプロセスが格納されている。
ここで、図4は、カーネルKNと測定ターゲットプロセスPとの関係を示す図である。なお、カーネルKNによって提供される各機能は、CPU210がカーネルKNを実行することによって実現されるため、カーネルKNなどのソフトウェアは動作の主体となり得ないが、説明の理解を容易にするため、以下では適宜、ソフトウェアを動作の主体として説明する。
【0019】
カーネルKNは、測定装置300から上記割り込み指令を受け取ると、この割り込み指令に対応した割り込み要求IRQ(Interrupt ReQuest)を生成する。例えば、図3に示すピンpa1から割り込み要求を受け取った場合、カーネルKNは、割り込み指令が入力されるピンpaのナンバが“1”であることから、測定ターゲットプロセスP11〜P13(図4参照)を起動すべきと判断し、測定ターゲットプロセスP11〜P13を起動するための割り込み要求IRQ1を生成する。他の場合も同様、カーネルKNは、割り込み要求が入力されるパラレル・ポート231のピンpaのナンバから測定ターゲットプロセスを特定し、特定した測定ターゲットプロセスを起動するための割り込み要求(図4に示すIRQ2等)を生成する。
【0020】
カーネルKNは、割り込み要求に対応した割り込み要求IRQを生成すると、図4に示す割り込みハンドラISR、ボトムハーフBH、タスクキューTQといった測定ターゲットプロセスPの起動過程における各ルーチンを実行し、測定ターゲットプロセスPを起動する。
ここで、プロセス起動過程における各ルーチン及び測定ターゲットプロセスPには、それぞれ観測波形発生マクロMが埋め込まれている。この観測波形発生マクロMは、各ルーチン(或いは各測定ターゲットプロセス)を起動したときに立ち上がり、各ルーチン(或いは各測定ターゲットプロセス)を終了したときに立ち下がるようなパルスを発生させる数行程度のコードである。この観測波形発生マクロMは、開発段階にC言語のdefine文などを使用して測定ターゲットとなる各プロセスや各ルーチンに埋め込まれる。
【0021】
図5は、図4に示す測定ターゲットプロセスP11〜P13を起動すべき割り込み要求IRQ1が生成されたときの各ルーチン、各プロセスの起動・終了タイミングを示すタイミングチャートである。図5に示すように、割り込み要求IRQ1が所定のタイミングで生成されると、割り込みハンドラISR1→ボトムハーフBH1→タスクキューTQ11→測定ターゲットプロセスP11→タスクキューTQ12→測定ターゲットプロセスP12→タスクキューTQ13→測定ターゲットプロセスP13といった一連の処理が実行され、各ルーチン、各プロセスの起動・終了タイミングを示すパルスが出力される。なお、上記各測定ターゲットプロセスP11〜P13は、実装段階において設定される優先順位(プライオリティ)に従って順次実行される。また、図5においては説明の理解を容易にするために割り込み要求IRQ1を1つだけ図示しているが、実際には、割り込み指令に応じた割り込み要求IRQ1が例えば数msecの間隔で複数生成される。
【0022】
上記割り込み要求IRQ1に応じて生成された各パルスは、予め設定されているピンpaにそれぞれ出力され、対応する各ピンpaを介して測定装置300へ順次送信される。各パルスの出力先は、各ルーチン、各プロセスに埋め込まれた観測波形発生マクロMに予め記述されており、例えば図4に示す割り込みハンドラISR1に埋め込まれた観測波形発生マクロMには、起動・終了タイミングを示すパルスをピンpa2(図3参照)に出力すべき旨が記述され、・・・測定ターゲットプロセスP13に埋め込まれた観測波形発生マクロMには、起動・終了タイミングを示すパルスをピンpa11に出力すべき旨が記述されている。
【0023】
<測定装置300>
図6は、測定装置300の構成を示す図である。
CPU310は、メモリ340に格納されている各種制御プログラムを実行することにより、当該装置の各部を中枢的に制御する。
パラレル・ポート331は、測定対象装置200とパラレル通信するためのインタフェースであり、パラレル・ポート331には複数のピンpb1〜pb12が設けられている(図3参照)。CPU310は、上記ピンpbのいずれかを介して所定の測定ターゲットプロセスを起動すべき旨の割り込み指令を測定対象装置200へ送信したり、該割り込み指令に応じて測定対象装置200から返ってくる各ルーチン、各プロセスの起動・終了タイミングを示すパルスを受信する。そして、CPU310は、割り込み指令を送信してから上記各パルスが返ってくるまでの時間等を測定し、測定データを生成する(詳細は後述)。
【0024】
USBポート332は、測定ホスト装置400とUSB通信するためのインタフェースである。CPU310は、生成した測定データをUSBポート332を介して測定ホスト装置400へ送信したり、測定ホスト装置400から送られてくる測定に関する各種の制御情報(測定開始、測定終了等を示す情報)を受信する。
【0025】
タイマ機構320は、測定対象装置400に割り込み指令を送信してから各ルーチン、各プロセスを起動するまでの時間(起動時間)及び該割り込み指令を送信してから各ルーチン、各プロセスを終了するまでの時間(終了時間)を測定するためのモジュールである。このタイマ機構320には、上記パラレル・ポート331のピンpbと同数以上のタイマTM1〜TMnが設けられている。図7は、パラレル・ポート331の各ピンpbとタイマTM1〜TMnとの関係を示す図である。図7に示すように、各パルスが返される各ピンpbには、それぞれ異なるタイマTMが割り当てられている。上記各ルーチン、各プロセスの起動時間及び終了時間は、それぞれ対応する各タイマを利用することによって測定される。
【0026】
<測定ホスト装置400>
図8は、測定ホスト装置400の構成を示す図である。
CPU410は、図示せぬメモリに格納されている各種制御プログラムを実行することにより、当該装置の各部を中枢的に制御する。
操作部420は、キーボード、マウスなど複数の操作子を備えている。CPU410は、これら各操作子を介して入力される指示内容に従って、上記測定に関する各種の制御情報等を生成する。
【0027】
USBポート432は、測定装置300とUSB通信するためのインタフェースである。CPU410は、このUSBポート432を介して測定に関する各種の制御情報を測定装置300へ送信したり、測定装置300から送られてくる測定データを受信する。CPU410は、この測定データをリアルタイムに解析し、解析結果を表示装置440に供給する。これにより、表示装置440には、図13、図14に示すような各ルーチン、各プロセスの起動時間等を示すグラフが表示される(詳細は後述)。
以上が本実施形態に係るリアルタイム性能測定システム100の構成である。
以下、リアルタイム性能測定システム100の動作について図面を参照しながら説明する。
【0028】
(2)実施形態の動作
測定対象装置200のリアルタイム性能の測定を試みるユーザは、測定対象装置200と測定装置300及び測定装置300と測定ホスト装置400をケーブル等によってそれぞれ接続する。ユーザは、測定ホスト装置400の操作部420を適宜操作して測定ターゲットプロセス(以下では測定ターゲットプロセスP11〜P13を想定)の指定、測定回数の指定等を行った後、測定開始の指示を行う。
【0029】
かかる指示が入力されると、測定対象装置400のCPU410は、測定ターゲットプロセスの指定、測定回数の指定、測定開始の指示等を含む制御情報を生成し、これをUSBポート432を介して測定装置300へ送信する。測定装置300のCPU310は、USBポート332を介して制御情報を受信すると、図9に示す応答時間測定処理を実行する。
【0030】
CPU310は、まず、制御情報に示される測定回数(例えば10000回)を読み出し、この値をカウンタ(図示略)の上限値としてセットする。そしてCPU310は、このカウンタにセットされている初期値(“0”)を“1”だけインクリメントする。CPU310は、受信した制御情報に基づいて上記測定ターゲットプロセスP11〜P13を起動すべき旨の割り込み指令を生成し(ステップS1)、これをパラレルポート331の所定のピン(例えばピンPb1)を介して測定対象装置200へ送信する(ステップS2)。なお、どのピンを介して割り込み指令を送信すべきかは、前述したように、測定ターゲットプロセスに応じて異なる。
CPU310は、上記割り込み指令を測定装置300へ送信すると、タイマ機構320に設けられている各タイマを起動し、測定対象となる各ルーチン、各プロセスの起動時間及び終了時間の測定を開始する(ステップS3)。
【0031】
一方、測定対象装置200のCPU210は、ピンpa1(測定装置300のピンpb1に対応)を介して上記割り込み指令を受信する。CPU210は、該割り込み指令を受信すると、この割り込み指令に対応した割り込み要求IRQを生成する。ここでは、ピンpa1を介して割り込み指令を受信しているため、CPU310は、測定ターゲットプロセスP11〜P13を起動すべきであると判断し、割り込み要求IRQ1を生成する(図4参照)。この結果、測定ターゲットプロセスP11〜P13の起動に至るまでの各ルーチン及び当該測定ターゲットプロセスP11〜P13が次々と実行され、図5に示すようなパルスが測定対象装置200から測定装置300へ順次送信される。
【0032】
一方、測定装置300のCPU310は、測定対象装置200から順次送信される各パルスのエッジ(立ち上がり、立ち下がり)を検出する(ステップS4)。CPU310は、各パルスのエッジを検出する度に対応するタイマの時間(図5参照)を読み、これを時間データTTとしてメモリ340に順次格納していく(図10参照;ステップS5)。CPU310は、全パルスのエッジを検出し終えると、ステップS6に進み、各時間データTTから各測定データMTを生成する。
【0033】
図11は、時間データTTを示す図であり、図12は、時間データTTをもとに生成される測定データMTを示す図である。図11に示すように、メモリ340に格納されている各時間データTTは、22bitで表されるデータである(1μsec/bitとして約4sec相当)。これら各時間データTT(本実施形態では、16個)を1つのパケットに収めて測定ホスト装置400へ送信したいのだが、1パケットに収容可能なデータ量は通信プロトコル等によって制限されるため、このままでは全ての時間データTTを1つのパケットに収めることができない。そこで、本実施形態においては、22bit用いて表される時間データを指数部2bitと仮数部14bitからなる測定データに変換することで16bitに収めることを可能とした。
【0034】
具体的には、図12に示すように、16bitの上位2bitを指数部とし、残り14bitを仮数部とし、仮数部については指数部の数値(「00」〜「11」)に応じて左にビットシフトさせる(図12に示すA参照)。さらに詳述すると、指数部の数値が「00」の場合には、左シフトすることなく時間データTTのA部分(図11参照)を測定データMTとし、指数部の数値が「01」の場合には、「2」だけ左シフトして時間データTTのB部分(図11参照)を測定データMTとし、指数部の数値が「10」の場合には、「4」だけ左シフトして時間データTTのC部分(図11参照)を測定データMTとし、指数部の数値が「11」の場合には「8」だけ左シフトして時間データTTのD部分(図11参照)を測定データMTとする。
【0035】
これら指数部の値は、時間データTTに示される値の大小に応じて決定される。つまり、時間データTTに示される値が小さいもの(例えばt01)については、下位の桁の値が重要になるためビットシフトさせない。一方、時間データTTに示される値が大きいもの(例えばt71)については、下位の桁の値よりも上位の桁の値が重要になるため大きくビットシフトさせる。本実施形態では、このように各時間データTTに示される値の大きさに応じてビットシフトさせる量を変えることで、本来22bitの時間データTTから16bitの測定データMTを生成する。
【0036】
CPU310は、このようにして各測定データMTを生成すると、これら各測定データMTを1パケットに収めて測定ホスト装置400へ送信する(ステップS7)、そして、CPU310は、上記カウンタのカウント値を“1”だけインクリメントした後、ステップS1に戻る。ステップS1に戻ると、CPU310は、上記と同様な処理を繰り返し実行する。かかる処理を繰り返し実行している間に、上記カウンタのカウント値が予めセットされている上限値(上記例では10000)に到達したことを検知すると、CPU310は、応答時間測定処理を終了する。
【0037】
測定ホスト装置400のCPU410は、USBポート432を介して各測定データMTを受信すると、これら各測定データMTをリアルタイムに解析し、解析結果を表示装置440に表示する。
ここで、図13は、測定初期段階(測定回数;約200回)にて表示装置440に表示される画面を例示した図であり、図14は、測定最終段階(測定回数;約10000回)にて表示装置440に表示される画面を例示した図である。
【0038】
各図に示すように、画面の上段には、測定ターゲットプロセスP11〜P13の起動過程において実行される各ルーチン(割り込みハンドラISR1、ボトムハーフBH1、タスクキューTQ1〜TQ3)の起動時間分布を示すグラフST1〜ST5がそれぞれ表示され、画面の中段には、各測定ターゲットプロセスP11〜P13の起動時間分布を示すグラフST6〜ST8がそれぞれ表示され、さらに画面の下段には、各ルーチン、各プロセスの起動時間の最小値、最大値、平均値等が表示される。
【0039】
なお、各測定データMTには、上述したように各ルーチン、各プロセスの起動時間を示す情報だけでなく、各ルーチン、各プロセスの終了時間を示す情報も含まれている。よって、上記各ルーチン、各プロセスの起動時間分布を示すグラフ等の代わりに各ルーチン、各プロセスの終了時間分布を示すグラフ等を表示装置440に表示しても良い。また、各ルーチン、各プロセス毎に、起動時間と終了時間とから滞在時間を求め、これを表示装置440に表示しても良い。
【0040】
以上説明したように、本実施形態に係るリアルタイム性能測定システム100によれば、タイマ機構320を有する測定装置300によって測定対象装置200のリアルタイム性能が測定される。このように、単一の測定装置300を用いて測定を行うことにより、各測定対象装置200のプラットフォームに依存しない公平な比較が可能となる。
また、測定対象装置300に実装される観測波形発生マクロMは、実際に使用される測定ターゲットプロセス等に直接埋め込まれているため、従来のように測定ターゲットプロセスと並行して測定プログラムを走らせる必要がない。さらに、上記観測波形発生マクロMは、数行程度のコードであり、その負荷は非常に小さいため、実際の使用状況を想定した測定が可能となる。
【0041】
また、測定装置300に多数のタイマを用意することで、測定ターゲットプロセスの起動過程における各ルーチン毎に測定ポイントを設定するなど、多数の測定ポイントを設定することができる。さらに、複数の測定ターゲットプロセスを起動して測定を行う場合には、これら各プロセスにプライオリティを設定することも可能である。
また、測定の際には、測定対象装置400に任意の負荷(例えばネットワーク経由でのデータ送受信等)を与え、該負荷に応じて測定結果がどれくらい変化するかを確認することもできる。
【0042】
B.変形例
以上この発明の一実施形態について説明したが、上記実施形態はあくまで例示であり、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。変形例としては、例えば以下のようなものが考えられる。
【0043】
(変形例1)
上記本実施形態では、測定装置300から測定対象装置200へ送信される割り込み指令に応じて測定ターゲットプロセスが起動される場合について説明した。これに対し、本変形例では、測定対象装置が内蔵されているタイマを利用して自ら測定ターゲットプロセスを起動する場合について説明する。
図15は、変形例1に係る測定対象装置200’の構成を示す図であり、前掲図2に対応する図である。なお、測定対象装置200’の各構成要素のうち図2に示す測定対象装置200と対応する部分には同一符号を付し、説明を省略する。
【0044】
メモリ220には、上記オペレーティングシステムOS等のほか、測定ターゲットプロセスPを起動すべき旨の割り込み要求を所定周期(例えば10msec)で発生させる割り込み要求発生プログラムPGが格納されている。
システムタイマ240は、時間管理に利用されるタイマであり、上記割り込み要求を発生させる周期もこのシステムタイマ240によって管理される。
操作部250は、各種操作ボタン等を備えている。ユーザは、この操作部250を適宜操作することにより、上記割り込み要求発生プログラムPGの起動指示、該割り込み要求を発生させる周期の変更指示等を入力する。
【0045】
ここで、図16は、上記割り込み要求発生プログラムPGを起動したときの各ルーチン、各測定ターゲットプロセスの起動・終了タイミングを示すタイミングチャートである。なお、以下の説明では、便宜上、測定ターゲットプロセスP11を起動する過程において割り込みハンドラISR1が実行される場合を想定する。
【0046】
割り込み要求発生プログラムPGが起動されると、上記割り込み要求IRQ1が所定周期T0で発生され、この周期T0に応じて割り込みハンドラISR1→測定ターゲットプロセスP11といった処理が繰り返し実行される。この割り込みハンドラISR1、測定ターゲットプロセスP11には、観測波形発生マクロMが埋め込まれているため、これら各ルーチン、プロセスが実行される度に各ルーチン、プロセスの起動・終了タイミングを示すパルスが出力される(図16参照)。これら各パルスは、上記本実施形態と同様、各ルーチン、プロセス毎に予め設定されているパラレル・ポート231の所定のピンpaを介して測定装置300へ順次送信される。
【0047】
一方、測定装置300のCPU310は、各パルスを受信すると、各パルスに対応するタイマTMを利用して各ルーチン、プロセスの起動時間間隔及び終了時間間隔(図16参照)を測定し、測定結果を時間データTTとしてメモリ340に順次格納していく。そして、CPU310は、上記実施形態と同様、この時間データTTから測定データMTを生成し(或いは時間データTTのまま)、USBポート332を介して測定ホスト装置400へ送信する。測定ホスト装置400のCPU410は、USBポート432を介して各測定データMTを受信すると、これら各測定データをリアルタイムに解析し、解析結果を表示装置440に表示する。
【0048】
図17は、測定初期段階(測定回数;約100回)にて表示装置440に表示される画面を例示した図であり、図18は、測定最終段階(測定回数;約10000回)にて表示装置440に表示される画面を例示した図である。各図に示すように、画面の上段には、測定ターゲットプロセスP11の起動過程において実行される割り込みハンドラISR1のジッタ分布を示すグラフST11が表示され、画面の中段には、測定ターゲットプロセスP11のジッタ分布を示すグラフST12が表示され、さらに画面の下段には、割り込みハンドラISR1、測定ターゲットプロセスP11の起動時間間隔の最小値、最大値、平均値等が表示される。
【0049】
ユーザは、この画面に表示される割り込みハンドラISR1、測定ターゲットプロセスP1のジッタ分布等を参照することで、測定対象装置自身によるプロセス起動がいかに正確に行われているか(プロセス起動のタイミング精度)を評価することが可能となる。つまり、測定対象装置200に内蔵されているタイマの精度等は各測定対象装置毎に異なるが、これら各測定対象装置自身によるプロセス起動の時間間隔を単一の測定装置300を利用して測定することで、プラットフォームに依存しない公平な評価を行うことが可能となる。なお、上述した本実施形態と同様、上記各ルーチン、各プロセスの起動時間間隔を示すグラフ等の代わりに各ルーチン、各プロセスの終了時間間隔を示すグラフ等を表示装置440に表示しても良い。また、上記割り込み要求発生プログラムPGの起動指示、該割り込み要求を発生させる周期の変更指示等については、例えば測定ホスト装置400から測定対象装置200へ送るようにしても良い。
【0050】
(変形例2)
また、本実施形態では、各測定ターゲットプロセスP11〜P13のプライオリティが予め設定されている場合について説明したが、該プライオリティを変更できるようにしても良い。一例を挙げて説明すると、例えばユーザは、測定ホスト装置400等を操作してプライオリティの変更指示を入力する。該プライオリティの変更指示は、測定ホスト装置400から測定装置300を介して測定対象装置200へ送信される。測定対象装置200のCPU210は、この変更指示に従って各測定ターゲットプロセスP1〜P3のプライオリティを変更する。このように、各測定ターゲットプロセスP1〜P3のプライオリティを変更可能とすることで、プライオリティが各プロセスの起動時間に与える影響等を調査することが可能となる。
【0051】
(変形例3)
また、本実施形態では、測定ターゲットプロセス起動に至るまでの全ルーチン及び全プロセスを測定対象としたが、これら各ルーチン、各プロセスの一部(例えば所定の割り込みハンドラのみ等)を測定対象としても良いのはもちろんである。
【0052】
(変形例4)
また、本実施形態では、測定装置300から測定ホスト装置400へ送信する測定データMTに関して、本来22bit用いて表される時間データTTをビットシフトすることで16bitに収める場合について説明したが(図11及び図12参照)、最大ビットシフト数を何bitに設定するか、該時間データを何bitに収めるように設定するか等については、必要とされる測定データの精度や測定装置300と測定ホスト装置400との間の通信プロトコルに応じて適宜設定可能である。
なお、上記測定データMTの生成過程を示せば次の通りである。測定装置300は、まず、求めた時間を一定長さのビット列(上記例では22bit)によって表した時間データTTを生成する。そして、測定装置300は、この時間データTTから指数部と仮数部とからなる測定データMTを生成する際には、時間データを表すビット列の一部のビット列を抽出し(上記例では16bit分)、抽出したビット列を上記仮数部に記述する一方、上記抽出したビット列の最下位ビットが上記時間データを表すビット列の最下位ビットから何ビット左にシフトしたものかを表すビット列を上記指数部に記述する。
【0053】
(変形例5)
また、本実施形態では、測定装置300と測定ホスト装置400及び測定装置300と測定対象装置200とを有線接続した場合について説明したが、無線接続しても良いのはもちろんである。また、図1に示すように測定装置300と測定ホスト装置400とを別体構成にすることなく、例えば測定ホスト装置400に測定対象装置300の機能を搭載し、測定ホスト装置400と測定対象装置300とを一体構成にしても良い。
【0054】
(変形例6)
また、本実施形態では、オペレーティングシステムOSとしてLinuxが実装されている測定対象装置200を例に説明したが、これに限定する趣旨ではなく、外部にパルスを出力することができるあらゆる測定対象装置200に適用可能である。
【0055】
【発明の効果】
以上説明したように、本発明によれば、リアルタイム性能の測定に関して、測定対象装置のプラットフォームに依存しない公平な測定を行うことが可能となる。
【図面の簡単な説明】
【図1】本実施形態におけるリアルタイム性能測定システムの構成を示す図である。
【図2】同実施形態に係る測定対象装置の構成を示す図である。
【図3】同実施形態に係るパラレル・ポートの構成を示す図である。
【図4】同実施形態に係るカーネルとプロセスとの関係を示す図である。
【図5】同実施形態に係る各ルーチン、各測定ターゲットプロセスの起動・終了タイミングを示すタイミングチャートである。
【図6】同実施形態に係る測定装置の構成を示す図である。
【図7】同実施形態に係るパラレル・ポートの各ピンとタイマとの関係を示す図である。
【図8】同実施形態に係る測定ホスト装置の構成を示す図である。
【図9】同実施形態に係る応答時間測定処理を示すフローチャートである。
【図10】同実施形態に係る測定装置のメモリの記憶内容を例示した図である。
【図11】同実施形態に係る時間データを例示した図である。
【図12】同実施形態に係る測定データを例示した図である。
【図13】同実施形態に係る測定初期段階にて表示装置に表示される画面を例示した図である。
【図14】同実施形態に係る測定最終段階にて表示装置に表示される画面を例示した図である。
【図15】変形例1に係る測定対象装置の構成を示す図である。
【図16】同変形例に係るルーチン、測定ターゲットプロセスの起動・終了タイミングを示すタイミングチャートである。
【図17】同変形例に係る測定初期段階にて表示装置に表示される画面を例示した図である。
【図18】同変形例に係る測定最終段階にて表示装置に表示される画面を例示した図である。
【図19】従来におけるリアルタイム性能の測定方法を説明するための図である。
【符号の説明】
100・・・リアルタイム性能測定システム、200、200’・・・測定対象装置、300・・・測定装置、400・・・測定ホスト装置、210、310、410・・・CPU、220・・・メモリ、231、331・・・パラレル・ポート、240・・・システムタイマ、250・・・操作部、KN・・・カーネル、IRQ・・・割り込み要求、ISR・・・割り込みハンドラ、BH・・・ボトムハーフ、TQ・・・タスクキュー、P・・・測定ターゲットプロセス、PG・・・割り込み要求発生プログラム、320・・・タイマ機構、332、432・・・USBポート、420・・・操作部、440・・・表示装置。

Claims (10)

  1. 実装プロセスの起動に応じてパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、
    前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、
    計時手段と、
    前記計時手段を利用して前記起動命令を送信してから前記パルスを受信するまでの時間を測定する測定手段と
    を具備することを特徴とするリアルタイム性能測定装置。
  2. 少なくとも実装プロセスの起動タイミング若しくは当該実装プロセスの起動過程において実行されるルーチンの起動タイミングのいずれかで立ち上がるパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、
    前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、
    計時手段と、
    前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間を測定する測定手段と
    を具備することを特徴とするリアルタイム性能測定装置。
  3. 実装プロセスの起動タイミングで立ち上がり、前記実装プロセスの終了タイミングで立ち下がるパルスを出力するパルス出力機能を備えた測定対象装置に対して前記実装プロセスの起動命令を送信する送信手段と、
    前記起動命令に応じて前記測定対象装置から出力される前記パルスを受信する受信手段と、
    計時手段と、
    前記計時手段を利用して前記起動命令を送信してから前記パルスの立ち上がりを検出するまでの時間及び前記起動命令を送信してから前記パルスの立ち下がりを検出するまでの時間をそれぞれ測定する測定手段と
    を具備することを特徴とするリアルタイム性能測定装置。
  4. 前記測定手段によって測定される各時間から前記実装プロセスの実行時間を求める制御手段をさらに具備することを特徴とする請求項3に記載のリアルタイム性能測定装置。
  5. 1つの起動命令に対し、対応する2つ以上の実装プロセスを起動して各実装プロセスの起動に応じたパルスを出力するパルス出力機能を備えた測定対象装置に対して前記1つの起動命令を送信する送信手段と、
    前記1つの起動命令に応じて前記測定対象装置から出力される前記各パルスを受信する受信手段と、
    計時手段と、
    前記計時手段を利用して前記起動命令を送信してから前記各パルスを受信するまでの時間をそれぞれ測定する測定手段と、
    を具備することを特徴とするリアルタイム性能測定装置。
  6. 前記各実装プロセスには、実行順序を規定する優先順位が予め設定されており、
    外部からの入力指示に従って前記優先順位の設定変更を指示する優先順位変更情報を生成する生成手段をさらに具備し、
    前記送信手段は、前記1つの起動命令を送信するほか、前記生成手段によって生成される前記優先順位変更情報を前記測定対象装置に送信することを特徴とする請求項5に記載のリアルタイム性能測定装置。
  7. 自己のタイマを利用して所定周期で実装プロセスを起動し、当該実装プロセスの起動に応じてパルスを順次出力するパルス出力機能を備えた測定対象装置から出力される前記各パルスを受信する受信手段と、
    計時手段と、
    前記計時手段を利用して前記各パルスを受信する時間間隔を測定する測定手段と
    を具備することを特徴とするリアルタイム性能測定装置。
  8. 前記測定手段による測定結果を表示する表示装置をさらに具備することを特徴とする請求項1〜7に記載のリアルタイム性能測定装置。
  9. 実装プロセスの起動命令を送信してから対応するパルスを受信するまでの時間を自己の計時手段を利用して測定する測定装置から前記実装プロセスの起動命令を受信する受信手段と、
    前記実装プロセスを記憶する記憶手段と、
    受信した起動命令に従って前記実装プロセスを起動する起動手段と、
    前記実装プロセスの起動に応じてパルスを発生させるパルス発生手段と、
    前記パルスを前記測定装置へ送信する送信手段と
    を具備することを特徴とする情報処理装置。
  10. 実装プロセスと該実装プロセスの起動周期とを記憶する記憶手段と、
    タイマと、
    前記実装プロセスを繰り返し起動すべき指示を入力する入力手段と、
    前記入力手段によって前記指示が入力された場合、前記タイマを利用して前記起動周期で前記実装プロセスを起動する起動手段と、
    前記実装プロセスの起動に応じてパルスを順次発生させるパルス発生手段と、
    前記各パルスを、受信する各パルスの時間間隔を自己の計時手段を利用して測定する測定装置へ送信する送信手段と
    を具備することを特徴とする情報処理装置。
JP2003194953A 2003-07-10 2003-07-10 リアルタイム性能測定装置及び情報処理装置 Pending JP2005031887A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003194953A JP2005031887A (ja) 2003-07-10 2003-07-10 リアルタイム性能測定装置及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003194953A JP2005031887A (ja) 2003-07-10 2003-07-10 リアルタイム性能測定装置及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2005031887A true JP2005031887A (ja) 2005-02-03

Family

ID=34205939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003194953A Pending JP2005031887A (ja) 2003-07-10 2003-07-10 リアルタイム性能測定装置及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2005031887A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305238A (ja) * 2007-06-08 2008-12-18 Denso Corp 計測装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305238A (ja) * 2007-06-08 2008-12-18 Denso Corp 計測装置

Similar Documents

Publication Publication Date Title
CN106095654B (zh) 性能验证装置、性能验证系统以及性能验证方法
EP2905702B1 (en) Real-time multi-task scheduling method and device
TWI402521B (zh) 測試裝置與測試方法
US9690682B2 (en) Program information generating system, method, and computer program product
JP2010182101A (ja) フィールド制御システム
US20150089510A1 (en) Device, system, apparatus, method and program product for scheduling
JPH03244003A (ja) プログラマブルコントローラおよびシーケンスプログラムの部分実行方法
Meneses et al. A comparison of open-source linux frameworks for an augmented musical instrument implementation.
CN111008072A (zh) 任务调度方法、装置、存储介质及电子设备
JP2005031887A (ja) リアルタイム性能測定装置及び情報処理装置
CN113671894B (zh) 功能单元及控制装置
JP6458626B2 (ja) デバッグ回路、半導体装置及びデバッグ方法
JP4024026B2 (ja) 半導体装置および評価装置
WO2019169727A1 (zh) 网络流量测试方法、装置、设备以及计算机可读存储介质
JP6239195B2 (ja) 性能評価装置及び性能評価プログラム
JP6338923B2 (ja) プログラマブルコントローラ及び制御プログラム
JP2010244376A (ja) ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法
JP6188895B1 (ja) 車載制御プログラムの実行時データ取得方法および車載制御装置
WO2009026361A2 (en) Method, system and apparatus for measuring an idle value of a central processing unit
JP5962860B2 (ja) 監視方法、およびコンピュータ装置
JP2005100017A (ja) プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法
JP7211525B2 (ja) 人流計測装置、人流計測方法、人流計測プログラム、人流シミュレーションシステム、人流シミュレーション方法、及び人流シミュレーションプログラム
JP7230511B2 (ja) 制御装置におけるソフトウェア実行負荷率測定方法
EP3043265A1 (en) Debug device, debug method, and debug program
CN105630714B (zh) 接口资源分析装置及其方法