JP4853390B2 - 計測装置 - Google Patents
計測装置 Download PDFInfo
- Publication number
- JP4853390B2 JP4853390B2 JP2007152768A JP2007152768A JP4853390B2 JP 4853390 B2 JP4853390 B2 JP 4853390B2 JP 2007152768 A JP2007152768 A JP 2007152768A JP 2007152768 A JP2007152768 A JP 2007152768A JP 4853390 B2 JP4853390 B2 JP 4853390B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- time
- measuring device
- measured
- tasks
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
タスクの実行態様の解析に際しては、タスクの実行態様を表す以下の(1)〜(5)のような指標が用いられる。
(1)待ち時間:タスクが起床されてから、そのタスクが実際に開始されるまで(マイクロコンピュータのCPUの仕事がそのタスクに割り当てられるまで)の時間。
(2)経過時間:タスクが実際に開始されてから(CPUの仕事がタスクに割り当てられてから)、そのタスクが終了するまでの時間。例えば他の高優先度タスクが割り込みで実行されたような場合には、その割り込みの実行中の時間も含む。
(3)実行時間:経過時間のうち、対象とするタスクの実行にのみ要した総時間。例えば、割り込みによる他の高優先度タスクの実行時間は含まない。
(4)余裕時間:タスクが終了してから、次にそのタスクが再び起床されるまでの時間。
(5)抜け回数:タスクの起床の際、予めタスク毎に登録しておいた多重起床許可回数を超えてしまったため、その起床に係る新たなタスクが実行されなくなる現象の回数。
1.タスクAの実行が開始されると、カウンタがカウント動作を開始する。
2.実行対象がタスクAからタスクBに切り換わる際、その時のカウンタのカウント値(タスクAについてのカウント値)をタスクA用のメモリ領域に記憶しておくと共に、タスクBの開始に伴い、カウンタが例えば0からカウント動作を開始する。
3.その後、実行対象がタスクBからタスクAに切り換わる際、その時のカウンタのカウント値(タスクBについてのカウント値)をタスクB用のメモリ領域に記憶しておくと共に、タスクA用のメモリ領域に記憶させたカウント値をカウンタにセットし、カウンタは、タスクAの開始に伴い、そのセットされたカウント値からカウント動作を継続する。
4.タスクAが終了したときのカウンタのカウント値を、タスクAの実行時間とする。尚、タスクBについても同様である。
尚、例えば特許文献2には、上記(1)の待ち時間を計測する装置が記載され、例えば特許文献3には、上記(4)の余裕時間を計測する装置が記載されている。
請求項2の計測装置では、請求項1の計測装置において、カウンタを少なくとも2つ備えている。そして、対象タスクの実行が開始されてから終了するまでという状況の期間(以下、経過時間と記載する)と、その開始から終了までという状況の期間のうち、その対象タスクの実行のためにマイクロコンピュータのCPUの仕事が割り当てられているという状況の期間(以下、実行時間と記載する)とを計測する。
一方、請求項2の計測装置では、カウンタを少なくとも2つ備えているため、経過時間計測用及び実行時間計測用に、別々のカウンタを割り当てることができ、このため、経過時間と実行時間とを並行に(同時に)計測することができるようになる。例えば複雑な構成や処理が不要であり、簡単な構成で、経過時間と実行時間とを計測することができる。
次に、請求項4の計測装置では、請求項1〜3の計測装置において、対象タスクの実行が終了してから、その対象タスクが次に起床されるまでという状況の期間(以下、余裕時間と記載する)を計測することを特徴としている。
尚、経過時間と待ち時間と余裕時間とは、期間が重複しないため、1つのカウンタで計測することができる。
この点、請求項9の計測装置では、指標時間の平均値を算出するため、タスクの実行態様をより有効に解析できるようになる。そして、例えば、平均値が許容できるか否かの判断ができるようになると共に、その平均値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。
次に、請求項11の計測装置は、請求項1〜10の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、マイクロコンピュータが備えるCPUの負荷は変化するようになっており、そのCPUの負荷の度合い毎の、指標時間の長さとその長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっている。
次に、請求項12の計測装置は、請求項10,11の計測装置において、解析用情報は、グラフであると共に、そのグラフのプロット点が、タスクの種類毎に色分けされていることを特徴としている。
次に、請求項13の計測装置は、請求項10〜12の計測装置において、解析用情報は、グラフであると共に、そのグラフのプロット点が、タスクの状況の種別毎に色分けされていることを特徴としている。
次に、請求項14の計測装置は、請求項1〜13の計測装置において、切り換え条件は、所定の時間が経過することであることを特徴としている。
尚、算出回数について、1回とは、複数種類の指標時間のそれぞれを一度ずつひととおり算出した時点で1回とカウントする趣旨である。これによれば、指標時間の長さにかかわらず、複数種類の指標時間が確実に計測されるようになる。尚、勿論、複数種類の指標時間の何れかを算出するたびに、算出回数を1回とカウントするようにしても良い。
図1において、マイコン10及びデバッグ装置3は、本発明の計測装置に相当している。特に、マイコン10の後述するソフト処理部12、ハードカウンタ部14、タスクID記憶部16、タスクID書換部18、及び計測結果格納部20の機能が計測装置に相当している。
マイコン10は、前述のように、ソフト処理部12と、ハードカウンタ部14と、タスクID記憶部16と、タスクID書換部18と、計測結果格納部20とを備えている。
図2に、そのハードカウンタ14A,14Bの詳細を示す。
例えば、タイマの動作としては、停止、開始、再開始、リセットの4つがある。停止は、カウント値はそのままにして(維持して)カウント動作を停止することであり、開始は、現在のカウント値からカウントアップを継続することであり、再開始は、カウント値を0に戻し、その0からカウントアップを開始することであり、リセットは、カウント値を0に戻すと共に、カウントアップを停止することである。
タスクID書換部18は、タスクID記憶部16に記憶されるタスクIDを書き換える機能を有する。
図4は、計測結果格納部20の構成図である。
一方、S110で、カウンタ計測時間が切換時間より大きいと判定すると(S110:YES)、S120に移行する。
次に、S130に進み、割り込みを禁止する。これは、次のS140の処理が確実に実行されるようにするためである。
この処理では、まず、S210で、起床に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、起床に係るタスクが、計測対象のタスクか否かを判定する。
S220では、タスクの起床が成功したか否かを判定し、成功したと判定すると(S220::YES)、S230に移行する。
S260では、タスクの起床の失敗が、所定回数を超えてタスクを起床しようとしたためか否かを判定する。マルチタスクOSでは、例えば同時に起床可能なタスクの数が予め設定される。そして、この同時に起床可能なタスクの数を超えてタスクを起床することはできないようになっている。
次に、図7は、ソフト処理部12が実行する開始時処理のフローチャートである。この開始時処理は、タスクが実際に実行開始される際に開始される。
S320では、タイマAのカウント値を、待ち時間の生値として、計測結果格納部20に記憶させる。前述のS240で、タスク起床時にタイマAが再開始するため、タスクの実行が開始されるときのタイマAのカウント値は、待ち時間を表す。
S420では、タイマBを停止させる。そしてその後、当該処理を終了する。
この処理では、まず、S510で、再開に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回処理が再開されるタスクが、計測対象のタスクか否かを判定する。
S520では、タイマBを開始させる。前述のように、計測対象のタスク以外のタスクの処理にCPUの仕事が割り当てられたときタイマBは停止し(S420)、そして、計測対象のタスクの処理が再開するとタイマBが開始する(S520)。このようにして、計測対象のタスクの実行時間が計測される。
この処理では、まず、S610で、終了に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回終了するタスクが、計測対象のタスクか否かを判定する。
S620では、タイマAのカウント値を、経過時間の生値として計測結果格納部20に記憶させる。前述のように、計測対象のタスクの実行が実際に開始された際、タイマAが再開始する(S330)。このため、その計測対象のタスクの実行が終了した際のタイマAのカウント値は、経過時間を表す。
次に、S650に進み、タイマBをリセットする。そしてその後、当該処理を終了する。尚、S620〜S650の処理は、同時に実行される趣旨である。
図11は、待ち時間、経過時間、実行時間、或いは余裕時間(以下、4つを合わせて指標時間とも記載する)の最大値を算出する最大値算出処理のフローチャートであり、図12は、指標時間の最小値を算出する最小値算出処理のフローチャートであり、図13は、指標時間の積算値を算出する積算値算出処理のフローチャートである。デバッグ装置3では、指標時間の最大値、最小値、及び積算値が記憶されるようになっている。尚、積算値算出処理は、積算値及び積算回数から平均値を算出するために実行される。つまり、積算値算出処理は、言い換えると、平均値を算出するための処理である。
次に、図12の最小値算出処理では、まず、S810において、指標時間の生値の今回値が、記憶されている指標時間の最小値よりも小さいか否かを判定する。今回値が、記憶されている最小値よりも小さいと判定すると(S810:YES)、S820に移行し、その今回値を、その指標時間の最小値として新たに記憶する。そしてその後、当該処理を終了する。
次に、図13の積算値算出処理では、まず、S910で、積算回数をカウントするための図示しないカウンタをインクリメントする。
次に、S930に進み、積算回数をカウントするカウンタの値が、予め定められた積算回数以上か否かを判定する。つまり、規定の積算回数だけ積算したか否かを判定する。
次に、S960に進み、指標時間積算途中値を0にリセットする。そしてその後、当該処理を終了する。
一方、S930で、指標時間積算カウンタの値が、規定の積算回数より小さいと判定すると(S930:NO)、そのまま当該処理を終了する。尚、この場合、指標時間積算途中値をカウンタのカウント値で除算することで、指標時間の平均値を算出することができる。
対象タスクの状態が「Running」において、プリエンプト(対象タスクとは別のタスクの実行にCPUの仕事が割り当てられること)が発生すると、対象タスクの状態は「Ready」となり、レディ時処理(図8)が実行され、タイマBが停止する(S410:YES→S420)。尚、このとき、タイマAはカウントアップを継続する。
次に、図16は、度数分布の3次元グラフである。図16では、タスクSの待ち時間について、度数分布を表す。X軸は、待ち時間(μs)であり、Z軸は、1secあたりの発生回数(回/1s)であり、Y軸は、時刻である。本例では、時刻1〜時刻15までの所定の時刻において、待ち時間と発生回数との関係を表している。またここで、CPUの負荷は、刻一刻と変化するようになっており、時刻1〜時刻15においてはそれぞれ、CPUの負荷が異なっている。具体的に、時刻1は最もCPUの負荷が小さくなっており、時刻15に向かって順次CPUの負荷は大きくなっており、時刻15におけるCPUの負荷が最も大きい。つまり、図16の3次元グラフは、CPUの負荷の度合い毎の、待ち時間の長さとその長さ毎の発生頻度との関係を表している。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
また、上記実施形態において、S130及びS170の処理が実行されない構成でも良い。
また、上記実施形態において、図11の最大値算出処理では、少なくとも待ち時間、経過時間、及び実行時間の最大値が算出できれば良く、余裕時間の最大値は算出されなくても構わない。システム上、余裕時間が大きくなってしまっても特に不都合は生じないためである。むしろ余裕時間が大きいほうが好ましいと言える。
Claims (15)
- マイクロコンピュータが実行する複数のタスクのそれぞれについて、そのタスクの状況毎に、そのタスクがその状況下にある期間(以下、指標時間と言う)を計測する計測装置であって、
一定時間毎にカウント動作するカウンタを備え、
前記複数のタスクのうち、何れかのタスクを、予め定められた切り換え条件に達する毎に、計測対象のタスク(以下、対象タスクと言う)として順次選択すると共に、その対象タスクの状況が変化したときの前記カウンタのカウント値に基づき、その対象タスクの状況が変化する直前の状況についての前記指標時間を算出するようになっていることを特徴とする計測装置。 - 請求項1に記載の計測装置において、
前記カウンタを少なくとも2つ備え、
前記対象タスクの実行が開始されてから終了するまでの期間と、その開始から終了までの期間のうち、その対象タスクの実行のために前記マイクロコンピュータのCPUの仕事が割り当てられた期間とを計測することを特徴とする計測装置。 - 請求項1又は請求項2に記載の計測装置において、
前記対象タスクが起床されてから、その対象タスクの実行が開始されるまでの期間を計測することを特徴とする計測装置。 - 請求項1ないし請求項3の何れか1項に記載の計測装置において、
前記対象タスクの実行が終了してから、その対象タスクが次に起床されるまでの期間を計測することを特徴とする計測装置。 - 請求項1ないし請求項4の何れか1項に記載の計測装置において、
前記複数のタスクのそれぞれは、起床のタイミングが予め定められており、
前記対象タスクの起床タイミングで、その対象タスクが実行されない現象の回数を計測する検出手段を備えていることを特徴とする計測装置。 - 請求項1ないし請求項5の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の情報は、いつ計測できた情報かが識別可能に記憶されるように構成されていることを特徴とする計測装置。 - 請求項1ないし請求項6の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最大値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。 - 請求項1ないし請求項7の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最小値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。 - 請求項1ないし請求項8の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さの平均値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。 - 請求項1ないし請求項9の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さと、その長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっていることを特徴とする計測装置。 - 請求項1ないし請求項10の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、前記マイクロコンピュータが備えるCPUの負荷は変化するようになっており、そのCPUの負荷の度合い毎の、指標時間の長さとその長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっていることを特徴とする計測装置。 - 請求項10又は請求項11に記載の計測装置において、
前記解析用情報は、グラフであると共に、そのグラフのプロット点が、前記タスクの種類毎に色分けされていることを特徴とする計測装置。 - 請求項10ないし請求項12の何れか1項に記載の計測装置において、
前記解析用情報は、グラフであると共に、そのグラフのプロット点が、前記タスクの状況の種別毎に色分けされていることを特徴とする計測装置。 - 請求項1ないし請求項13の何れか1項に記載の計測装置において、
前記切り換え条件は、所定の時間が経過することであることを特徴とする計測装置。 - 請求項1ないし請求項13の何れか1項に記載の計測装置において、
前記切り換え条件は、前記指標時間の算出回数が所定の回数になることであることを特徴とする計測装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007152768A JP4853390B2 (ja) | 2007-06-08 | 2007-06-08 | 計測装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007152768A JP4853390B2 (ja) | 2007-06-08 | 2007-06-08 | 計測装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008305238A JP2008305238A (ja) | 2008-12-18 |
JP4853390B2 true JP4853390B2 (ja) | 2012-01-11 |
Family
ID=40233895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007152768A Active JP4853390B2 (ja) | 2007-06-08 | 2007-06-08 | 計測装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4853390B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010160716A (ja) * | 2009-01-09 | 2010-07-22 | Toyota Motor Corp | 検証装置 |
JP5598040B2 (ja) * | 2010-03-18 | 2014-10-01 | 株式会社リコー | 画像形成装置 |
JP7294895B2 (ja) * | 2019-06-05 | 2023-06-20 | ファナック株式会社 | 制御装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63269239A (ja) * | 1987-04-28 | 1988-11-07 | Mitsubishi Electric Corp | プロセツサの負荷測定方式 |
JPH02236744A (ja) * | 1989-03-10 | 1990-09-19 | Fujitsu Ltd | 情報処理装置の性能解析方式 |
JPH0521976A (ja) * | 1991-03-20 | 1993-01-29 | Fujitsu Ltd | フアン回転監視方法 |
JPH05108418A (ja) * | 1991-10-21 | 1993-04-30 | Toshiba Corp | プログラム異常検出方式 |
JPH05165655A (ja) * | 1991-12-16 | 1993-07-02 | Mitsubishi Electric Corp | ソフトウェアの実行時間測定装置 |
JPH10254738A (ja) * | 1997-03-12 | 1998-09-25 | Mitsubishi Electric Corp | エミュレータ装置及びエミュレーション方法 |
JPH1115704A (ja) * | 1997-06-19 | 1999-01-22 | Mitsubishi Electric Corp | エミュレーション制御方法およびエミュレータ装置 |
JP3376906B2 (ja) * | 1998-02-18 | 2003-02-17 | トヨタ自動車株式会社 | 計算機の負荷率計測システム |
JP2001318807A (ja) * | 2000-05-11 | 2001-11-16 | Nec Microsystems Ltd | タスク切り替え制御方法及び装置 |
JP2005031887A (ja) * | 2003-07-10 | 2005-02-03 | Yamaha Corp | リアルタイム性能測定装置及び情報処理装置 |
JP2006090356A (ja) * | 2004-09-21 | 2006-04-06 | Denso Corp | 車両制御装置、および処理負荷制御プログラム。 |
US7895012B2 (en) * | 2005-05-03 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Systems and methods for organizing and storing data |
-
2007
- 2007-06-08 JP JP2007152768A patent/JP4853390B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008305238A (ja) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5091912B2 (ja) | マルチコアプロセッサシステム | |
JP5069325B2 (ja) | タスク実行制御装置及びプログラム | |
JP4770602B2 (ja) | 電子機器 | |
JPWO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
JP2007334587A (ja) | 異常監視用プログラム、記録媒体及び電子装置 | |
CN104516786A (zh) | 信息处理装置、故障避免方法和程序存储介质 | |
JP2006338605A (ja) | プログラム異常監視方法及びプログラム異常監視装置 | |
JP4853390B2 (ja) | 計測装置 | |
US20040039935A1 (en) | Method and device for measuring the execution time of a real task in a real time system | |
US9839064B2 (en) | Sensor data collecting device | |
JP2003271401A (ja) | 負荷監視機能を有するマイクロプロセッサ | |
CN109947015B (zh) | 任务的执行方法及主控制器 | |
CN105589787A (zh) | 应用程序的健康检查方法及健康检查系统 | |
JP2000056989A (ja) | タスク設計方法 | |
JP5627414B2 (ja) | 動作ログ収集システム及びプログラム | |
JP2011150532A (ja) | 情報処理装置 | |
JP7435182B2 (ja) | 電子制御装置 | |
JP2016184315A (ja) | 電子制御装置 | |
CN110959152B (zh) | 访问控制装置 | |
CN106326599B (zh) | 一种多处理器系统仿真的系统状态监测方法和装置 | |
JP5157697B2 (ja) | 電子制御装置 | |
JP6009518B2 (ja) | 電子制御装置 | |
JP2005107757A (ja) | プログラムの暴走検出方法およびプログラムの暴走検出装置 | |
JP6252259B2 (ja) | 電子制御装置 | |
KR101779118B1 (ko) | 메모리의 스택 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090710 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110927 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111010 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141104 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4853390 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141104 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |