JP4853390B2 - 計測装置 - Google Patents

計測装置 Download PDF

Info

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
Application number
JP2007152768A
Other languages
English (en)
Other versions
JP2008305238A (ja
Inventor
登 高木
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2007152768A priority Critical patent/JP4853390B2/ja
Publication of JP2008305238A publication Critical patent/JP2008305238A/ja
Application granted granted Critical
Publication of JP4853390B2 publication Critical patent/JP4853390B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、タスクの実行態様を表す指標を計測する計測装置に関する。
従来より、例えば車両用電子制御装置に搭載されるマイクロコンピュータでは、OS(オペレーティングシステム)によるマルチタスクの機能を利用して、制御対象を制御するための複数のタスクを実行するようにしている。そして、この種のマイクロコンピュータでは、制御仕様の複雑化に伴い実行すべきタスクは増加しており、このためタスクの処理負荷は増大傾向にある。
そこで、タスクの実行態様を解析して、タスクがより効率よく実行されるようにするためのプログラム設計やデバッグが行われている。
タスクの実行態様の解析に際しては、タスクの実行態様を表す以下の(1)〜(5)のような指標が用いられる。
(1)待ち時間:タスクが起床されてから、そのタスクが実際に開始されるまで(マイクロコンピュータのCPUの仕事がそのタスクに割り当てられるまで)の時間。
(2)経過時間:タスクが実際に開始されてから(CPUの仕事がタスクに割り当てられてから)、そのタスクが終了するまでの時間。例えば他の高優先度タスクが割り込みで実行されたような場合には、その割り込みの実行中の時間も含む。
(3)実行時間:経過時間のうち、対象とするタスクの実行にのみ要した総時間。例えば、割り込みによる他の高優先度タスクの実行時間は含まない。
(4)余裕時間:タスクが終了してから、次にそのタスクが再び起床されるまでの時間。
(5)抜け回数:タスクの起床の際、予めタスク毎に登録しておいた多重起床許可回数を超えてしまったため、その起床に係る新たなタスクが実行されなくなる現象の回数。
例えば特許文献1には、上述(3)の実行時間を計測する実行時間計測装置が記載されている。この実行時間計測装置では、1つのカウンタで、複数のタスクのそれぞれについて、実行時間を計測できるようになっている。
具体的に、以下のように動作して、例えばタスクA及びタスクBの実行時間を計測する。尚、タスクAが最初に開始されたとする。
1.タスクAの実行が開始されると、カウンタがカウント動作を開始する。
2.実行対象がタスクAからタスクBに切り換わる際、その時のカウンタのカウント値(タスクAについてのカウント値)をタスクA用のメモリ領域に記憶しておくと共に、タスクBの開始に伴い、カウンタが例えば0からカウント動作を開始する。
3.その後、実行対象がタスクBからタスクAに切り換わる際、その時のカウンタのカウント値(タスクBについてのカウント値)をタスクB用のメモリ領域に記憶しておくと共に、タスクA用のメモリ領域に記憶させたカウント値をカウンタにセットし、カウンタは、タスクAの開始に伴い、そのセットされたカウント値からカウント動作を継続する。
4.タスクAが終了したときのカウンタのカウント値を、タスクAの実行時間とする。尚、タスクBについても同様である。
以上のようにして、タスクA及びタスクBのそれぞれについて、タスクの実行が断続的であった場合でも、1個のカウンタで、実行時間を計測することができる。
尚、例えば特許文献2には、上記(1)の待ち時間を計測する装置が記載され、例えば特許文献3には、上記(4)の余裕時間を計測する装置が記載されている。
特開平5−165655号公報 特開2000−242522号公報 特開2006−90356号公報
しかしながら、上記特許文献1に記載の実行時間計測装置では、実行対象のタスクが切り換わる毎に、実行が中断される方のタスクの実行時間をカウンタから取得してメモリに記憶しておくと共に、実行が再開される方のタスクのそれまでの総実行時間をメモリから読み出してカウンタにセットする、というように、多くの処理が必要となる。このため、実行時間計測装置の処理負荷が増大する。
また、タスクのそれぞれについて、実行時間を記憶しておくためのメモリ領域を設ける必要があるため、測定対象のタスクの数が増加すると、より多くのメモリ資源が必要となってしまう。
さらに、上記特許文献1の実行時間計測装置では、実行時間以外の指標を計測する場合、計測したい指標毎に、カウンタ及びメモリ領域を設ける必要がある。例えば、上記特許文献1において、上記特許文献2の装置或いは特許文献3の装置のように、待ち時間或いは余裕時間を測定しようとすると、待ち時間測定用或いは余裕時間測定用のカウンタ及びメモリ領域がさらに必要となる。
本発明は、こうした問題に鑑みなされたもので、マイクロコンピュータが実行するタスクの実行態様を表す指標を計測する計測装置において、より簡単な構成で複数の指標を計測できるようにすることを目的とする。
上記目的を達成するためになされた請求項1に記載の計測装置は、マイクロコンピュータが実行する複数のタスクのそれぞれについて、そのタスクの状況毎に、そのタスクがその状況下にある期間(以下、指標時間と言う)を計測するものである。
具体的に、一定時間毎にカウント動作するカウンタを備え、複数のタスクのうち、何れかのタスクを、予め定められた時間が経過する毎に、計測対象のタスク(以下、対象タスクと言う)として順次選択すると共に、その対象タスクの状況が変化したときのカウンタのカウント値に基づき、その対象タスクの状況が変化する直前の状況についての指標時間を算出するようになっている。
この請求項1の計測装置では、計測対象のタスク(対象タスク)を順次選択するため、複数のタスクのそれぞれについて、順番に、ある状況についての指標時間を計測することができる。尚、状況の種別は1つの場合も考えられるし、複数の場合も考えられる。
例えば、請求項1の計測装置では、予め定められた切り換え条件に達するまでの間において対象タスクの指標時間を計測するため、その予め定められた切り換え条件に達するまでの間であれば、対象タスクについて複数の指標時間を計測することができる。つまり、その予め定められた切り換え条件に達するまでの間において、ある状況が現れると共にその状況が完結したならば、その状況についての指標時間を計測することができると共に、その出現〜完結した状況が複数あれば、その複数の状況について指標時間を計測できる。
よって、請求項1の計測装置では、複数のタスクのそれぞれについて、複数の指標時間を計測することが可能になる。しかも、カウンタを用いた簡単な構成で指標時間を算出することができるため有利である。具体的に、計測装置が大きくなってしまうことやコストが増大してしまうことを防止することができるし、例えばカウント値を読み出すという簡単な処理で指標時間を算出できるようになって、計測装置の負荷を抑えることができる。
ここで、請求項1の計測装置においては、具体的に、請求項2のように構成すると良い。
請求項2の計測装置では、請求項1の計測装置において、カウンタを少なくとも2つ備えている。そして、対象タスクの実行が開始されてから終了するまでという状況の期間(以下、経過時間と記載する)と、その開始から終了までという状況の期間のうち、その対象タスクの実行のためにマイクロコンピュータのCPUの仕事が割り当てられているという状況の期間(以下、実行時間と記載する)とを計測する。
より詳しく、経過時間とは、対象タスクが実際に開始されてから(CPUの仕事がタスクに割り当てられてから)、その対象タスクが終了するまでの時間のことであり、例えば他の高優先度タスクが割り込みで実行されたような場合には、その割り込みの実行中の時間も含む趣旨である。そして、実行時間とは、経過時間のうち、対象タスクの実行にのみ要した総時間のことであり、例えば割り込みによる他の高優先度タスクの実行時間は含まない趣旨である。
このような経過時間と実行時間とは、期間が重複するため、1つのカウンタで同時に計測することはできない。
一方、請求項2の計測装置では、カウンタを少なくとも2つ備えているため、経過時間計測用及び実行時間計測用に、別々のカウンタを割り当てることができ、このため、経過時間と実行時間とを並行に(同時に)計測することができるようになる。例えば複雑な構成や処理が不要であり、簡単な構成で、経過時間と実行時間とを計測することができる。
次に、請求項3の計測装置は、請求項1,2の計測装置において、対象タスクが起床されてから、その対象タスクの実行が開始されるまでという状況の期間(以下、待ち時間と記載する)を計測することを特徴としている。
請求項3の計測装置では、待ち時間を計測することができ、これによれば、タスクの実行態様の解析に資することができる。
次に、請求項4の計測装置では、請求項1〜3の計測装置において、対象タスクの実行が終了してから、その対象タスクが次に起床されるまでという状況の期間(以下、余裕時間と記載する)を計測することを特徴としている。
請求項4の計測装置では、余裕時間を計測することができ、これによれば、タスクの実行態様の解析に資することができる。
尚、経過時間と待ち時間と余裕時間とは、期間が重複しないため、1つのカウンタで計測することができる。
次に、請求項5の計測装置は、請求項1〜4の計測装置において、複数のタスクのそれぞれは、起床のタイミングが予め定められており、対象タスクの起床タイミングで、その対象タスクが実行されない現象の回数を計測する検出手段を備えていることを特徴としている。
例えば、対象タスクの起床タイミングにおいて、予めその対象タスクについて登録しておいた多重起床許可回数を超えてしまっていると、その対象タスクが実行されなくなる(いわゆる「抜け」が生じる)。
請求項5の計測装置では、対象タスクの起床タイミングで、その対象タスクが実行されない現象、つまり抜けが生じるという現象の回数を計測することができ、これによれば、タスクの実行態様の解析に資することができる。
次に、請求項6の計測装置では、請求項1〜5の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の情報は、いつ計測できた情報かが識別可能に記憶されるように構成されている。
これによれば、例えば指標時間の長さの変化等が時系列で分かるようになる。このため、統計的な検証が可能となり、タスクの実行態様の解析に有利である。例えば、指標時間のデータを加工したりすると共に、その加工後のデータを時系列で整理したりすることで、より精密な検証が可能となる。
次に、請求項7の計測装置では、請求項1〜6の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最大値を、タスクの状況の種別毎に算出するようになっている。
指標時間の最大値が分かれば、その最大値が許容できるか否かの判断ができるようになると共に、その最大値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。
次に、請求項8の計測装置は、請求項1〜7の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最小値を、タスクの状況の種別毎に算出するようになっている。
指標時間の最小値が分かれば、請求項7と同様に、その最小値が許容できるか否かの判断ができるようになると共に、その最小値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。
次に、請求項9の計測装置では、請求項1〜8の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さの平均値を、タスクの状況の種別毎に算出するようになっている。
マイクロコンピュータの負荷等は刻一刻と変化し、指標時間の長さのばらつきは大きくなる。このため、個々の指標時間のみでは、有効な解析を行うことは難しい。
この点、請求項9の計測装置では、指標時間の平均値を算出するため、タスクの実行態様をより有効に解析できるようになる。そして、例えば、平均値が許容できるか否かの判断ができるようになると共に、その平均値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。
例えば、複数のタスクのそれぞれについて、上述の実行時間についての平均値を算出すれば、そのタスクのそれぞれについてマイクロコンピュータが備えるCPUの占有率を算出することもできるようになり、これによりCPUの負荷の度合いを推測することができる。さらに、CPUの負荷の度合いが適切なものとなるように、上述のように、タスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。
次に、請求項10の計測装置は、請求項1〜9の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さと、その長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっている。
これによれば、指標時間の長さの度数分布が簡単に分かるようになって、タスクの実行態様の解析がよりし易くなる。
次に、請求項11の計測装置は、請求項1〜10の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、マイクロコンピュータが備えるCPUの負荷は変化するようになっており、そのCPUの負荷の度合い毎の、指標時間の長さとその長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっている。
これによれば、CPUの負荷の度合い毎の、指標時間の長さの度数分布も分かるようになり、タスクの実行態様の解析がよりし易くなる。
次に、請求項12の計測装置は、請求項10,11の計測装置において、解析用情報は、グラフであると共に、そのグラフのプロット点が、タスクの種類毎に色分けされていることを特徴としている。
これによれば、指標時間の度数分布が視覚的に認識しやすいものとなる。また、タスク毎の情報を認識し易くなる。
次に、請求項13の計測装置は、請求項10〜12の計測装置において、解析用情報は、グラフであると共に、そのグラフのプロット点が、タスクの状況の種別毎に色分けされていることを特徴としている。
これによれば、請求項12のように、指標時間の度数分布が視覚的に認識しやすいものとなる。また、タスクの状況の種別毎の情報を認識し易くなる。
次に、請求項14の計測装置は、請求項1〜13の計測装置において、切り換え条件は、所定の時間が経過することであることを特徴としている。
尚、所定の時間は、どのような長さでも良い趣旨である。例えば、タスク毎に同じ時間であっても良いし、タスク毎に異なる時間であっても良い。さらに、例えば、予めメモリに時間の長さを記憶しておいても良いし、あるルールや計算式を定めておき、時間の長さがそのルールや計算式に従ってその都度算出される構成にしても良い。
所定の時間が経過することを切り換え条件とすれば、切り換え条件の設定を簡単にできると共に、その切り換え条件に達したか否かの判断が容易となって、計測装置の構成を簡素化できる。
次に、請求項15の計測装置は、請求項1〜13の計測装置において、切り換え条件は、指標時間の算出回数が所定の回数になることであることを特徴としている。
尚、算出回数について、1回とは、複数種類の指標時間のそれぞれを一度ずつひととおり算出した時点で1回とカウントする趣旨である。これによれば、指標時間の長さにかかわらず、複数種類の指標時間が確実に計測されるようになる。尚、勿論、複数種類の指標時間の何れかを算出するたびに、算出回数を1回とカウントするようにしても良い。
以下に、本発明の実施形態を図面に基づき説明する。
図1において、マイコン10及びデバッグ装置3は、本発明の計測装置に相当している。特に、マイコン10の後述するソフト処理部12、ハードカウンタ部14、タスクID記憶部16、タスクID書換部18、及び計測結果格納部20の機能が計測装置に相当している。
そして、そのマイコン10の図示しないCPUが実行するタスクについて、指標時間として、待ち時間、経過時間、実行時間、余裕時間を計測する。これらの指標時間の内容については、従来技術の説明の欄で記載した通りであり、ここでは説明を省略する。
マイコン10は、車両を制御する電子制御装置(以下、ECUと記載する)2に搭載されている。また、デバッグ装置3は、ECU2の外部に設けられ、そのECU2と通信可能に接続されている。
次に、マイコン10の構成について説明する。
マイコン10は、前述のように、ソフト処理部12と、ハードカウンタ部14と、タスクID記憶部16と、タスクID書換部18と、計測結果格納部20とを備えている。
ソフト処理部12は、オペレーティングシステム(以下、OSと記載する)の管理の下、タスクを実行する。尚、マイコン10に搭載されるOSは、同時に複数のタスクを並行して行うマルチタスクOSである。
ハードカウンタ部14は、2つのハードカウンタ14A,14Bから構成される。ハードカウンタ14A,14Bは、その名の通りハードにより構成される。
図2に、そのハードカウンタ14A,14Bの詳細を示す。
ハードカウンタ14A,14Bは、図2に示すように、一定時間毎にカウントアップするタイマと、タスク計測タイマレジスタと、タスク計測タイマコントロールレジスとからなる。
タスク計測タイマレジスタは、本例では、32ビットの読み出し専用レジスタであり、図2にも示すように、上位24ビットにタイマのカウント値が格納される。尚、下位8ビットは使用されておらず、本例ではその下位8ビットにダミーデータとして0が格納されている。
タスク計測タイマコントロールレジスタは、タイマの動作を制御するための情報が書き込まれるレジスタであり、タイマの動作に応じて4つの領域を有している。
例えば、タイマの動作としては、停止、開始、再開始、リセットの4つがある。停止は、カウント値はそのままにして(維持して)カウント動作を停止することであり、開始は、現在のカウント値からカウントアップを継続することであり、再開始は、カウント値を0に戻し、その0からカウントアップを開始することであり、リセットは、カウント値を0に戻すと共に、カウントアップを停止することである。
タスク計測タイマコントロールレジスタは、停止、開始、再開始、リセットの項目がそれぞれ割り当てられた4つの領域を有している。そして、例えば、停止の項目が割り当てられた領域に0が書き込まれることで、タイマが停止するようになっている。以下、同様に、開始の項目が割り当てられた領域に0が書き込まれることでタイマが開始し、再開始の項目が割り当てられた領域に0が書き込まれることでタイマが再開始し、リセットの項目が割り当てられた領域に0が書き込まれることでタイマがリセットされる。
そして、本実施形態では、ハードカウンタ14Aにより、待ち時間、経過時間、及び余裕時間が計測される。そして、ハードカウンタ14Bにより、実行時間が計測される。尚、以下、ハードカウンタ14Aが備えるタイマをタイマAと記載し、ハードカウンタ14Bが備えるタイマをタイマBと記載する。
タスクID記憶部16は、上記の指標時間を計測する計測対象としてのタスクを特定するためのタスクIDを記憶しておく機能を有する。ここで、本実施形態では、マイコン10のCPUが実行するタスク毎に、そのタスクに固有のタスクIDが割り当てられている。具体的に、タスク毎に、通し番号がタスクIDとして付与される。例えば、タスクの個数が10個であれば、そのタスクのそれぞれに、0〜9の番号が付与される。タスクID記憶部16は、具体的に、RAMから構成される。
図3は、タスクID記憶部16の構成図である。図3に示すように、タスクID記憶部16は、計測対象のタスクIDを記憶する領域を有している。
タスクID書換部18は、タスクID記憶部16に記憶されるタスクIDを書き換える機能を有する。
計測結果格納部20は、計測結果、つまり計測した指標時間の情報を記憶しておく機能を有する。具体的に、RAMから構成される。
図4は、計測結果格納部20の構成図である。
計測結果格納部20は、図4に示すように、待ち時間、経過時間、実行時間、余裕時間のそれぞれについて、計測結果を記憶するための領域をそれぞれ有している。この領域は、タスクの種類毎に存在する。言い換えると、計測結果格納部20には、指標時間が、何れのタスクについてのものかが識別可能に記憶されるようになっている。尚、各領域には、最新の計測結果が記憶されるようになっている。具体的に、計測結果格納部20には、計測結果が順次上書きされるようになっている。また、デバッグ装置3は、計測結果格納部20に記憶された計測結果を定期的に取得し、いつ計測できたものかを識別可能に記憶するようになっている。
次に、図5は、タスクID書換部18が実行するタスクID書換処理を表すフローチャートである。タスクID書換部18は、図5の処理を定期的に実行することで、予め定められた切換時間間隔毎に、タスクID記憶部16のタスクIDを書き換える。切換時間の長さは、予め定められている。尚、その切換時間の長さは、マイコン10が備える図示しないROMに予め記憶しておいても良いし、RAMに記憶しておくようにしても良い。
図5の処理では、まず、S110で、時間計測用の図示しないカウンタにより計測される時間(以下、カウンタ計測時間と記載する)の長さが、切換時間の長さよりも大きいか否かを判定する。
S110で、カウンタ計測時間が切換時間以下であると判定すると(S110:NO)、そのまま当該処理を終了する。
一方、S110で、カウンタ計測時間が切換時間より大きいと判定すると(S110:YES)、S120に移行する。
S120では、時間計測用の図示しないカウンタの値を0にする。つまり、カウンタ計測時間を0にリセットする。
次に、S130に進み、割り込みを禁止する。これは、次のS140の処理が確実に実行されるようにするためである。
続くS140では、タスクID記憶部16に記憶されたタスクIDをインクリメントする。つまり、タスクID記憶部16に記憶されたタスクIDとしての番号をインクリメントする。
次に、S150に進み、タスクID記憶部16に記憶されたタスクIDとしての番号が、タスクの個数の上限値より小さいか否かを判定する。言い換えると、複数のタスクのそれぞれが全て、計測対象として指定されたか否かを判定する。
S150で、タスクIDがタスク個数の上限値以上と判定すると(S150::NO)、複数のタスクのそれぞれが全て、計測対象として指定されたと判断して、S160に移行し、タスクID記憶部16に0を書き込む。そして次に、S170に進み、割り込みを許可する。そしてその後、当該処理を終了する。
一方、S150で、タスクID記憶部16に記憶されたタスクIDとしての番号がタスク個数の上限値より小さいと判定すると(S150::YES)、S170に移行すると共に、その後、当該処理を終了する。
次に、図6は、ソフト処理部12が実行する起床時処理のフローチャートである。この起床時処理は、タスクの起床時に開始される。
この処理では、まず、S210で、起床に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、起床に係るタスクが、計測対象のタスクか否かを判定する。
S210で、起床に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S210:NO)、今回起床したタスクは計測対象でないと判断して、当該処理を終了する。
一方、S210で、起床に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S210:YES)、S220に移行する。
S220では、タスクの起床が成功したか否かを判定し、成功したと判定すると(S220::YES)、S230に移行する。
S230では、タイマAのカウント値を、余裕時間の生値として計測結果格納部20に記憶させる。タイマAは、後述するように、タスクの実行が終了したときに0からカウントアップを開始するようになっており(再開始)、このため、タスクの起床時のタイマAのカウント値は、余裕時間を表す。
次に、S240に進み、タイマAを再開始させる。さらに、S250に進み、タイマBをリセットする。そしてその後、当該処理を終了する。尚、S230〜S250の処理は、同時に実行される趣旨である。
一方、S220でタスクの起床が成功しなかった、つまり、タスクの起床が失敗したと判定すると(S220:NO)、S260に移行する。
S260では、タスクの起床の失敗が、所定回数を超えてタスクを起床しようとしたためか否かを判定する。マルチタスクOSでは、例えば同時に起床可能なタスクの数が予め設定される。そして、この同時に起床可能なタスクの数を超えてタスクを起床することはできないようになっている。
S260で、所定回数を超えてタスクを起床しようとしたためでないと判定すると(S260:NO)、何らかの異常が生じているためと判断して、そのまま当該処理を終了する。
一方、S260で、所定回数を超えてタスクを起床しようとしたためと判定すると(S260:YES)、「抜け」が生じたと判断して、S270に進む。本実施形態で、「抜け」とは、起床可能な回数を超えてタスクを起床しようとしたために、その起床しようとしたタスクが起床できなかった現象のことを言う。
S270では、抜け回数をカウントする図示しないカウンタをインクリメントする。そしてその後、当該処理を終了する。
次に、図7は、ソフト処理部12が実行する開始時処理のフローチャートである。この開始時処理は、タスクが実際に実行開始される際に開始される。
この処理では、まず、S310で、開始に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回実行開始されるタスクが、計測対象のタスクか否かを判定する。
S310で、実行開始されるタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S310:NO)、今回実行開始されるタスクは計測対象でないと判断して、当該処理を終了する。
一方、S310で、実行開始されるタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S310:YES)、S320に移行する。
S320では、タイマAのカウント値を、待ち時間の生値として、計測結果格納部20に記憶させる。前述のS240で、タスク起床時にタイマAが再開始するため、タスクの実行が開始されるときのタイマAのカウント値は、待ち時間を表す。
次に、S330に進み、タイマAを再開始させる。さらに、S340に進み、タイマBを再開始させる。そしてその後、当該処理を終了する。尚、S320〜S340の処理は、同時に実行される趣旨である。
次に、図8は、ソフト処理部12が実行するレディ時処理のフローチャートである。このレディ時処理は、計測対象のタスクの状態がレディ(Ready)になったとき、具体的に、計測対象のタスク以外のタスクの処理にCPUの仕事が割り当てられ、計測対象のタスクの実行が保留されたときに開始される処理のフローチャートである。
この処理では、まず、S410で、実行の保留に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回実行が保留されるタスクが、計測対象のタスクか否かを判定する。
S410で、実行の保留に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S410:NO)、今回実行が保留されるタスクは計測対象でないと判断して、当該処理を終了する。
一方、S410で、実行の保留に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S410:YES)、S420に移行する。
S420では、タイマBを停止させる。そしてその後、当該処理を終了する。
次に、図9は、ソフト処理部12が実行する再開時処理のフローチャートである。この再開時処理は、実行が保留されたタスクの処理が再開されたときに開始される。
この処理では、まず、S510で、再開に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回処理が再開されるタスクが、計測対象のタスクか否かを判定する。
S310で、再開に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S310:NO)、今回処理が再開されるタスクは計測対象でないと判断して、当該処理を終了する。
一方、S510で、再開に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S510:YES)、S520に移行する。
S520では、タイマBを開始させる。前述のように、計測対象のタスク以外のタスクの処理にCPUの仕事が割り当てられたときタイマBは停止し(S420)、そして、計測対象のタスクの処理が再開するとタイマBが開始する(S520)。このようにして、計測対象のタスクの実行時間が計測される。
次に、図10は、ソフト処理部12が実行する終了時処理のフローチャートである。この終了時処理は、タスクの実行終了時に開始される。
この処理では、まず、S610で、終了に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回終了するタスクが、計測対象のタスクか否かを判定する。
S610で、終了に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S310:NO)、今回終了するタスクは計測対象のタスクでないと判断して、当該処理を終了する。
一方、S610で、終了に係るタスクのIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S610:YES)、S620に移行する。
S620では、タイマAのカウント値を、経過時間の生値として計測結果格納部20に記憶させる。前述のように、計測対象のタスクの実行が実際に開始された際、タイマAが再開始する(S330)。このため、その計測対象のタスクの実行が終了した際のタイマAのカウント値は、経過時間を表す。
次に、S630に進み、タイマBのカウント値を、実行時間の生値として計測結果格納部20に記憶させる。前述のように、タイマBは、計測対象のタスクの実行中のみカウントアップし(S340、S520)、計測対象のタスク以外のタスクの実行中は、停止する(S420)。このため、タイマBのカウント値は、実行時間を表す。
次に、S640に進み、タイマAを再開始する。
次に、S650に進み、タイマBをリセットする。そしてその後、当該処理を終了する。尚、S620〜S650の処理は、同時に実行される趣旨である。
次に、図11〜図13は、デバッグ装置3において実行される処理のフローチャートである。
図11は、待ち時間、経過時間、実行時間、或いは余裕時間(以下、4つを合わせて指標時間とも記載する)の最大値を算出する最大値算出処理のフローチャートであり、図12は、指標時間の最小値を算出する最小値算出処理のフローチャートであり、図13は、指標時間の積算値を算出する積算値算出処理のフローチャートである。デバッグ装置3では、指標時間の最大値、最小値、及び積算値が記憶されるようになっている。尚、積算値算出処理は、積算値及び積算回数から平均値を算出するために実行される。つまり、積算値算出処理は、言い換えると、平均値を算出するための処理である。
図11の最大値算出処理では、まず、S710において、指標時間の生値の今回値(最新値)が、記憶されている指標時間の最大値よりも大きいか否かを判定する。尚、今回値は、計測結果格納部20から取得する。今回値が、記憶されている最大値より大きいと判定すると(S710:YES)、S720に移行し、その今回値を、その指標時間の最大値として新たに記憶する。そしてその後、当該処理を終了する。
一方、S710で、今回値が記憶されている最大値以下であると判定すると(S710:NO)、そのまま当該処理を終了する。
次に、図12の最小値算出処理では、まず、S810において、指標時間の生値の今回値が、記憶されている指標時間の最小値よりも小さいか否かを判定する。今回値が、記憶されている最小値よりも小さいと判定すると(S810:YES)、S820に移行し、その今回値を、その指標時間の最小値として新たに記憶する。そしてその後、当該処理を終了する。
一方、S810で、今回値が、記憶されている最小値以上であると判定すると(S810:NO)、そのまま当該処理を終了する。
次に、図13の積算値算出処理では、まず、S910で、積算回数をカウントするための図示しないカウンタをインクリメントする。
次に、S920に進み、前回までの指標時間の積算値(指標時間積算途中値)に、指標時間の生値の今回値を加えたものを、新たな指標時間積算途中値とする。
次に、S930に進み、積算回数をカウントするカウンタの値が、予め定められた積算回数以上か否かを判定する。つまり、規定の積算回数だけ積算したか否かを判定する。
積算回数をカウントするためのカウンタの値が規定の積算回数以上であると判定すると(S930:YES)、S940に移行し、920で算出した指標時間積算途中値を、指標時間積算値とする。
次に、S950に進み、積算回数をカウントするためのカウンタの値を0にリセットする。
次に、S960に進み、指標時間積算途中値を0にリセットする。そしてその後、当該処理を終了する。
尚、この場合、指標時間積算値を、規定の積算回数で除算することで、指標時間の平均値を算出することができる。
一方、S930で、指標時間積算カウンタの値が、規定の積算回数より小さいと判定すると(S930:NO)、そのまま当該処理を終了する。尚、この場合、指標時間積算途中値をカウンタのカウント値で除算することで、指標時間の平均値を算出することができる。
次に、図14は、本実施形態の作用を表すタイムチャートであり、指標時間と、OSにおいて発生するイベントと、タスクの状態と、ソフト処理部12にて実行される処理との関係を表している。尚、ここでは、タスクが計測対象のタスク(以下、対象タスクと記載する)であるものとして説明する。また、タスクの状態について、「Ready」とは、起床からディスパッチ(タスクの実行に実際にCPUの仕事が割り当てられること)までの状態、或いは他のタスクにCPUの負荷の仕事が割り当てられて実行が保留されている状態のことであり、「Running」とは、タスクが実際に実行されている状態のことであり、「Suspended」とは、タスクの実行が終了してから次に起床されるまでの状態のことである。
まず、対象タスクの起床に伴い、対象タスクの状態は「Ready」となり、起床時処理(図6)が実行され、タイマAが0からカウントを開始する(S210:YES→S220:YES→(S230)→S240)。
対象タスクがディスパッチされると、対象タスクの状態は「Running」となり、開始時処理(図7)が実行されると共に、その時のタイマAの値を待ち時間の生値として計測結果格納部20に記憶させる(S310:YES→S320)。
また、タイマA及びタイマBを再開始させる(S330、S340)。
対象タスクの状態が「Running」において、プリエンプト(対象タスクとは別のタスクの実行にCPUの仕事が割り当てられること)が発生すると、対象タスクの状態は「Ready」となり、レディ時処理(図8)が実行され、タイマBが停止する(S410:YES→S420)。尚、このとき、タイマAはカウントアップを継続する。
その後、再び対象タスクがディスパッチされると、対象タスクの状態は「Running」となり、再開時処理(図9)が実行され、タイマBが開始する(S510:YES→S520)。
そして、対象タスクの実行が終了すると、対象タスクの状態は「Suspended」となり、終了時処理(図10)が実行され、タイマAのカウント値が経過時間の生値として計測結果格納部20に格納されると共に(S620)、タイマBのカウント値が実行時間の生値として計測結果格納部20に格納される(S630)。また、タイマAが0からカウントアップを開始すると共に(S640)、タイマBのカウント値が0に戻る(S650)。
その後、対象タスクが再び起床されると、対象タスクの状態は「Ready」となり、起床時処理(図7)が実行され、タイマAのカウント値が余裕時間の生値として計測結果格納部20に記憶される(S210:YES→S220:YES→S230)。以後は、前述した通りである。
このようにして、対象タスクについて、待ち時間、経過時間、実行時間、及び余裕時間が計測される。また、抜け回数も計測される(S270)。さらに、タスクID書換部10により、対象タスクが所定の切換時間毎に切り換えられるため、本実施形態では、2つのタイマ(ハードカウンタ14A,14B)により、複数のタスクについて、複数の指標時間を計測することができるようになっている。
次に、本実施形態では、デバッグ装置3において、指標時間の長さとその発生頻度との関係を表す度数分布グラフが表示されるようになっている。図15、図16は、グラフの一例である。
図15は、度数分布の2次元グラフである。図15の二次元グラフでは、タスクS、タスクT、タスクUの3種類のタスクのそれぞれについて、待ち時間についての度数分布を表している。X軸は、待ち時間(μs)であり、Y軸は、1secあたりの発生回数(回/1s)である。
図15では、プロット点が、タスクの種類毎に色分けされている。また、プロット点の形状をタスク毎に異ならせるようにしている。具体的に、タスクSのプロット点の形状は□で表し、タスクTのプロット点の形状は○で表し、タスクUのプロット点の形状は△で表している。
これにより、視覚的に視認しやすいものとなっている。
次に、図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の負荷の度合い毎の、待ち時間の長さとその長さ毎の発生頻度との関係を表している。
以上説明したように、本実施形態においては、計測対象のタスク(対象タスク)を順次切り換えることで、複数のタスクのそれぞれについて、順番に、指標時間(具体的に、待ち時間、経過時間、実行時間、及び余裕時間)を計測する。このため、複数のタスクのそれぞれについて、複数の指標時間を計測することができる。特に、指標時間を計測するためのタイマを2つ備えており、経過時間と実行時間とを、同時に計測できるようになっている。また、タイマをハードで構成し、そのタイマの値を読み込むという簡単な処理で指標時間を計測することができ、複雑な構成や処理が不要となって有利である。
また、上記実施形態では、所定回数を超えてタスクを起床しようとしたために起床に失敗した回数もカウントして計測できるようになっている。このような計測装置によれば、タスクの実行態様の解析に資することができる。
また、上記実施形態において、指標時間は、デバッグ装置3において、いつ計測できた指標時間かが識別可能に記憶されるようになっている。さらに、指標時間の最大値、最小値、積算値(平均値)が算出されるようになっている。これによれば、計測装置の使用者は、指標時間の統計的な検証が可能となり、タスクの実行態様をより詳細に解析できるようになる。このため、より最適なプログラム設計ができるようになる。例えば、タスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとりやすくなる。
また、上記実施形態において、指標時間の長さについての度数分布グラフが表示されるようになっているため、計測装置の使用者は、タスクの実行態様を視覚的に認識し易くなる。
尚、上記実施形態において、S270の処理が検出手段に相当している。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
例えば、上記実施形態において、図15,図16では、待ち時間についての度数分布を示したが、他の指標時間についての度数分布を示しても良い。複数の指標時間の度数分布を1つのグラフ上に示す場合、指標時間毎に、プロット点が色分けされるようにすると良い。そうすれば、視覚的により認識しやすいものとなる。
また、上記実施形態では、タスクの起床時にタイマBがリセットされるようになっているが(S250)、タスクの起床から、実際にそのタスクの実行が開始されるまでの間であれば、タイマBのリセットタイミングはいつでも良い。また、タスクの実行開始のタイミングで、タイマBがリセットされると共にカウントアップが開始されるようにしても良い。
また、上記実施形態では、タスクの実行が終了したタイミングでタイマBがリセットされるようになっているが(S650)、タスクの実行終了から、実際にそのタスクの実行が開始されるまでの間であれば、タイマBのリセットタイミングはいつでも良い。また、タスクの実行開始のタイミングで、タイマBがリセットされると共にカウントアップが開始されるようにしても良い。
また、上記実施形態において、最大値算出処理(図11)、最小値算出処理(図12)、積算値算出処理(図13)は、それぞれ、ソフト処理部12が実行するように構成しても良い。
また、上記実施形態において、計測結果格納部20には、指標時間の最新の計測値のみが記憶されるが、例えば、複数回分の計測値が記憶されるようにしても良い。この場合、古いデータから順に、新しいデータと置き換えられるようにすれば良い。
また、上記実施形態において、タスクIDは、通し番号に限らず、どのような形式のデータでも良い。
また、上記実施形態において、S130及びS170の処理が実行されない構成でも良い。
また、上記実施形態において、起床に係るタスクよりも優先度の高いタスクが実行中であり、その起床に係るタスクの次の起床タイミングが到来するまでに、その優先度の高いタスクが終了せず、前回の起床分についての実行がキャンセルされてしまう現象の回数をカウントするようにしても良い。
また、上記実施形態において、ハードカウンタ部14の機能をソフトで構成しても良い。
また、上記実施形態において、図11の最大値算出処理では、少なくとも待ち時間、経過時間、及び実行時間の最大値が算出できれば良く、余裕時間の最大値は算出されなくても構わない。システム上、余裕時間が大きくなってしまっても特に不都合は生じないためである。むしろ余裕時間が大きいほうが好ましいと言える。
また、上記実施形態において、図12の最小値算出処理では、少なくとも経過時間、実行時間、及び余裕時間の最小値が算出できれば良く、待ち時間の最小値は算出されなくても構わない。システム上、待ち時間の最小値が小さくなってしまっても特に不都合は生じないためである。むしろ待ち時間が小さいほうが好ましいと言える。
また、上記実施形態では、所定の切換時間毎に対象タスクが切り換えられるようになっているが、対象タスクについて、指標時間の算出回数が所定の算出回数に達する前に、対象タスクを切り換えるようにしても良い。具体的に、待ち時間、経過時間、実行時間、余裕時間、及び抜け回数を一通り計測した時点で算出回数を1回とカウントし、その算出回数が所定回数に達すると、対象タスクを切り換えるようにしても良い。尚、待ち時間、経過時間、実行時間、余裕時間、及び抜け回数の少なくとも何れかを計測した時点で算出回数を1回とカウントしても良いことは勿論である。
本実施形態の計測装置の構成を表す図である。 ハードカウンタ部14のハードカウンタの説明図である。 タスクID記憶部16の説明図である。 計測結果格納部20の説明図である。 タスクID書換部18が実行するタスクID書換処理のフローチャートである。 ソフト処理部12が実行する起床時処理のフローチャートである。 ソフト処理部12が実行する開始時処理のフローチャートである。 ソフト処理部12が実行するレディ時処理のフローチャートである。 ソフト処理部12が実行する再開時処理のフローチャートである。 ソフト処理部12が実行する終了時処理のフローチャートである。 デバッグ装置3において実行される最大値算出処理のフローチャートである。 デバッグ装置3において実行される最小値算出処理のフローチャートである。 デバッグ装置3において実行される積算値算出処理のフローチャートである。 本実施形態の作用を表すタイムチャートである。 デバッグ装置3において表示される2次元グラフである。 デバッグ装置3において表示される3次元グラフである。
符号の説明
2…ECU、3…デバッグ装置、10…マイコン、12…ソフト処理部、14…ハードカウンタ部、14A,14B…ハードカウンタ、16…タスクID記憶部、18…タスクID書換部、20…計測結果格納部。

Claims (15)

  1. マイクロコンピュータが実行する複数のタスクのそれぞれについて、そのタスクの状況毎に、そのタスクがその状況下にある期間(以下、指標時間と言う)を計測する計測装置であって、
    一定時間毎にカウント動作するカウンタを備え、
    前記複数のタスクのうち、何れかのタスクを、予め定められた切り換え条件に達する毎に、計測対象のタスク(以下、対象タスクと言う)として順次選択すると共に、その対象タスクの状況が変化したときの前記カウンタのカウント値に基づき、その対象タスクの状況が変化する直前の状況についての前記指標時間を算出するようになっていることを特徴とする計測装置。
  2. 請求項1に記載の計測装置において、
    前記カウンタを少なくとも2つ備え、
    前記対象タスクの実行が開始されてから終了するまでの期間と、その開始から終了までの期間のうち、その対象タスクの実行のために前記マイクロコンピュータのCPUの仕事が割り当てられた期間とを計測することを特徴とする計測装置。
  3. 請求項1又は請求項2に記載の計測装置において、
    前記対象タスクが起床されてから、その対象タスクの実行が開始されるまでの期間を計測することを特徴とする計測装置。
  4. 請求項1ないし請求項3の何れか1項に記載の計測装置において、
    前記対象タスクの実行が終了してから、その対象タスクが次に起床されるまでの期間を計測することを特徴とする計測装置。
  5. 請求項1ないし請求項4の何れか1項に記載の計測装置において、
    前記複数のタスクのそれぞれは、起床のタイミングが予め定められており、
    前記対象タスクの起床タイミングで、その対象タスクが実行されない現象の回数を計測する検出手段を備えていることを特徴とする計測装置。
  6. 請求項1ないし請求項5の何れか1項に記載の計測装置において、
    前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の情報は、いつ計測できた情報かが識別可能に記憶されるように構成されていることを特徴とする計測装置。
  7. 請求項1ないし請求項6の何れか1項に記載の計測装置において、
    前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最大値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。
  8. 請求項1ないし請求項7の何れか1項に記載の計測装置において、
    前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最小値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。
  9. 請求項1ないし請求項8の何れか1項に記載の計測装置において、
    前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さの平均値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。
  10. 請求項1ないし請求項9の何れか1項に記載の計測装置において、
    前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さと、その長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっていることを特徴とする計測装置。
  11. 請求項1ないし請求項10の何れか1項に記載の計測装置において、
    前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、前記マイクロコンピュータが備えるCPUの負荷は変化するようになっており、そのCPUの負荷の度合い毎の、指標時間の長さとその長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっていることを特徴とする計測装置。
  12. 請求項10又は請求項11に記載の計測装置において、
    前記解析用情報は、グラフであると共に、そのグラフのプロット点が、前記タスクの種類毎に色分けされていることを特徴とする計測装置。
  13. 請求項10ないし請求項12の何れか1項に記載の計測装置において、
    前記解析用情報は、グラフであると共に、そのグラフのプロット点が、前記タスクの状況の種別毎に色分けされていることを特徴とする計測装置。
  14. 請求項1ないし請求項13の何れか1項に記載の計測装置において、
    前記切り換え条件は、所定の時間が経過することであることを特徴とする計測装置。
  15. 請求項1ないし請求項13の何れか1項に記載の計測装置において、
    前記切り換え条件は、前記指標時間の算出回数が所定の回数になることであることを特徴とする計測装置。
JP2007152768A 2007-06-08 2007-06-08 計測装置 Active JP4853390B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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