JPH07175687A - システムcpu時間の測定方法 - Google Patents
システムcpu時間の測定方法Info
- Publication number
- JPH07175687A JPH07175687A JP5320533A JP32053393A JPH07175687A JP H07175687 A JPH07175687 A JP H07175687A JP 5320533 A JP5320533 A JP 5320533A JP 32053393 A JP32053393 A JP 32053393A JP H07175687 A JPH07175687 A JP H07175687A
- Authority
- JP
- Japan
- Prior art keywords
- time
- idle
- measurement
- timer
- state
- 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
Links
Landscapes
- Measurement Of Unknown Time Intervals (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 システムCPU時間およびシステムCPU使
用率をタイマと同精度で求めることができるシステムC
PU時間の測定方法を提供する。 【構成】 まず、測定初期設定処理21においてアイド
ル累積時間42を零とする。そして、アイドル状態開始
処理22においてタイマ32の値であるタイマ値を退避
する。次に、アイドル状態終了処理23におけるタイマ
値とアイドル状態開始処理22において退避されたタイ
マ値とから、制御プログラムがアイドル状態2にあった
時間を求めてアイドル累積時間42に加算するととも
に、任意の第1の時刻にタイマ値およびアイドル累積時
間42を退避し、これらの値および時間と第2の時刻に
得られるタイマ値およびアイドル累積時間42とから、
第1の時刻と第2の時刻とで規定される時間内のシステ
ムCPU時間を求める。
用率をタイマと同精度で求めることができるシステムC
PU時間の測定方法を提供する。 【構成】 まず、測定初期設定処理21においてアイド
ル累積時間42を零とする。そして、アイドル状態開始
処理22においてタイマ32の値であるタイマ値を退避
する。次に、アイドル状態終了処理23におけるタイマ
値とアイドル状態開始処理22において退避されたタイ
マ値とから、制御プログラムがアイドル状態2にあった
時間を求めてアイドル累積時間42に加算するととも
に、任意の第1の時刻にタイマ値およびアイドル累積時
間42を退避し、これらの値および時間と第2の時刻に
得られるタイマ値およびアイドル累積時間42とから、
第1の時刻と第2の時刻とで規定される時間内のシステ
ムCPU時間を求める。
Description
【0001】
【産業上の利用分野】本発明は、異なる二つの時刻間の
システムCPU時間の測定方法に係り、特に、電子計算
機、ワードプロセッサ、電子交換機、ワークステーショ
ン等の情報処理装置内で動作するプログラムの上記二つ
の時刻間のシステムCPU時間の測定方法に関する。
システムCPU時間の測定方法に係り、特に、電子計算
機、ワードプロセッサ、電子交換機、ワークステーショ
ン等の情報処理装置内で動作するプログラムの上記二つ
の時刻間のシステムCPU時間の測定方法に関する。
【0002】
【従来の技術】一般に、情報処理装置は、単数あるいは
複数の被実行プログラム(以後、単にプログラムと称
す)にCPU時間を割り当てる制御プログラムを実行し
て各種処理を行う。制御プログラムは四つの状態をとり
得るものであり、制御プログラムの状態遷移動作は、情
報処理装置内で動作するプログラムのシステムCPU時
間の測定に大きな影響を与える。
複数の被実行プログラム(以後、単にプログラムと称
す)にCPU時間を割り当てる制御プログラムを実行し
て各種処理を行う。制御プログラムは四つの状態をとり
得るものであり、制御プログラムの状態遷移動作は、情
報処理装置内で動作するプログラムのシステムCPU時
間の測定に大きな影響を与える。
【0003】ここで、制御プログラムのとり得る四つの
状態について、図10を参照して説明する。図10は制
御プログラムの状態の一般的な遷移関係を示す状態遷移
図であり、この図に示すように、制御プログラムの状態
は、タスク走行状態1,アイドル状態2,タスク割込処
理状態3,アイドル割込処理状態4の四つの状態間を遷
移する。以下、各状態1〜4について説明する。
状態について、図10を参照して説明する。図10は制
御プログラムの状態の一般的な遷移関係を示す状態遷移
図であり、この図に示すように、制御プログラムの状態
は、タスク走行状態1,アイドル状態2,タスク割込処
理状態3,アイドル割込処理状態4の四つの状態間を遷
移する。以下、各状態1〜4について説明する。
【0004】(1)アイドル状態2 アイドル状態2は、情報処理装置のCPUが制御プログ
ラム以外のプログラムを実行しておらず、かつ、割込み
が発生していない状態のことをいう。制御プログラムの
状態は、タスク走行状態1においてCPUに実行されて
いたプログラムがCPUを開放する処理(CPU放棄)
が行われた場合、あるいはアイドル割込処理状態4にお
いて割込処理終了となった場合にアイドル状態2へ遷移
する。
ラム以外のプログラムを実行しておらず、かつ、割込み
が発生していない状態のことをいう。制御プログラムの
状態は、タスク走行状態1においてCPUに実行されて
いたプログラムがCPUを開放する処理(CPU放棄)
が行われた場合、あるいはアイドル割込処理状態4にお
いて割込処理終了となった場合にアイドル状態2へ遷移
する。
【0005】(2)アイドル割込処理状態4 アイドル割込処理状態4は、情報処理装置のCPUが制
御プログラム以外のプログラムを実行しておらず、か
つ、割込処理が行われている状態のことをいう。制御プ
ログラムの状態は、アイドル状態2において割込発生が
あった場合にアイドル割込処理状態4へ遷移する。
御プログラム以外のプログラムを実行しておらず、か
つ、割込処理が行われている状態のことをいう。制御プ
ログラムの状態は、アイドル状態2において割込発生が
あった場合にアイドル割込処理状態4へ遷移する。
【0006】(3)タスク走行状態1 タスク走行状態1は、情報処理装置のCPUが制御プロ
グラム以外のプログラムを実行しており、かつ、割込み
が発生していない状態のことをいう。制御プログラムの
状態は、アイドル状態2において、プログラムにCPU
を割り当てる処理(CPU獲得)が為された場合、ある
いはタスク割込処理状態3において割込処理終了となっ
た場合にタスク走行状態1へ遷移する。
グラム以外のプログラムを実行しており、かつ、割込み
が発生していない状態のことをいう。制御プログラムの
状態は、アイドル状態2において、プログラムにCPU
を割り当てる処理(CPU獲得)が為された場合、ある
いはタスク割込処理状態3において割込処理終了となっ
た場合にタスク走行状態1へ遷移する。
【0007】(4)タスク割込処理状態3 タスク割込処理状態3は、情報処理装置のCPUが制御
プログラム以外のプログラムを実行しており、かつ、割
込処理が行われている状態のことをいう。制御プログラ
ムの状態は、タスク走行状態1において割込発生があっ
た場合にタスク割込処理状態3に遷移する。
プログラム以外のプログラムを実行しており、かつ、割
込処理が行われている状態のことをいう。制御プログラ
ムの状態は、タスク走行状態1において割込発生があっ
た場合にタスク割込処理状態3に遷移する。
【0008】上述した各状態1〜4の内、アイドル状態
2を除いた各状態(アイドル割込処理状態4,タスク走
行状態1,タスク割込処理状態3)では、何らかのプロ
グラムが実行されている。ここで、何らかのプログラム
の実行に費やされた時間をシステムCPU時間と呼ぶ。
従来、このシステムCPU時間を正確に測定する手法は
存在しなかった。
2を除いた各状態(アイドル割込処理状態4,タスク走
行状態1,タスク割込処理状態3)では、何らかのプロ
グラムが実行されている。ここで、何らかのプログラム
の実行に費やされた時間をシステムCPU時間と呼ぶ。
従来、このシステムCPU時間を正確に測定する手法は
存在しなかった。
【0009】また、情報処理装置内には、一般に、正確
な時間T間隔で1が加算される符号無しの正の整数値を
格納するレジスタであるNビット(Nは通常、32以上
の整数)のタイマが存在する。このタイマは、上記時間
Tに応じた精度で時間を表現できる。通常、時間Tは、
1μ秒、または情報処理装置のマシンサイクル時間であ
る。
な時間T間隔で1が加算される符号無しの正の整数値を
格納するレジスタであるNビット(Nは通常、32以上
の整数)のタイマが存在する。このタイマは、上記時間
Tに応じた精度で時間を表現できる。通常、時間Tは、
1μ秒、または情報処理装置のマシンサイクル時間であ
る。
【0010】したがって、タイマのビット数Nが32で
あり、かつ、精度がμ秒レベルである場合、タイマの最
大値は232-1(すなわち、4,294,967,296)となり、こ
のタイマで表現できる最大時間は、4,294,967,296μ秒
(約4,294秒)以上となる。一方、タイマの精度がマシ
ンサイクル時間である場合は、タイマで表現できる最大
時間はマシンサイクルに応じて決定される。
あり、かつ、精度がμ秒レベルである場合、タイマの最
大値は232-1(すなわち、4,294,967,296)となり、こ
のタイマで表現できる最大時間は、4,294,967,296μ秒
(約4,294秒)以上となる。一方、タイマの精度がマシ
ンサイクル時間である場合は、タイマで表現できる最大
時間はマシンサイクルに応じて決定される。
【0011】今後10年間の高速化を考えても、1マシ
ンサイクルは1ナノ秒(精度がナノ秒レベル)以上であ
ると考えられるので、このタイマで表現できる最大時間
は、4,294,967,296ナノ秒(約4.294秒)以上となる。ま
た、タイマは、最大時間に対応する値(最大値)を持っ
た時から時間Tが経過すると、割込みを発生させること
なく、その値を零とする。
ンサイクルは1ナノ秒(精度がナノ秒レベル)以上であ
ると考えられるので、このタイマで表現できる最大時間
は、4,294,967,296ナノ秒(約4.294秒)以上となる。ま
た、タイマは、最大時間に対応する値(最大値)を持っ
た時から時間Tが経過すると、割込みを発生させること
なく、その値を零とする。
【0012】
【発明が解決しようとする課題】上述したように、従
来、システムCPU時間を正確に測定する手法は存在し
なかった。また、タイマは、その値(以後、タイマ値と
称す)が最大となった時から時間Tが経過すると、割込
みを発生させることなく、その値を零とする。したがっ
て、タイマ値が最大となる時刻を挟んだ二つの時刻に規
定される時間が、タイマが表現可能な最大時間以下の時
間であっても、この時間を測定することができなかっ
た。
来、システムCPU時間を正確に測定する手法は存在し
なかった。また、タイマは、その値(以後、タイマ値と
称す)が最大となった時から時間Tが経過すると、割込
みを発生させることなく、その値を零とする。したがっ
て、タイマ値が最大となる時刻を挟んだ二つの時刻に規
定される時間が、タイマが表現可能な最大時間以下の時
間であっても、この時間を測定することができなかっ
た。
【0013】すなわち、制御プログラムの状態がアイド
ル状態2でない(何らかのプログラムが実行されてい
る)相異なる二つの時刻に対応し、かつ、その二つの時
刻で規定される時間がタイマの最大時間以下の時間とな
る任意の2点(2点は時間軸上の点である)間における
システムCPU時間を正確に求めることができないとい
う問題があった。
ル状態2でない(何らかのプログラムが実行されてい
る)相異なる二つの時刻に対応し、かつ、その二つの時
刻で規定される時間がタイマの最大時間以下の時間とな
る任意の2点(2点は時間軸上の点である)間における
システムCPU時間を正確に求めることができないとい
う問題があった。
【0014】なお、制御プログラム等のオーバーヘッド
の増減を測定する場合、その測定の為の2点間の時間
は、通常、タイマで表現可能な最大時間に比較して極め
て小である。例えば、オンライン・リアルタイムシステ
ムでは、1電文の応答時間が数ミリ秒〜数100ミリ秒
である。本発明は、主に、制御プログラム等のオーバー
ヘッドの増減等を測定するものであり、通常、上記任意
の2点間の時間がタイマの最大時間を超過することはな
いため、以後、単に任意の2点と略記する。
の増減を測定する場合、その測定の為の2点間の時間
は、通常、タイマで表現可能な最大時間に比較して極め
て小である。例えば、オンライン・リアルタイムシステ
ムでは、1電文の応答時間が数ミリ秒〜数100ミリ秒
である。本発明は、主に、制御プログラム等のオーバー
ヘッドの増減等を測定するものであり、通常、上記任意
の2点間の時間がタイマの最大時間を超過することはな
いため、以後、単に任意の2点と略記する。
【0015】前述したように、システムCPU時間を正
確に求めることができないため、任意の2点間のシステ
ムCPU時間を当該2点で規定される時間で除算して得
られた値の100倍となるシステムCPU使用率[%]
を正確に求めることができないという欠点もあった。こ
うしたことから、例えば、制御プログラム等に変更を施
す場合、変更前の2点間のオーバーヘッドと、変更後の
2点間のオーバーヘッドを測定し、両者を比較しても、
オーバーヘッドの増減を正確に判断することができない
という問題を招致していた。
確に求めることができないため、任意の2点間のシステ
ムCPU時間を当該2点で規定される時間で除算して得
られた値の100倍となるシステムCPU使用率[%]
を正確に求めることができないという欠点もあった。こ
うしたことから、例えば、制御プログラム等に変更を施
す場合、変更前の2点間のオーバーヘッドと、変更後の
2点間のオーバーヘッドを測定し、両者を比較しても、
オーバーヘッドの増減を正確に判断することができない
という問題を招致していた。
【0016】本発明は、上述した事情に鑑みて為された
ものであり、上記任意の2点間におけるシステムCPU
時間をタイマの精度と同一の精度で正確に測定し、同精
度でシステムCPU使用率を求めることができるシステ
ムCPU時間の測定方法を提供することを目的とする。
ものであり、上記任意の2点間におけるシステムCPU
時間をタイマの精度と同一の精度で正確に測定し、同精
度でシステムCPU使用率を求めることができるシステ
ムCPU時間の測定方法を提供することを目的とする。
【0017】
【課題を解決するための手段】本発明は、情報処理装置
内部に設けられたタイマに基づいて、CPU時間を要求
する被実行プログラムにCPU時間を割り当てるととも
に前記被実行プログラムが存在しない場合にはアイドル
状態となる制御プログラムが、任意の第1の時刻と該時
刻から前記タイマで表現可能な最大の時間以下の任意の
時間が経過した第2の時刻とで規定される時間内にアイ
ドル状態以外の状態にあったCPU時間であるシステム
CPU時間を測定するシステムCPU時間の測定方法で
あって、測定初期設定時刻に、該時刻までのアイドル状
態の累積時間であるアイドル累積時間を零とし、前記測
定初期設定時刻以後の前記制御プログラムがアイドル状
態となるアイドル状態開始時刻に前記タイマの値である
タイマ値を退避し、前記アイドル状態開始時刻以後の前
記制御プログラムがアイドル状態でなくなるアイドル状
態終了時刻に、当該時刻のタイマ値および前記アイドル
状態開始時刻に退避されたタイマ値とから、前記制御プ
ログラムがアイドル状態にあった時間を求めてアイドル
累積時間に加算するとともに、前記第1の時刻は前記測
定初期設定時刻以後の時刻であり、前記第1の時刻にタ
イマ値およびアイドル累積時間を退避し、これらの値お
よび時間と前記第2の時刻に得られるタイマ値およびア
イドル累積時間とから、前記第1の時刻と前記第2の時
刻とで規定される時間内のシステムCPU時間を前記タ
イマの精度と同一の精度で求めることを特徴としてい
る。
内部に設けられたタイマに基づいて、CPU時間を要求
する被実行プログラムにCPU時間を割り当てるととも
に前記被実行プログラムが存在しない場合にはアイドル
状態となる制御プログラムが、任意の第1の時刻と該時
刻から前記タイマで表現可能な最大の時間以下の任意の
時間が経過した第2の時刻とで規定される時間内にアイ
ドル状態以外の状態にあったCPU時間であるシステム
CPU時間を測定するシステムCPU時間の測定方法で
あって、測定初期設定時刻に、該時刻までのアイドル状
態の累積時間であるアイドル累積時間を零とし、前記測
定初期設定時刻以後の前記制御プログラムがアイドル状
態となるアイドル状態開始時刻に前記タイマの値である
タイマ値を退避し、前記アイドル状態開始時刻以後の前
記制御プログラムがアイドル状態でなくなるアイドル状
態終了時刻に、当該時刻のタイマ値および前記アイドル
状態開始時刻に退避されたタイマ値とから、前記制御プ
ログラムがアイドル状態にあった時間を求めてアイドル
累積時間に加算するとともに、前記第1の時刻は前記測
定初期設定時刻以後の時刻であり、前記第1の時刻にタ
イマ値およびアイドル累積時間を退避し、これらの値お
よび時間と前記第2の時刻に得られるタイマ値およびア
イドル累積時間とから、前記第1の時刻と前記第2の時
刻とで規定される時間内のシステムCPU時間を前記タ
イマの精度と同一の精度で求めることを特徴としてい
る。
【0018】
【作用】上記方法によれば、まず、測定初期設定時刻
に、該時刻までのアイドル状態の累積時間であるアイド
ル累積時間を零とする。そして、前記測定初期設定時刻
以後の前記制御プログラムがアイドル状態となるアイド
ル状態開始時刻に前記タイマの値であるタイマ値を退避
し、前記アイドル状態開始時刻以後の前記制御プログラ
ムがアイドル状態でなくなるアイドル状態終了時刻に、
当該時刻のタイマ値および前記アイドル状態開始時刻に
退避されたタイマ値とから、前記制御プログラムがアイ
ドル状態にあった時間を求めてアイドル累積時間に加算
する。また、前記測定初期設定時刻以後の第1の時刻に
タイマ値およびアイドル累積時間を退避し、これらの値
および時間と前記第1の時刻からタイマで表現可能な最
大の時間以下の任意の時間が経過した前記第2の時刻に
得られるタイマ値およびアイドル累積時間とから、前記
第1の時刻と前記第2の時刻とで規定される時間内のシ
ステムCPU時間を前記タイマの精度と同一の精度で求
める。すなわち、前記第1の時刻及び前記第2の時刻に
対応する任意の2点間におけるシステムCPU時間がタ
イマの精度と同一の精度で正確に測定され、同精度でシ
ステムCPU使用率が求められる。
に、該時刻までのアイドル状態の累積時間であるアイド
ル累積時間を零とする。そして、前記測定初期設定時刻
以後の前記制御プログラムがアイドル状態となるアイド
ル状態開始時刻に前記タイマの値であるタイマ値を退避
し、前記アイドル状態開始時刻以後の前記制御プログラ
ムがアイドル状態でなくなるアイドル状態終了時刻に、
当該時刻のタイマ値および前記アイドル状態開始時刻に
退避されたタイマ値とから、前記制御プログラムがアイ
ドル状態にあった時間を求めてアイドル累積時間に加算
する。また、前記測定初期設定時刻以後の第1の時刻に
タイマ値およびアイドル累積時間を退避し、これらの値
および時間と前記第1の時刻からタイマで表現可能な最
大の時間以下の任意の時間が経過した前記第2の時刻に
得られるタイマ値およびアイドル累積時間とから、前記
第1の時刻と前記第2の時刻とで規定される時間内のシ
ステムCPU時間を前記タイマの精度と同一の精度で求
める。すなわち、前記第1の時刻及び前記第2の時刻に
対応する任意の2点間におけるシステムCPU時間がタ
イマの精度と同一の精度で正確に測定され、同精度でシ
ステムCPU使用率が求められる。
【0019】
[A: 本発明のシステムCPU(Central Processing
Unit :中央処理装置)時間の測定方法の概略説明]本
発明の一実施例について説明する前に、まず、本発明の
システムCPU時間の測定方法の概略について説明す
る。本発明のシステムCPU時間の測定方法は、電子計
算機、ワードプロセッサ、電子交換機、ワークステーシ
ョン等の情報処理装置において一般的なタイマによる経
過時間の算出に関する性質と、新たに定義するアイドル
累積時間とを利用して、システムCPU時間およびシス
テムCPU使用率を測定する。
Unit :中央処理装置)時間の測定方法の概略説明]本
発明の一実施例について説明する前に、まず、本発明の
システムCPU時間の測定方法の概略について説明す
る。本発明のシステムCPU時間の測定方法は、電子計
算機、ワードプロセッサ、電子交換機、ワークステーシ
ョン等の情報処理装置において一般的なタイマによる経
過時間の算出に関する性質と、新たに定義するアイドル
累積時間とを利用して、システムCPU時間およびシス
テムCPU使用率を測定する。
【0020】[ タイマによる経過時間の算出に関す
る一般的な性質]まず、タイマによる経過時間の算出に
関する一般的な性質について説明する。まず、正確な間
隔Tで1が加算される符号無しの正の整数値を持つNビ
ットのレジスタをタイマとして定義する。したがって、
このタイマの最大値は2N −1である。また、このタイ
マは、タイマ値が最大値となった時から時間Tが経過す
ると、割込み等を発生させずに、タイマ値を零とするも
のとする。
る一般的な性質]まず、タイマによる経過時間の算出に
関する一般的な性質について説明する。まず、正確な間
隔Tで1が加算される符号無しの正の整数値を持つNビ
ットのレジスタをタイマとして定義する。したがって、
このタイマの最大値は2N −1である。また、このタイ
マは、タイマ値が最大値となった時から時間Tが経過す
ると、割込み等を発生させずに、タイマ値を零とするも
のとする。
【0021】ここで、任意の第1の時刻でのタイマ値を
Aとし、任意の第2の時刻でのタイマ値をA’とする。
ここで、第2の時刻は、第1の時刻からタイマの最大値
に応じた最大時間以下の任意の経過時間Xが経過した時
刻とすれば、第1の時刻で表される時点と第2の時刻で
表される時点との間の経過時間X(任意の2点間の経過
時間X)は、A’>Aならば下式(1)により、A’<
Aならば下式(2)により求められる。 X = A’ − A …… (1) X = A’ + 2N − A …… (2)
Aとし、任意の第2の時刻でのタイマ値をA’とする。
ここで、第2の時刻は、第1の時刻からタイマの最大値
に応じた最大時間以下の任意の経過時間Xが経過した時
刻とすれば、第1の時刻で表される時点と第2の時刻で
表される時点との間の経過時間X(任意の2点間の経過
時間X)は、A’>Aならば下式(1)により、A’<
Aならば下式(2)により求められる。 X = A’ − A …… (1) X = A’ + 2N − A …… (2)
【0022】[ 本発明で新たに定義するアイドル累
積時間及びその性質]次に、本発明で新たに定義するア
イドル累積時間及びその性質について説明する。アイド
ル累積時間は、測定の為の初期設定測時(以後、測定初
期設定時と称す)に、その値を零とされる。アイドル累
積時間に零が設定されるのは、測定初期設定時と、後述
する加算処理において、加算の結果、アイドル累積時間
が2Nとなる場合である。後者の場合、アイドル累積時
間はオーバーフローを起こし、アイドル累積時間に残る
値が零となる。
積時間及びその性質]次に、本発明で新たに定義するア
イドル累積時間及びその性質について説明する。アイド
ル累積時間は、測定の為の初期設定測時(以後、測定初
期設定時と称す)に、その値を零とされる。アイドル累
積時間に零が設定されるのは、測定初期設定時と、後述
する加算処理において、加算の結果、アイドル累積時間
が2Nとなる場合である。後者の場合、アイドル累積時
間はオーバーフローを起こし、アイドル累積時間に残る
値が零となる。
【0023】タスク走行状態1においてCPU放棄が為
されたり、あるいはアイドル割込処理状態4において割
込処理終了となると、制御プログラムの状態はアイドル
状態2に遷移する。この時のタイマ値であるYを、アイ
ドル状態開始時刻として退避する。そして、アイドル状
態2においてCPU獲得が為されたり、あるいはアイド
ル状態2において割込発生となると、制御プログラムの
状態はアイドル状態2から他の状態に遷移する。
されたり、あるいはアイドル割込処理状態4において割
込処理終了となると、制御プログラムの状態はアイドル
状態2に遷移する。この時のタイマ値であるYを、アイ
ドル状態開始時刻として退避する。そして、アイドル状
態2においてCPU獲得が為されたり、あるいはアイド
ル状態2において割込発生となると、制御プログラムの
状態はアイドル状態2から他の状態に遷移する。
【0024】この時のタイマ値であるY’をアイドル状
態終了時刻として求めると、Y’>Yであれば下式
(3)により、Y’<Yであれば下式(4)により、ア
イドル状態開始時刻からアイドル状態終了時刻までの、
制御プログラムの状態がアイドル状態2であった時間で
あるアイドル時間Zが求められる。 Z = Y’ − Y …… (3) Z = Y’ + 2N − Y …… (4) そして、アイドル時間Zをアイドル状態終了時刻のアイ
ドル累積時間に加算したものを、新たなアイドル累積時
間とする。
態終了時刻として求めると、Y’>Yであれば下式
(3)により、Y’<Yであれば下式(4)により、ア
イドル状態開始時刻からアイドル状態終了時刻までの、
制御プログラムの状態がアイドル状態2であった時間で
あるアイドル時間Zが求められる。 Z = Y’ − Y …… (3) Z = Y’ + 2N − Y …… (4) そして、アイドル時間Zをアイドル状態終了時刻のアイ
ドル累積時間に加算したものを、新たなアイドル累積時
間とする。
【0025】但し、上記加算処理後のアイドル累積時間
の値をWとし、W>2N −1となった場合には、タイマ
と同様に、オーバーフローしたビット(このビットは2
N に相当する)を無視し、アイドル累積時間はW−2N
となる。すなわち、ある時刻におけるアイドル累積時間
は、測定初期設定時からその「ある時刻」までに、制御
プログラムがアイドル状態であった経過時間Zの合計値
の下Nビット値である。したがって、アイドル累積時間
を新たに定義したことは、測定初期設定時以後の任意の
時刻において、アイドル状態2に関するタイマを疑似的
に実現したことに相当する。
の値をWとし、W>2N −1となった場合には、タイマ
と同様に、オーバーフローしたビット(このビットは2
N に相当する)を無視し、アイドル累積時間はW−2N
となる。すなわち、ある時刻におけるアイドル累積時間
は、測定初期設定時からその「ある時刻」までに、制御
プログラムがアイドル状態であった経過時間Zの合計値
の下Nビット値である。したがって、アイドル累積時間
を新たに定義したことは、測定初期設定時以後の任意の
時刻において、アイドル状態2に関するタイマを疑似的
に実現したことに相当する。
【0026】[ システムCPU時間およびシステム
CPU使用率の算出]ここで、上述したタイマの性質、
及びアイドル累積時間に基づいて、任意の2点間のシス
テムCPU時間およびシステムCPU使用率を算出する
過程の概略を説明する。ただし、任意の2点として、時
刻T1と当該時刻T1以後の時刻T1’とを仮定する。
CPU使用率の算出]ここで、上述したタイマの性質、
及びアイドル累積時間に基づいて、任意の2点間のシス
テムCPU時間およびシステムCPU使用率を算出する
過程の概略を説明する。ただし、任意の2点として、時
刻T1と当該時刻T1以後の時刻T1’とを仮定する。
【0027】[過程1]: まず、時刻T1におけるタ
イマ値A及びアイドル累積時間Z1を記憶(退避)して
おく。 [過程2]: 次に、時刻T1’におけるタイマ値A’
及びアイドル累積時間Z1’を得る。 [過程3]: そして、前記式(1),(2)により、
時刻T1から時刻T1’に到るまでの経過時間Xを求め
る。
イマ値A及びアイドル累積時間Z1を記憶(退避)して
おく。 [過程2]: 次に、時刻T1’におけるタイマ値A’
及びアイドル累積時間Z1’を得る。 [過程3]: そして、前記式(1),(2)により、
時刻T1から時刻T1’に到るまでの経過時間Xを求め
る。
【0028】[過程4]: また、前記式(3),
(4)と同様な式である下式(5),(6)により、経
過時間Xの中に占めるアイドル時間ZTを求める。この
際、Z1’>Z1ならば式(5)を適用し、Z1’<Z
1ならば式(6)を適用する。 ZT = Z1’ − Z1 …… (5) ZT = Z1’ + 2N − Z1 …… (6)
(4)と同様な式である下式(5),(6)により、経
過時間Xの中に占めるアイドル時間ZTを求める。この
際、Z1’>Z1ならば式(5)を適用し、Z1’<Z
1ならば式(6)を適用する。 ZT = Z1’ − Z1 …… (5) ZT = Z1’ + 2N − Z1 …… (6)
【0029】[過程5]: システムCPU時間は、経
過時間Xからアイドル時間ZTを除いたものであるか
ら、時刻T1から時刻T1’に到るまでの間におけるシ
ステムCPU時間ZCは、下式(7)より算出される。 ZC = X − ZT …… (7) [過程6]: また、時刻T1から時刻T1’に到るま
での間におけるシステムCPU使用率RC[%]は、時
刻T1から時刻T1’に至るまでの時間に対して、当該
時間内のシステムCPU時間ZCが占める割合(百分
率)であるため、下式(8)より算出される。 RC = ZC / X × 100 [%] …… (8)
過時間Xからアイドル時間ZTを除いたものであるか
ら、時刻T1から時刻T1’に到るまでの間におけるシ
ステムCPU時間ZCは、下式(7)より算出される。 ZC = X − ZT …… (7) [過程6]: また、時刻T1から時刻T1’に到るま
での間におけるシステムCPU使用率RC[%]は、時
刻T1から時刻T1’に至るまでの時間に対して、当該
時間内のシステムCPU時間ZCが占める割合(百分
率)であるため、下式(8)より算出される。 RC = ZC / X × 100 [%] …… (8)
【0030】以上説明したように、任意の2点である時
刻T1から時刻T1’に到るまでの経過時間Xを、タイ
マと同じ精度(例えば、μ秒レベル、またはマシンサイ
クルレベル)で求め、経過時間Xの中に占めるアイドル
時間ZTを、タイマと同じ精度で求める。こうして、任
意の2点である時刻T1から時刻T1’までの間におけ
るシステムCPU時間とシステムCPU使用率とが、タ
イマと同一の精度で求められる。
刻T1から時刻T1’に到るまでの経過時間Xを、タイ
マと同じ精度(例えば、μ秒レベル、またはマシンサイ
クルレベル)で求め、経過時間Xの中に占めるアイドル
時間ZTを、タイマと同じ精度で求める。こうして、任
意の2点である時刻T1から時刻T1’までの間におけ
るシステムCPU時間とシステムCPU使用率とが、タ
イマと同一の精度で求められる。
【0031】[B: 本発明の一実施例の説明]以下、
図面を参照して、本発明の一実施例について説明する。 [ 本発明の一実施例によるシステムCPU時間の測
定方法を適用した情報処理装置の概略説明]まず、図1
を参照して、本発明の一実施例によるシステムCPU時
間の測定方法を適用した情報処理装置の構成の概略を説
明する。図1は本発明の一実施例によるシステムCPU
時間の測定方法の概略を説明するための概念図であり、
情報処理装置内で行われる各処理、および当該各処理に
更新・参照される入出力情報30の構造を概念的に示し
ている。また、この図において、太破線の矢印は、各処
理が実行される順序を、細実戦の矢印は各処理と各情報
との更新関係を、細破線の矢印は各処理と各情報との参
照関係を表す。
図面を参照して、本発明の一実施例について説明する。 [ 本発明の一実施例によるシステムCPU時間の測
定方法を適用した情報処理装置の概略説明]まず、図1
を参照して、本発明の一実施例によるシステムCPU時
間の測定方法を適用した情報処理装置の構成の概略を説
明する。図1は本発明の一実施例によるシステムCPU
時間の測定方法の概略を説明するための概念図であり、
情報処理装置内で行われる各処理、および当該各処理に
更新・参照される入出力情報30の構造を概念的に示し
ている。また、この図において、太破線の矢印は、各処
理が実行される順序を、細実戦の矢印は各処理と各情報
との更新関係を、細破線の矢印は各処理と各情報との参
照関係を表す。
【0032】この図において、21は測定初期設定処
理、22はアイドル状態開始処理、23はアイドル状態
終了処理、24は測定開始処理、25は測定終了・次測
定開始処理である。制御プログラムにより各処理21〜
25が実行されることにより、更新・参照される入出力
情報30において、31は第1のシステム変数域、32
はタイマ、33は第2のシステム変数域であり、各々
は、本情報処理装置内に一つだけ存在する。
理、22はアイドル状態開始処理、23はアイドル状態
終了処理、24は測定開始処理、25は測定終了・次測
定開始処理である。制御プログラムにより各処理21〜
25が実行されることにより、更新・参照される入出力
情報30において、31は第1のシステム変数域、32
はタイマ、33は第2のシステム変数域であり、各々
は、本情報処理装置内に一つだけ存在する。
【0033】入出力情報30において、第1のシステム
変数域31は、測定初期設定完了表示値41、アイドル
累積時間42、及びアイドル状態開始時刻43からな
り、第2のシステム変数域33は、測定開始表示値4
4,測定開始時アイドル累積時間45,及び測定開始時
タイマ値46からなる。また、タイマ32は、時間T間
隔でタイマ値に1が加算されるNビットのレジスタであ
る。
変数域31は、測定初期設定完了表示値41、アイドル
累積時間42、及びアイドル状態開始時刻43からな
り、第2のシステム変数域33は、測定開始表示値4
4,測定開始時アイドル累積時間45,及び測定開始時
タイマ値46からなる。また、タイマ32は、時間T間
隔でタイマ値に1が加算されるNビットのレジスタであ
る。
【0034】ここで、各処理21〜25の機能について
説明する。測定初期設定処理21は、測定初期設定完了
表示値41を測定初期設定完了済を表す1とし、測定開
始処理24及び測定終了・次測定開始処理25を実行可
能とするとともに、制御プログラムがアイドル状態開始
処理22及びアイドル状態終了処理23に対応するプロ
グラムを呼び出すように制御プログラムに依頼する。
説明する。測定初期設定処理21は、測定初期設定完了
表示値41を測定初期設定完了済を表す1とし、測定開
始処理24及び測定終了・次測定開始処理25を実行可
能とするとともに、制御プログラムがアイドル状態開始
処理22及びアイドル状態終了処理23に対応するプロ
グラムを呼び出すように制御プログラムに依頼する。
【0035】アイドル状態開始処理22は、タイマ32
を参照して、タイマ値をアイドル状態開始時刻43に設
定し、アイドル状態終了処理23は、アイドル状態開始
時刻43とタイマ32とアイドル累積時間42を参照し
て、アイドル累積時間42を更新する。測定開始処理2
4は、測定開始表示値44を測定開始済を表す1に設定
するとともに、タイマ32およびアイドル累積時間42
を参照して、タイマ値を測定開始時タイマ値46、アイ
ドル累積時間42を測定開始時アイドル累積時間45に
設定する。
を参照して、タイマ値をアイドル状態開始時刻43に設
定し、アイドル状態終了処理23は、アイドル状態開始
時刻43とタイマ32とアイドル累積時間42を参照し
て、アイドル累積時間42を更新する。測定開始処理2
4は、測定開始表示値44を測定開始済を表す1に設定
するとともに、タイマ32およびアイドル累積時間42
を参照して、タイマ値を測定開始時タイマ値46、アイ
ドル累積時間42を測定開始時アイドル累積時間45に
設定する。
【0036】測定終了・次測定開始処理25は、タイマ
32、アイドル累積時間42、測定開始時アイドル累積
時間45、及び測定開始時タイマ値46に基づいて、直
前に実行した測定開始処理24あるいは測定終了・次測
定開始処理25の実行時刻である第1の時刻から、現在
実行している測定終了・次測定開始処理25の実行時刻
である第2の時刻までの時間におけるシステムCPU時
間と同使用率とを算出して、呼出し元のプログラムの所
定の変数エリアに格納する。また、測定終了・次測定開
始処理25は、その呼出し時に測定完了の指定がされて
いたならば、測定を終了し、次測定有りの指定がされて
いたならば、タイマ32とアイドル累積時間42を、そ
れぞれ、測定開始時タイマ値46及び測定開始時アイド
ル累積時間45に設定する。
32、アイドル累積時間42、測定開始時アイドル累積
時間45、及び測定開始時タイマ値46に基づいて、直
前に実行した測定開始処理24あるいは測定終了・次測
定開始処理25の実行時刻である第1の時刻から、現在
実行している測定終了・次測定開始処理25の実行時刻
である第2の時刻までの時間におけるシステムCPU時
間と同使用率とを算出して、呼出し元のプログラムの所
定の変数エリアに格納する。また、測定終了・次測定開
始処理25は、その呼出し時に測定完了の指定がされて
いたならば、測定を終了し、次測定有りの指定がされて
いたならば、タイマ32とアイドル累積時間42を、そ
れぞれ、測定開始時タイマ値46及び測定開始時アイド
ル累積時間45に設定する。
【0037】一方、入出力情報30の第1のシステム変
数域31は、各処理に更新・参照されて、正確なアイド
ル累積時間42を求める為に設けられている。第1のシ
ステム変数域31において、測定初期設定完了表示値4
1は、情報処理装置内の制御プログラムの初期設定時に
は、測定初期設定未完了を表す零が設定され、測定初期
設定処理21が実行されると、測定初期設定完了済を表
す1が設定される。
数域31は、各処理に更新・参照されて、正確なアイド
ル累積時間42を求める為に設けられている。第1のシ
ステム変数域31において、測定初期設定完了表示値4
1は、情報処理装置内の制御プログラムの初期設定時に
は、測定初期設定未完了を表す零が設定され、測定初期
設定処理21が実行されると、測定初期設定完了済を表
す1が設定される。
【0038】アイドル累積時間42は、測定初期設定処
理21が実行されると零に設定され、アイドル状態終了
処理23により更新され、測定開始処理24および測定
終了・次測定開始処理25に参照される。アイドル状態
開始時刻43は、アイドル状態開始処理22が実行され
るとアイドル状態開始時刻に対応するタイマ32のタイ
マ値が設定され、アイドル状態終了処理23により参照
される。
理21が実行されると零に設定され、アイドル状態終了
処理23により更新され、測定開始処理24および測定
終了・次測定開始処理25に参照される。アイドル状態
開始時刻43は、アイドル状態開始処理22が実行され
るとアイドル状態開始時刻に対応するタイマ32のタイ
マ値が設定され、アイドル状態終了処理23により参照
される。
【0039】次に、タイマ32は、タイマ値が最大とな
った時から時間Tが経過すると、割込みを発生させるこ
となく、その値を零とする。このタイマ32は、情報処
理装置内の制御プログラムの初期設定時に、通常、零に
初期設定され、アイドル状態開始処理22,アイドル状
態終了処理23,測定開始処理24,及び測定終了・次
測定開始処理25の各処理により参照される。
った時から時間Tが経過すると、割込みを発生させるこ
となく、その値を零とする。このタイマ32は、情報処
理装置内の制御プログラムの初期設定時に、通常、零に
初期設定され、アイドル状態開始処理22,アイドル状
態終了処理23,測定開始処理24,及び測定終了・次
測定開始処理25の各処理により参照される。
【0040】次に、第2のシステム変数域33は、測定
開始表示値44,測定開始時アイドル累積時間45,及
び測定開始時タイマ値46からなり、任意の2点間にお
けるシステムCPU時間とシステムCPU使用率を求め
る為に設けられている。測定開始表示値44は、情報処
理装置内の制御プログラムの初期設定時に、測定未開始
を表す零が設定されており、測定初期設定処理21が実
行された後、測定開始処理24が実行された時に、測定
開始済を表す1が設定される。
開始表示値44,測定開始時アイドル累積時間45,及
び測定開始時タイマ値46からなり、任意の2点間にお
けるシステムCPU時間とシステムCPU使用率を求め
る為に設けられている。測定開始表示値44は、情報処
理装置内の制御プログラムの初期設定時に、測定未開始
を表す零が設定されており、測定初期設定処理21が実
行された後、測定開始処理24が実行された時に、測定
開始済を表す1が設定される。
【0041】測定開始時アイドル累積時間45および測
定開始時タイマ値46は、測定開始時刻において測定開
始処理24によりアイドル累積時間42および測定開始
時タイマ値46が設定され、測定終了時刻において測定
終了・次測定開始処理25により参照される。また、測
定終了時刻においてオプション指定があれば、測定終了
・次測定開始処理25により再度設定される。
定開始時タイマ値46は、測定開始時刻において測定開
始処理24によりアイドル累積時間42および測定開始
時タイマ値46が設定され、測定終了時刻において測定
終了・次測定開始処理25により参照される。また、測
定終了時刻においてオプション指定があれば、測定終了
・次測定開始処理25により再度設定される。
【0042】次に、システムCPU時間の測定を行う場
合の各処理21〜25の実行順序について説明する。こ
こで、情報処理装置内の制御プログラムの初期設定が完
了しているものとすると、制御プログラムは、プログラ
ムまたは割込み等の要求に応じて四つの状態(図10参
照)間を遷移する。したがって、制御プログラムの状態
は、図10のタスク走行状態1,アイドル状態2,タス
ク割込処理状態3,及びアイドル割込処理状態4のいづ
れか一つの状態となっている。
合の各処理21〜25の実行順序について説明する。こ
こで、情報処理装置内の制御プログラムの初期設定が完
了しているものとすると、制御プログラムは、プログラ
ムまたは割込み等の要求に応じて四つの状態(図10参
照)間を遷移する。したがって、制御プログラムの状態
は、図10のタスク走行状態1,アイドル状態2,タス
ク割込処理状態3,及びアイドル割込処理状態4のいづ
れか一つの状態となっている。
【0043】このような状態において、まず、制御プロ
グラムに図1の測定初期設定処理21に対応するプログ
ラムを実行させ、測定初期設定完了表示値41を1に設
定する。この際、制御プログラムの状態はタスク走行状
態1(図10参照)となる。次に、測定初期設定処理2
1に対応するプログラムの実行が終了すると、制御プロ
グラムの状態は、図10のアイドル状態2に遷移しよう
とする。この時、アイドル状態開始処理22に対応する
プログラムを実行する。
グラムに図1の測定初期設定処理21に対応するプログ
ラムを実行させ、測定初期設定完了表示値41を1に設
定する。この際、制御プログラムの状態はタスク走行状
態1(図10参照)となる。次に、測定初期設定処理2
1に対応するプログラムの実行が終了すると、制御プロ
グラムの状態は、図10のアイドル状態2に遷移しよう
とする。この時、アイドル状態開始処理22に対応する
プログラムを実行する。
【0044】そして、その後、アイドル状態2からアイ
ドル状態2以外の状態(タスク走行状態1あるいはアイ
ドル割込処理状態4)になる時にアイドル状態終了処理
23に対応するプログラムを実行し、その後、アイドル
状態開始処理22とアイドル状態終了処理23を、制御
プログラムの状態遷移に応じて、交互に繰り返して実行
する。これにより、アイドル累積時間42が更新されて
いく。
ドル状態2以外の状態(タスク走行状態1あるいはアイ
ドル割込処理状態4)になる時にアイドル状態終了処理
23に対応するプログラムを実行し、その後、アイドル
状態開始処理22とアイドル状態終了処理23を、制御
プログラムの状態遷移に応じて、交互に繰り返して実行
する。これにより、アイドル累積時間42が更新されて
いく。
【0045】これに並行して、制御プログラムがタスク
走行状態1にある第1の時刻において、制御プログラム
が測定開始処理24に対応するプログラムを実行する
と、測定開始表示値44が1に設定され、タイマ32の
タイマ値およびアイドル累積時間42が、それぞれ、測
定開始時タイマ値46及び測定開始時アイドル累積時間
45に設定される。
走行状態1にある第1の時刻において、制御プログラム
が測定開始処理24に対応するプログラムを実行する
と、測定開始表示値44が1に設定され、タイマ32の
タイマ値およびアイドル累積時間42が、それぞれ、測
定開始時タイマ値46及び測定開始時アイドル累積時間
45に設定される。
【0046】その後、制御プログラムがタスク走行状態
1にあり、かつ第1の時刻に遅れた第2の時刻におい
て、図1の測定終了・次測定開始処理25に対応するプ
ログラムが呼出されて実行されると、第1の時刻から第
2の時刻までの間の時間におけるCPU時間と同使用率
の情報が計算され、呼出し元の変数エリアに設定され
る。
1にあり、かつ第1の時刻に遅れた第2の時刻におい
て、図1の測定終了・次測定開始処理25に対応するプ
ログラムが呼出されて実行されると、第1の時刻から第
2の時刻までの間の時間におけるCPU時間と同使用率
の情報が計算され、呼出し元の変数エリアに設定され
る。
【0047】その後、呼出し時に測定完了の指定がされ
ていたならば、測定を終了する。逆に、呼出し時に次測
定有りの指定があれば、タイマ32のタイマ値およびア
イドル累積時間42を、それぞれ、測定開始時タイマ値
46及び測定開始時アイドル累積時間45に設定する。
なお、次測定有りの指定があった場合は、その後、再
度、当測定終了・次測定開始処理25のプログラムが実
行され、同様な処理が繰り返される。
ていたならば、測定を終了する。逆に、呼出し時に次測
定有りの指定があれば、タイマ32のタイマ値およびア
イドル累積時間42を、それぞれ、測定開始時タイマ値
46及び測定開始時アイドル累積時間45に設定する。
なお、次測定有りの指定があった場合は、その後、再
度、当測定終了・次測定開始処理25のプログラムが実
行され、同様な処理が繰り返される。
【0048】[ 本発明の一実施例によるシステムC
PU時間の測定方法を適用した制御プログラムにより行
われる処理の説明]次に、上述した本発明の一実施例に
よるシステムCPU時間の測定方法を適用した制御プロ
グラムにより行われる処理について、図2,図3を参照
して説明する。図2,図3は、本発明の一実施例による
システムCPU時間の測定方法を適用した制御プログラ
ムのフローチャートであり、図2はステップS51〜S
66までを示し、図3はステップS67〜S82を示
す。これらの図において、*が付された太枠で示される
ステップは、システムCPU時間の測定方法に対応して
付加された部分である。また、これらの図において、各
ステップは制御プログラムを実行するCPUにより為さ
れるものである。
PU時間の測定方法を適用した制御プログラムにより行
われる処理の説明]次に、上述した本発明の一実施例に
よるシステムCPU時間の測定方法を適用した制御プロ
グラムにより行われる処理について、図2,図3を参照
して説明する。図2,図3は、本発明の一実施例による
システムCPU時間の測定方法を適用した制御プログラ
ムのフローチャートであり、図2はステップS51〜S
66までを示し、図3はステップS67〜S82を示
す。これらの図において、*が付された太枠で示される
ステップは、システムCPU時間の測定方法に対応して
付加された部分である。また、これらの図において、各
ステップは制御プログラムを実行するCPUにより為さ
れるものである。
【0049】[(a) 一般的な制御プログラムによる
処理に関する説明]まず、一般的な制御プログラムによ
る処理に関して、図2,図3の*が付されていない各ス
テップに沿って説明する。制御プログラムは情報処理装
置内で最初に動作を開始するプログラムであり、例え
ば、情報処理装置の電源が投入されると動作を開始す
る。制御プログラムが、その動作を開始すると、処理は
ステップS51へ進み、ここで、CPUの状態を割込禁
止とする。次に、制御プログラムの各種の制御表等を初
期設定し、自身の状態をタスク走行状態1とする。
処理に関する説明]まず、一般的な制御プログラムによ
る処理に関して、図2,図3の*が付されていない各ス
テップに沿って説明する。制御プログラムは情報処理装
置内で最初に動作を開始するプログラムであり、例え
ば、情報処理装置の電源が投入されると動作を開始す
る。制御プログラムが、その動作を開始すると、処理は
ステップS51へ進み、ここで、CPUの状態を割込禁
止とする。次に、制御プログラムの各種の制御表等を初
期設定し、自身の状態をタスク走行状態1とする。
【0050】次に、ステップS53では、実行すべきプ
ログラムがタスクとして存在するか否かを判断する。実
行すべきプログラムのタスクが存在せず、本ステップで
の判断結果が「No」であれば、処理はステップS57
へ進む。ステップS57では、制御プログラムの状態を
アイドル状態2とし、後続するステップS58では、C
PUの状態を割込可能として、割込みまたはタスクの発
生を待ち合わせる。具体的には、一定ステップ数の時間
待ちループを実行させるか、あるいはCPUをWAIT
(ウェイト)させる等して、割込みまたはタスクの発生
を待ち合わせる。
ログラムがタスクとして存在するか否かを判断する。実
行すべきプログラムのタスクが存在せず、本ステップで
の判断結果が「No」であれば、処理はステップS57
へ進む。ステップS57では、制御プログラムの状態を
アイドル状態2とし、後続するステップS58では、C
PUの状態を割込可能として、割込みまたはタスクの発
生を待ち合わせる。具体的には、一定ステップ数の時間
待ちループを実行させるか、あるいはCPUをWAIT
(ウェイト)させる等して、割込みまたはタスクの発生
を待ち合わせる。
【0051】次に、ステップS59では、ステップS5
8で割込みが有ったか否かが判断される。ステップS5
8で、例えば、情報処理装置のコンソールより、あるプ
ログラムの起動コマンドが投入されると、割込みが発生
する。この場合、ステップS59での判断結果は「Ye
s」となり、処理はステップS61(割込処理)へ進
む。ステップS61では、本ステップ以降の割込処理に
おいて新たな割込みが発生しないように、CPUの状態
を割込禁止とする。
8で割込みが有ったか否かが判断される。ステップS5
8で、例えば、情報処理装置のコンソールより、あるプ
ログラムの起動コマンドが投入されると、割込みが発生
する。この場合、ステップS59での判断結果は「Ye
s」となり、処理はステップS61(割込処理)へ進
む。ステップS61では、本ステップ以降の割込処理に
おいて新たな割込みが発生しないように、CPUの状態
を割込禁止とする。
【0052】次に、ステップS62では、制御プログラ
ムの状態がアイドル状態2である否かが判断される。こ
の判断結果が「Yes」であれば、処理はステップS6
3へ進み、そこで、制御プログラムの状態をアイドル割
込処理状態4とする。逆に、上記判断結果が「No」で
あれば、処理はステップS64へ進み、そこで、制御プ
ログラムの状態をタスク割込処理状態3とする。
ムの状態がアイドル状態2である否かが判断される。こ
の判断結果が「Yes」であれば、処理はステップS6
3へ進み、そこで、制御プログラムの状態をアイドル割
込処理状態4とする。逆に、上記判断結果が「No」で
あれば、処理はステップS64へ進み、そこで、制御プ
ログラムの状態をタスク割込処理状態3とする。
【0053】ステップS63またはステップS64が終
了すると、処理はステップS67へ進む。ステップS6
7では、割込処理を行う。この割込処理は、例えば、情
報処理装置のコンソールから、あるプログラムの起動コ
マンドが投入され場合、起動コマンドを受け取るプログ
ラムのタスクを、実行すべきタスクにする。そして、次
のステップS68では、割込処理により割込まれた箇所
に復帰する為に、制御プログラムの状態がタスク割込処
理状態3か否かを判断する。
了すると、処理はステップS67へ進む。ステップS6
7では、割込処理を行う。この割込処理は、例えば、情
報処理装置のコンソールから、あるプログラムの起動コ
マンドが投入され場合、起動コマンドを受け取るプログ
ラムのタスクを、実行すべきタスクにする。そして、次
のステップS68では、割込処理により割込まれた箇所
に復帰する為に、制御プログラムの状態がタスク割込処
理状態3か否かを判断する。
【0054】ここでの場合、制御プログラムの状態はア
イドル割込処理状態4であるので、上記判断結果は「N
o」となり、処理はステップS71へ進む。ステップS
71では、制御プログラムの状態をアイドル状態2に戻
し、CPUの状態を割込可能とする。次に、図2のステ
ップS60では、後続するステップS53に備えて、C
PUの状態を割込禁止とする。
イドル割込処理状態4であるので、上記判断結果は「N
o」となり、処理はステップS71へ進む。ステップS
71では、制御プログラムの状態をアイドル状態2に戻
し、CPUの状態を割込可能とする。次に、図2のステ
ップS60では、後続するステップS53に備えて、C
PUの状態を割込禁止とする。
【0055】次に、ステップS53では、前述したよう
に、実行すべきタスクが存在するか否かを判断する。今
回は、起動コマンドを受け取るプログラムのタスクが、
実行すべきタスクとして存在するため、上記判断結果は
「Yes」となり、処理は図3のステップS76へ進
み、ここで、制御プログラムの状態をタスク走行状態1
とする。
に、実行すべきタスクが存在するか否かを判断する。今
回は、起動コマンドを受け取るプログラムのタスクが、
実行すべきタスクとして存在するため、上記判断結果は
「Yes」となり、処理は図3のステップS76へ進
み、ここで、制御プログラムの状態をタスク走行状態1
とする。
【0056】次に、処理はステップS77へ進む。ステ
ップS77は、タスクのプログラムの実行を行うステッ
プであり、ステップS78〜S82に分割されている。
処理がステップS76から進んできた場合、まず、ステ
ップS78が行われる。このステップでは、通常、CP
Uの状態を割込可能に設定する。そして、ステップS7
9では、実際のプログラムの処理等を行う。
ップS77は、タスクのプログラムの実行を行うステッ
プであり、ステップS78〜S82に分割されている。
処理がステップS76から進んできた場合、まず、ステ
ップS78が行われる。このステップでは、通常、CP
Uの状態を割込可能に設定する。そして、ステップS7
9では、実際のプログラムの処理等を行う。
【0057】次に、ステップS80では、ステップS7
9の処理が行われている間に、割込みが発生したか否か
が判断される。ステップS79において、プログラム処
理が割込み等を待ち合わせる場合や割込みが発生せずに
プログラムの処理が終了した場合等のように、ステップ
S80での判断結果が「No」となる場合は、処理はス
テップS82へ進む。逆に、この判断結果が「Yes」
であれば、処理は図2のステップS61へ進む。
9の処理が行われている間に、割込みが発生したか否か
が判断される。ステップS79において、プログラム処
理が割込み等を待ち合わせる場合や割込みが発生せずに
プログラムの処理が終了した場合等のように、ステップ
S80での判断結果が「No」となる場合は、処理はス
テップS82へ進む。逆に、この判断結果が「Yes」
であれば、処理は図2のステップS61へ進む。
【0058】ここでは、ステップS79で割込みが発生
し、処理はステップS61へ進むものとする。ステップ
S61では、CPUの状態を割込禁止とする。そして、
ステップS62では、制御プログラムの状態がアイドル
状態2であるか否かを判断する。ここでは、制御プログ
ラムの状態はアイドル状態2ではないので、当該判断結
果は「No」となり、処理はステップS64へ進む。
し、処理はステップS61へ進むものとする。ステップ
S61では、CPUの状態を割込禁止とする。そして、
ステップS62では、制御プログラムの状態がアイドル
状態2であるか否かを判断する。ここでは、制御プログ
ラムの状態はアイドル状態2ではないので、当該判断結
果は「No」となり、処理はステップS64へ進む。
【0059】ステップS64では、制御プログラムの状
態をタスク割込処理状態3とする。次に、ステップS6
7では、前述した割込処理を行う。次に、ステップS6
8では、制御プログラムの状態がタスク割込処理状態3
であるか否かを判断する。ここでは、制御プログラムの
状態はタスク割込処理状態3であるので、この判断結果
は「Yes」となり、処理はステップS72へ進む。
態をタスク割込処理状態3とする。次に、ステップS6
7では、前述した割込処理を行う。次に、ステップS6
8では、制御プログラムの状態がタスク割込処理状態3
であるか否かを判断する。ここでは、制御プログラムの
状態はタスク割込処理状態3であるので、この判断結果
は「Yes」となり、処理はステップS72へ進む。
【0060】ステップS72では、制御プログラムの状
態をタスク走行状態1に戻し、CPUの状態を割込可能
に設定する。そして、処理はステップS79へ進む。ス
テップS79ではプログラムの処理等を行う。このステ
ップに後続するステップS80では、前述したように、
ステップS79で割込みが発生したか否かが判断され
る。ここでは、ステップS79で割込みが発生せず、タ
スクのプログラムがCPU放棄を行うものとする。
態をタスク走行状態1に戻し、CPUの状態を割込可能
に設定する。そして、処理はステップS79へ進む。ス
テップS79ではプログラムの処理等を行う。このステ
ップに後続するステップS80では、前述したように、
ステップS79で割込みが発生したか否かが判断され
る。ここでは、ステップS79で割込みが発生せず、タ
スクのプログラムがCPU放棄を行うものとする。
【0061】この場合、ステップS80での判断結果が
「No」となり、その場合に後続するステップS81で
の判断結果が「Yes」となる。すなわち、処理はステ
ップS82へ進む。ステップS82では、CPUの状態
を割込禁止として、新たな割込みが発生しないようにす
る。そして、処理は図2のステップS60へ戻る。上述
したように、制御プログラムは、ステップS53〜S8
2を繰り返し実行する。上述した処理の流れは、一般的
な制御プログラム全てに普遍的に見られる基本的な処理
の流れの一例である。
「No」となり、その場合に後続するステップS81で
の判断結果が「Yes」となる。すなわち、処理はステ
ップS82へ進む。ステップS82では、CPUの状態
を割込禁止として、新たな割込みが発生しないようにす
る。そして、処理は図2のステップS60へ戻る。上述
したように、制御プログラムは、ステップS53〜S8
2を繰り返し実行する。上述した処理の流れは、一般的
な制御プログラム全てに普遍的に見られる基本的な処理
の流れの一例である。
【0062】[(b) システムCPU時間の測定方法
に対応して付加された部分に関する説明]次に、図2,
図3に示すフローチャートにおいて、システムCPU時
間の測定方法に対応して付加(改造)された部分につい
て説明する。前述したように、図2,図3において、上
記付加(改造)された太線で描かれているステップに
は、*が付されている。まず、*が付された各ステップ
を五つに大別して説明する。
に対応して付加された部分に関する説明]次に、図2,
図3に示すフローチャートにおいて、システムCPU時
間の測定方法に対応して付加(改造)された部分につい
て説明する。前述したように、図2,図3において、上
記付加(改造)された太線で描かれているステップに
は、*が付されている。まず、*が付された各ステップ
を五つに大別して説明する。
【0063】[第1のステップ群(ステップS52)]
測定初期設定完了表示値41および測定開始表示値44
を零に初期設定する。 [第2のステップ群(ステップS54〜S56)]測定
初期設定完了表示値41が零でない場合において、制御
プログラムの状態がアイドル状態2以外からアイドル状
態2に遷移する時に、アイドル状態開始処理22のプロ
グラムをコールする。
測定初期設定完了表示値41および測定開始表示値44
を零に初期設定する。 [第2のステップ群(ステップS54〜S56)]測定
初期設定完了表示値41が零でない場合において、制御
プログラムの状態がアイドル状態2以外からアイドル状
態2に遷移する時に、アイドル状態開始処理22のプロ
グラムをコールする。
【0064】[第3のステップ群(ステップS65,S
66)]測定初期設定完了表示値41が零でない場合に
おいて、制御プログラムの状態がアイドル状態2からア
イドル割込処理状態4に遷移する時に、アイドル状態終
了処理23のプログラムをコールする。 [第4のステップ群(ステップS69,S70)]測定
初期設定完了表示値41が零でない場合において、制御
プログラムの状態がアイドル割込処理状態4からアイド
ル状態2に遷移する時に、アイドル状態開始処理22の
プログラムをコールする。 [第5のステップ群(ステップS73〜S75)]測定
初期設定完了表示値41が零でない場合において、制御
プログラムの状態がアイドル状態2からタスク走行状態
1に遷移する時に、アイドル状態開始処理22のプログ
ラムをコールする。
66)]測定初期設定完了表示値41が零でない場合に
おいて、制御プログラムの状態がアイドル状態2からア
イドル割込処理状態4に遷移する時に、アイドル状態終
了処理23のプログラムをコールする。 [第4のステップ群(ステップS69,S70)]測定
初期設定完了表示値41が零でない場合において、制御
プログラムの状態がアイドル割込処理状態4からアイド
ル状態2に遷移する時に、アイドル状態開始処理22の
プログラムをコールする。 [第5のステップ群(ステップS73〜S75)]測定
初期設定完了表示値41が零でない場合において、制御
プログラムの状態がアイドル状態2からタスク走行状態
1に遷移する時に、アイドル状態開始処理22のプログ
ラムをコールする。
【0065】以下、上記第1〜第5のステップ群それぞ
れについて説明する。 [第1のステップ群(ステップS52)において為され
る処理]第1のステップ群のステップS52では、測定
初期設定完了表示値41および測定開始表示値44を零
に初期設定する。当該ステップは、制御プログラムの初
期設定を行うステップS51の直後に一回だけ実行され
る。
れについて説明する。 [第1のステップ群(ステップS52)において為され
る処理]第1のステップ群のステップS52では、測定
初期設定完了表示値41および測定開始表示値44を零
に初期設定する。当該ステップは、制御プログラムの初
期設定を行うステップS51の直後に一回だけ実行され
る。
【0066】[第2のステップ群(ステップS54〜ス
テップS56)において為される処理]第2のステップ
群において、まず、ステップS54では、測定初期設定
完了表示値41が零であるか否かを判断する。測定初期
設定完了表示値41が零であり、測定の初期設定が完了
していないことを表していれば、当該判断結果は「Ye
s」となり、処理はステップS57へ進む。逆に、当該
判断結果が「No」であれば、処理はステップS55へ
進む。
テップS56)において為される処理]第2のステップ
群において、まず、ステップS54では、測定初期設定
完了表示値41が零であるか否かを判断する。測定初期
設定完了表示値41が零であり、測定の初期設定が完了
していないことを表していれば、当該判断結果は「Ye
s」となり、処理はステップS57へ進む。逆に、当該
判断結果が「No」であれば、処理はステップS55へ
進む。
【0067】ステップS55では、制御プログラムの状
態がアイドル状態2であるか否かを判断する。制御プロ
グラムの状態がアイドル状態2であり、アイドル状態2
が継続されたことを表していれば、当該判断結果は「Y
es」となり、処理はステップS57へ進む。逆に、当
該判断結果が「No」であり、アイドル状態2が開始さ
れたことを表していれば、処理はステップS56へ進
み、ここで、アイドル状態開始処理22に対応するプロ
グラムをコールする。そして、処理はステップS57へ
進む。
態がアイドル状態2であるか否かを判断する。制御プロ
グラムの状態がアイドル状態2であり、アイドル状態2
が継続されたことを表していれば、当該判断結果は「Y
es」となり、処理はステップS57へ進む。逆に、当
該判断結果が「No」であり、アイドル状態2が開始さ
れたことを表していれば、処理はステップS56へ進
み、ここで、アイドル状態開始処理22に対応するプロ
グラムをコールする。そして、処理はステップS57へ
進む。
【0068】[第3のステップ群(ステップS65,ス
テップS66)において為される処理]第3のステップ
群において、まず、ステップS65では、測定初期設定
完了表示値41が零であるか否かを判断する。この判断
結果が「Yes」であれば、処理はステップS67へ進
む。逆に、当該判断結果が「No」であれば、処理はス
テップS66へ進む。ステップS66は、制御プログラ
ムの状態がアイドル状態2からアイドル割込処理状態4
へ遷移する際に行われるべき処理であり、アイドル状態
終了処理23に対応するプログラムをコールする。そし
て、処理はステップS67へ進む。
テップS66)において為される処理]第3のステップ
群において、まず、ステップS65では、測定初期設定
完了表示値41が零であるか否かを判断する。この判断
結果が「Yes」であれば、処理はステップS67へ進
む。逆に、当該判断結果が「No」であれば、処理はス
テップS66へ進む。ステップS66は、制御プログラ
ムの状態がアイドル状態2からアイドル割込処理状態4
へ遷移する際に行われるべき処理であり、アイドル状態
終了処理23に対応するプログラムをコールする。そし
て、処理はステップS67へ進む。
【0069】[第4のステップ群(ステップS69,ス
テップS70)において為される処理]第4のステップ
群において、まず、ステップS69では、測定初期設定
完了表示値41が零であるか否かを判断する。この判断
結果が「Yes」であれば、処理はステップS67へ進
む。逆に、当該判断結果が「No」であれば、処理はス
テップS70へ進む。ステップS70は、制御プログラ
ムがアイドル割込処理状態4からアイドル状態2へ遷移
する際に行われるべき処理であり、アイドル状態開始処
理22に対応するプログラムをコールする。そして、処
理はステップS71へ進む。
テップS70)において為される処理]第4のステップ
群において、まず、ステップS69では、測定初期設定
完了表示値41が零であるか否かを判断する。この判断
結果が「Yes」であれば、処理はステップS67へ進
む。逆に、当該判断結果が「No」であれば、処理はス
テップS70へ進む。ステップS70は、制御プログラ
ムがアイドル割込処理状態4からアイドル状態2へ遷移
する際に行われるべき処理であり、アイドル状態開始処
理22に対応するプログラムをコールする。そして、処
理はステップS71へ進む。
【0070】[第5のステップ群(ステップS73〜ス
テップS75)において為される処理]第5のステップ
群において、まず、ステップS73では、測定初期設定
完了表示値41が零であるか否かを判断する。この判断
結果が「Yes」であれば、処理はステップS76へ進
む。逆に、当該判断結果が「No」であれば、処理はス
テップS74へ進む。
テップS75)において為される処理]第5のステップ
群において、まず、ステップS73では、測定初期設定
完了表示値41が零であるか否かを判断する。この判断
結果が「Yes」であれば、処理はステップS76へ進
む。逆に、当該判断結果が「No」であれば、処理はス
テップS74へ進む。
【0071】ステップS74では、制御プログラムの状
態がアイドル状態2であるか否かを判断する。制御プロ
グラムの状態がアイドル状態2でない場合、タスク走行
状態1が継続されたことを意味する。したがって、当該
ステップでの判断結果が「No」であれば、処理はステ
ップS76へ進む。逆に、当該判断結果が「Yes」で
あれば、処理はステップS75へ進む。ステップS75
は、制御プログラムの状態がアイドル状態2からタスク
走行状態1に遷移する際に行われる処理であり、アイド
ル状態終了処理23に対応するプログラムをコールす
る。そして、処理はステップS76へ進む。
態がアイドル状態2であるか否かを判断する。制御プロ
グラムの状態がアイドル状態2でない場合、タスク走行
状態1が継続されたことを意味する。したがって、当該
ステップでの判断結果が「No」であれば、処理はステ
ップS76へ進む。逆に、当該判断結果が「Yes」で
あれば、処理はステップS75へ進む。ステップS75
は、制御プログラムの状態がアイドル状態2からタスク
走行状態1に遷移する際に行われる処理であり、アイド
ル状態終了処理23に対応するプログラムをコールす
る。そして、処理はステップS76へ進む。
【0072】以上、説明した第1〜第5のステップ群を
付加したことにより、制御プログラムは、測定の初期設
定が完了している時にのみ、適宜、アイドル状態開始処
理22に対応するプログラム、またはアイドル状態終了
処理23に対応するプログラムをコールする。
付加したことにより、制御プログラムは、測定の初期設
定が完了している時にのみ、適宜、アイドル状態開始処
理22に対応するプログラム、またはアイドル状態終了
処理23に対応するプログラムをコールする。
【0073】[ 各処理21〜25に対応する各プロ
グラムの説明]次に、図1に示す各処理21〜25につ
いて、図4〜図9を参照して説明する。図4〜図8は、
それぞれ、測定初期設定処理21,アイドル状態開始処
理22,アイドル状態終了処理23,測定開始処理2
4,および測定終了・次測定開始処理25のフローチャ
ートであり、これらの図に示すように、各処理21〜2
5は、制御プログラム等のプログラムからコールされる
サブルーチン(本実施例では単にプログラムと称してい
る)として実現される。以下、各処理21〜25につい
て、順に説明する。
グラムの説明]次に、図1に示す各処理21〜25につ
いて、図4〜図9を参照して説明する。図4〜図8は、
それぞれ、測定初期設定処理21,アイドル状態開始処
理22,アイドル状態終了処理23,測定開始処理2
4,および測定終了・次測定開始処理25のフローチャ
ートであり、これらの図に示すように、各処理21〜2
5は、制御プログラム等のプログラムからコールされる
サブルーチン(本実施例では単にプログラムと称してい
る)として実現される。以下、各処理21〜25につい
て、順に説明する。
【0074】[(a) 測定初期設定処理21において
為される処理の説明]図4に示す測定初期設定処理21
に対応するプログラムは、当該プログラムをコールする
プログラムが、制御プログラムによりステップS79
(図3参照)で実行された時にコールされて実行され
る。なお、このコール時に、受け渡しされる引数(以
後、パラメータと称す)は無い。
為される処理の説明]図4に示す測定初期設定処理21
に対応するプログラムは、当該プログラムをコールする
プログラムが、制御プログラムによりステップS79
(図3参照)で実行された時にコールされて実行され
る。なお、このコール時に、受け渡しされる引数(以
後、パラメータと称す)は無い。
【0075】測定初期設定処理21に対応するプログラ
ムが実行されると、処理は、まず、ステップS83へ進
む。ステップS83では、測定初期設定完了表示値41
が零であるか否かを判断する。この判断結果が「Ye
s」の場合、適当でないコールが為されたことになり、
処理はコール元のプログラムに戻る。逆に、当該判断結
果が「No」であれば、処理はステップS84へ進む。
ムが実行されると、処理は、まず、ステップS83へ進
む。ステップS83では、測定初期設定完了表示値41
が零であるか否かを判断する。この判断結果が「Ye
s」の場合、適当でないコールが為されたことになり、
処理はコール元のプログラムに戻る。逆に、当該判断結
果が「No」であれば、処理はステップS84へ進む。
【0076】ステップS84では、測定初期設定完了表
示値41を、測定初期設定完了済を表す1に設定すると
ともに、アイドル累積時間42を零に初期設定する。そ
して、処理はコール元のプログラムにリターンする。こ
うして、測定初期設定完了表示値41の設定、およびア
イドル累積時間42の初期設定が為される。
示値41を、測定初期設定完了済を表す1に設定すると
ともに、アイドル累積時間42を零に初期設定する。そ
して、処理はコール元のプログラムにリターンする。こ
うして、測定初期設定完了表示値41の設定、およびア
イドル累積時間42の初期設定が為される。
【0077】[(b) アイドル状態開始処理22にお
いて為される処理の説明]図5に示すアイドル状態開始
処理22に対応するプログラムは、制御プログラムの状
態がアイドル状態2以外の状態からアイドル状態2へ遷
移する際に、制御プログラムによりコールされて実行さ
れる。前述した測定初期設定処理21と同様に、コール
時に受け渡されるパラメータは無い。
いて為される処理の説明]図5に示すアイドル状態開始
処理22に対応するプログラムは、制御プログラムの状
態がアイドル状態2以外の状態からアイドル状態2へ遷
移する際に、制御プログラムによりコールされて実行さ
れる。前述した測定初期設定処理21と同様に、コール
時に受け渡されるパラメータは無い。
【0078】アイドル状態開始処理22に対応するプロ
グラムが実行されると、処理は、まず、ステップS85
へ進む。ステップS85は、上述したステップS83と
同一の判断処理を行う処理であり、その判断結果が「N
o」であれば、処理はステップS86へ進む。ステップ
S86では、タイマ32の値を、アイドル状態開始時刻
43とする。そして、処理は制御プログラムにリターン
する。こうして、アイドル状態開始時刻43が設定され
る。
グラムが実行されると、処理は、まず、ステップS85
へ進む。ステップS85は、上述したステップS83と
同一の判断処理を行う処理であり、その判断結果が「N
o」であれば、処理はステップS86へ進む。ステップ
S86では、タイマ32の値を、アイドル状態開始時刻
43とする。そして、処理は制御プログラムにリターン
する。こうして、アイドル状態開始時刻43が設定され
る。
【0079】[(c) アイドル状態終了処理23にお
いて為される処理の説明]図6に示すアイドル状態終了
処理23に対応するプログラムは、制御プログラムの状
態がアイドル状態2からアイドル状態2以外の状態へ遷
移する際に、制御プログラムによりコールされて実行さ
れる。上述した各処理21,22と同様に、コール時に
受け渡されるパラメータは無い。
いて為される処理の説明]図6に示すアイドル状態終了
処理23に対応するプログラムは、制御プログラムの状
態がアイドル状態2からアイドル状態2以外の状態へ遷
移する際に、制御プログラムによりコールされて実行さ
れる。上述した各処理21,22と同様に、コール時に
受け渡されるパラメータは無い。
【0080】アイドル状態終了処理23に対応するプロ
グラムが実行されると、処理は、まず、ステップS87
へ進む。ステップS87は、上述したステップS83,
S85と同一の判断処理を行うステップであり、その判
断結果が「No」であれば、処理はステップS88へ進
む。ステップS88では、タイマ32の値がアイドル状
態開始時刻43より大であるか否かを判断する。この判
断結果が「Yes」であればステップS89へ、逆に、
「No」であればステップS90へ処理は進む。
グラムが実行されると、処理は、まず、ステップS87
へ進む。ステップS87は、上述したステップS83,
S85と同一の判断処理を行うステップであり、その判
断結果が「No」であれば、処理はステップS88へ進
む。ステップS88では、タイマ32の値がアイドル状
態開始時刻43より大であるか否かを判断する。この判
断結果が「Yes」であればステップS89へ、逆に、
「No」であればステップS90へ処理は進む。
【0081】ステップS89は、タイマ32の値がアイ
ドル状態開始時刻43より大である場合の処理であり、
タイマ32の値からアイドル状態開始時刻43を減じて
得られるアイドル状態2であった時間に対応する値を、
アイドル累積時間42に加算し、その結果をアイドル累
積時間42とする。そして、処理は制御プログラムにリ
ターンする。
ドル状態開始時刻43より大である場合の処理であり、
タイマ32の値からアイドル状態開始時刻43を減じて
得られるアイドル状態2であった時間に対応する値を、
アイドル累積時間42に加算し、その結果をアイドル累
積時間42とする。そして、処理は制御プログラムにリ
ターンする。
【0082】一方、ステップS90は、タイマ32の値
がアイドル状態開始時刻43より大でない(タイマ32
が、一度、オーバーフローしたことを意味する)場合の
処理であり、タイマ32の値に、2N からアイドル状態
開始時刻43を減じた値を加算して得られるアイドル状
態2である時間に対応する値を、アイドル累積時間42
に加算し、その結果をアイドル累積時間42とする。そ
して、処理は制御プログラムにリターンする。こうし
て、アイドル累積時間42を更新する。
がアイドル状態開始時刻43より大でない(タイマ32
が、一度、オーバーフローしたことを意味する)場合の
処理であり、タイマ32の値に、2N からアイドル状態
開始時刻43を減じた値を加算して得られるアイドル状
態2である時間に対応する値を、アイドル累積時間42
に加算し、その結果をアイドル累積時間42とする。そ
して、処理は制御プログラムにリターンする。こうし
て、アイドル累積時間42を更新する。
【0083】[(d) 測定開始処理24において為さ
れる処理の説明]図7に示す測定開始処理24に対応す
るプログラムは、当該プログラムをコールするプログラ
ムが、制御プログラムによりステップS79(図3参
照)で実行された時にコールされて実行される。なお、
このコール時に、受け渡されるパラメータは無い。
れる処理の説明]図7に示す測定開始処理24に対応す
るプログラムは、当該プログラムをコールするプログラ
ムが、制御プログラムによりステップS79(図3参
照)で実行された時にコールされて実行される。なお、
このコール時に、受け渡されるパラメータは無い。
【0084】測定開始処理24に対応するプログラムが
実行されると、処理は、まず、ステップS91へ進む。
ステップS91は、上述した各ステップS83,S8
5,S87と同一の判断処理を行うステップであり、こ
の判断結果が「No」であれば、処理はステップS92
へ進む。ステップS92では、測定開始表示値44が零
であるか否かが判断される。この判断結果が「No」と
なる場合は、適当でないコールが為されたことを意味
し、処理はコール元のプログラムにリターンする。逆
に、当該判断結果が「Yes」であれば、処理はステッ
プS93へ進む。
実行されると、処理は、まず、ステップS91へ進む。
ステップS91は、上述した各ステップS83,S8
5,S87と同一の判断処理を行うステップであり、こ
の判断結果が「No」であれば、処理はステップS92
へ進む。ステップS92では、測定開始表示値44が零
であるか否かが判断される。この判断結果が「No」と
なる場合は、適当でないコールが為されたことを意味
し、処理はコール元のプログラムにリターンする。逆
に、当該判断結果が「Yes」であれば、処理はステッ
プS93へ進む。
【0085】ステップS93では測定開始表示値44に
測定開始済を表す1を設定するとともに、測定開始時ア
イドル累積時間45にアイドル累積時間42を設定す
る。また、測定開始時タイマ値46にタイマ32の値を
設定する。そして、処理はコール元のプログラムにリタ
ーンする。こうして、測定開始表示値44、測定開始時
アイドル累積時間45、および測定開始時タイマ値46
を設定する。なお、測定開始処理24のプログラムは、
割込禁止で走行するシステムコールとして実現する(シ
ステムコール用の特殊な命令により、割込禁止とする)
ことにより、割込禁止で実行される。
測定開始済を表す1を設定するとともに、測定開始時ア
イドル累積時間45にアイドル累積時間42を設定す
る。また、測定開始時タイマ値46にタイマ32の値を
設定する。そして、処理はコール元のプログラムにリタ
ーンする。こうして、測定開始表示値44、測定開始時
アイドル累積時間45、および測定開始時タイマ値46
を設定する。なお、測定開始処理24のプログラムは、
割込禁止で走行するシステムコールとして実現する(シ
ステムコール用の特殊な命令により、割込禁止とする)
ことにより、割込禁止で実行される。
【0086】[(e) 測定終了・次測定開始処理25
において為される処理の説明]図8に示す測定終了・次
測定開始処理25に対応するプログラムは、当該プログ
ラムをコールするプログラムが、制御プログラムにより
ステップS79(図3参照)で実行された時にコールさ
れて実行される。このコール時に、測定終了・次測定開
始処理25へ渡されるパラメータは二つ存在する。これ
らのパラメータA,Bの構造を図9に示す。
において為される処理の説明]図8に示す測定終了・次
測定開始処理25に対応するプログラムは、当該プログ
ラムをコールするプログラムが、制御プログラムにより
ステップS79(図3参照)で実行された時にコールさ
れて実行される。このコール時に、測定終了・次測定開
始処理25へ渡されるパラメータは二つ存在する。これ
らのパラメータA,Bの構造を図9に示す。
【0087】図9は、測定終了・次測定開始処理25の
パラメータ構造を示す概念図であり、この図に示すよう
に、パラメータAは、本処理終了後に再度、測定を行う
ことをオプション指定するための次測定有り表示値10
6である。また、パラメータBは、リターン時にコール
元のプログラムに返すリターン値が格納されているエリ
アのアドレスを示すリターン値アドレス107である。
パラメータ構造を示す概念図であり、この図に示すよう
に、パラメータAは、本処理終了後に再度、測定を行う
ことをオプション指定するための次測定有り表示値10
6である。また、パラメータBは、リターン時にコール
元のプログラムに返すリターン値が格納されているエリ
アのアドレスを示すリターン値アドレス107である。
【0088】測定終了・次測定開始処理25が実行され
ると、パラメータB(リターン値アドレス107)が指
し示すエリアには、リターン値αおよびリターン値βが
設定される。ここで、リターン値αは、システムCPU
使用量108、リターン値βは2点間経過時間109で
ある。以下、上述した各リターン値α,βを算出する過
程を中心にして、測定終了・次測定開始処理25により
為される処理について説明する。
ると、パラメータB(リターン値アドレス107)が指
し示すエリアには、リターン値αおよびリターン値βが
設定される。ここで、リターン値αは、システムCPU
使用量108、リターン値βは2点間経過時間109で
ある。以下、上述した各リターン値α,βを算出する過
程を中心にして、測定終了・次測定開始処理25により
為される処理について説明する。
【0089】測定終了・次測定開始処理25に対応する
プログラムが実行されると、処理は、まず、ステップS
94へ進む。このステップS94は、上述した各ステッ
プS83,S85,S87,S91と同一の判断処理を
行うステップであり、この判断結果が「No」であれ
ば、処理はステップS95へ進む。ステップS95で
は、アイドル累積時間42が測定開始時アイドル累積時
間45より大であるか否かが判断される。この判断結果
が「Yes」であればステップS96へ、逆に、「N
o」であればステップS97へ処理が進む。
プログラムが実行されると、処理は、まず、ステップS
94へ進む。このステップS94は、上述した各ステッ
プS83,S85,S87,S91と同一の判断処理を
行うステップであり、この判断結果が「No」であれ
ば、処理はステップS95へ進む。ステップS95で
は、アイドル累積時間42が測定開始時アイドル累積時
間45より大であるか否かが判断される。この判断結果
が「Yes」であればステップS96へ、逆に、「N
o」であればステップS97へ処理が進む。
【0090】ステップS96は、アイドル累積時間42
が測定開始時アイドル累積時間45より大である場合の
処理であり、アイドル累積時間42から測定開始時アイ
ドル累積時間45を減じた結果を、2点間アイドル時間
として、2点間アイドル時間用ワークエリアに一時保存
する。そして、処理はステップS98へ進む。
が測定開始時アイドル累積時間45より大である場合の
処理であり、アイドル累積時間42から測定開始時アイ
ドル累積時間45を減じた結果を、2点間アイドル時間
として、2点間アイドル時間用ワークエリアに一時保存
する。そして、処理はステップS98へ進む。
【0091】一方、ステップS97は、アイドル累積時
間42が測定開始時アイドル累積時間45より大でない
場合の処理であり、アイドル累積時間42に、2N から
測定開始時アイドル累積時間45を減じた結果を加算し
て得られる結果を、2点間アイドル時間として、2点間
アイドル時間用ワークエリアに一時保存する。そして、
処理はステップS98へ進む。
間42が測定開始時アイドル累積時間45より大でない
場合の処理であり、アイドル累積時間42に、2N から
測定開始時アイドル累積時間45を減じた結果を加算し
て得られる結果を、2点間アイドル時間として、2点間
アイドル時間用ワークエリアに一時保存する。そして、
処理はステップS98へ進む。
【0092】ステップS98では、タイマ32が測定開
始時タイマ値46より大であるか否かを判断する。この
判断結果が「Yes」であればステップS99へ、逆
に、「No」であればステップS100へ処理が進む。
ステップS99では、タイマ32の値から測定開始時タ
イマ値46を減じた結果を、2点間経過時間として、2
点間経過時間用ワークエリアに一時保存する。そして、
処理はステップS101へ進む。
始時タイマ値46より大であるか否かを判断する。この
判断結果が「Yes」であればステップS99へ、逆
に、「No」であればステップS100へ処理が進む。
ステップS99では、タイマ32の値から測定開始時タ
イマ値46を減じた結果を、2点間経過時間として、2
点間経過時間用ワークエリアに一時保存する。そして、
処理はステップS101へ進む。
【0093】一方、ステップS100では、タイマ32
の値に、2N から測定開始時タイマ値46を減じた結果
を加算して得られた結果を、2点間経過時間として、2
点間経過時間用ワークエリアに保存する。そして、処理
はステップS101へ進む。ステップS101では、2
点間経過時間用ワークエリアに一時保存された2点間経
過時間から、2点間アイドル時間用ワークエリアに一時
保存された2点間アイドル時間を減算してシステムCP
U使用量108を算出し、パラメータB(リターン値ア
ドレス107)に指し示されるエリアに、リターン値α
(システムCPU使用量108)として保存する。ま
た、同エリアに、2点間経過時間用ワークエリアに一時
保存された2点間経過時間をリターン値β(2点間経過
時間109)として保存する。そして、処理はステップ
S102へ進む。以上、説明した各処理は、このプログ
ラムのオプション指定であるパラメータA(次測定有り
表示値106)の値に係わらず為される。
の値に、2N から測定開始時タイマ値46を減じた結果
を加算して得られた結果を、2点間経過時間として、2
点間経過時間用ワークエリアに保存する。そして、処理
はステップS101へ進む。ステップS101では、2
点間経過時間用ワークエリアに一時保存された2点間経
過時間から、2点間アイドル時間用ワークエリアに一時
保存された2点間アイドル時間を減算してシステムCP
U使用量108を算出し、パラメータB(リターン値ア
ドレス107)に指し示されるエリアに、リターン値α
(システムCPU使用量108)として保存する。ま
た、同エリアに、2点間経過時間用ワークエリアに一時
保存された2点間経過時間をリターン値β(2点間経過
時間109)として保存する。そして、処理はステップ
S102へ進む。以上、説明した各処理は、このプログ
ラムのオプション指定であるパラメータA(次測定有り
表示値106)の値に係わらず為される。
【0094】ステップS102では、パラメータA(次
測定有り表示値106)が、「次測定有り・測定未完
了」を意味する1であるか否かを判断する。この判断結
果が「Yes」であればステップS103へ、逆に、
「No」であればステップS104へ処理が進む。ステ
ップS103では、測定開始時アイドル累積時間45に
アイドル累積時間42を設定し、測定開始時タイマ値4
6にタイマ32の値を設定する。したがって、測定終了
・次測定開始処理25に対応するプログラムがコールさ
れた時刻と、次に同プログラムがコールされる時刻とで
規定される時間におけるシステムCPU使用量および2
点間経過時間を、次に同プログラムがコールされる時点
で得ることができる。そして処理はコール元のプログラ
ムにリターンする。
測定有り表示値106)が、「次測定有り・測定未完
了」を意味する1であるか否かを判断する。この判断結
果が「Yes」であればステップS103へ、逆に、
「No」であればステップS104へ処理が進む。ステ
ップS103では、測定開始時アイドル累積時間45に
アイドル累積時間42を設定し、測定開始時タイマ値4
6にタイマ32の値を設定する。したがって、測定終了
・次測定開始処理25に対応するプログラムがコールさ
れた時刻と、次に同プログラムがコールされる時刻とで
規定される時間におけるシステムCPU使用量および2
点間経過時間を、次に同プログラムがコールされる時点
で得ることができる。そして処理はコール元のプログラ
ムにリターンする。
【0095】ステップS104では、パラメータA(次
測定有り表示値106)が、「次測定無し・測定完了」
を意味する2であるか否かを判断する。この判断結果が
「No」であれば、処理はコール元のプログラムに戻
る。逆に、当該判断結果が「Yes」であれば、処理は
ステップS105へ進む。ステップS105では、測定
開始表示値44に零を設定し、測定初期設定完了表示値
41に零を設定する。そして、処理はコール元のプログ
ラムにリターンする。この場合、測定を再度行いたい場
合は、図2の測定初期設定処理21以降の処理を行う必
要がある。
測定有り表示値106)が、「次測定無し・測定完了」
を意味する2であるか否かを判断する。この判断結果が
「No」であれば、処理はコール元のプログラムに戻
る。逆に、当該判断結果が「Yes」であれば、処理は
ステップS105へ進む。ステップS105では、測定
開始表示値44に零を設定し、測定初期設定完了表示値
41に零を設定する。そして、処理はコール元のプログ
ラムにリターンする。この場合、測定を再度行いたい場
合は、図2の測定初期設定処理21以降の処理を行う必
要がある。
【0096】こうして、パラメータB(リターン値アド
レス107)が指し示すエリアのリターン値α(システ
ムCPU使用量108)およびリターン値β(2点間経
過時間108)に、求めるべき値が設定されるととも
に、パラメータA(次測定有り表示値106)に応じ
て、オプション動作が実現される。なお、上述した測定
終了・次測定開始処理25に対応するプログラムは、割
込禁止で走行するシステムコールとして実現する(シス
テムコール用の特殊な命令により割込禁止とする)こと
により、割込禁止で実行される。
レス107)が指し示すエリアのリターン値α(システ
ムCPU使用量108)およびリターン値β(2点間経
過時間108)に、求めるべき値が設定されるととも
に、パラメータA(次測定有り表示値106)に応じ
て、オプション動作が実現される。なお、上述した測定
終了・次測定開始処理25に対応するプログラムは、割
込禁止で走行するシステムコールとして実現する(シス
テムコール用の特殊な命令により割込禁止とする)こと
により、割込禁止で実行される。
【0097】以上、説明したように、本発明の一実施例
によれば、制御プログラムの状態がアイドル状態2でな
く、かつ、その測定時間がタイマで測定できる最大の時
間の範囲内にある任意の2点間の経過時間であるXと、
その2点間の経過時間Xの中に占めるアイドル時間ZT
を、タイマの精度と同じ精度で求めることができる。し
たがって、任意の2点間のシステムCPU時間とシステ
ムCPU使用率を、タイマの精度と同じ精度で正確に求
めることが可能となる。
によれば、制御プログラムの状態がアイドル状態2でな
く、かつ、その測定時間がタイマで測定できる最大の時
間の範囲内にある任意の2点間の経過時間であるXと、
その2点間の経過時間Xの中に占めるアイドル時間ZT
を、タイマの精度と同じ精度で求めることができる。し
たがって、任意の2点間のシステムCPU時間とシステ
ムCPU使用率を、タイマの精度と同じ精度で正確に求
めることが可能となる。
【0098】
【発明の効果】以上説明したように、本発明によれば、
まず、測定初期設定時刻に、該時刻までのアイドル状態
の累積時間であるアイドル累積時間を零とする。そし
て、前記測定初期設定時刻以後の前記制御プログラムが
アイドル状態となるアイドル状態開始時刻に前記タイマ
の値であるタイマ値を退避し、前記アイドル状態開始時
刻以後の前記制御プログラムがアイドル状態でなくなる
アイドル状態終了時刻に、当該時刻のタイマ値および前
記アイドル状態開始時刻に退避されたタイマ値とから、
前記制御プログラムがアイドル状態にあった時間を求め
てアイドル累積時間に加算する。また、前記測定初期設
定時刻以後の第1の時刻にタイマ値およびアイドル累積
時間を退避し、これらの値および時間と前記第1の時刻
からタイマで表現可能な最大の時間以下の任意の時間が
経過した前記第2の時刻に得られるタイマ値およびアイ
ドル累積時間とから、前記第1の時刻と前記第2の時刻
とで規定される時間内のシステムCPU時間を前記タイ
マの精度と同一の精度で求める。したがって、前記第1
の時刻及び前記第2の時刻に対応する任意の2点間にお
けるシステムCPU時間をタイマの精度と同一の精度で
正確に測定し、同精度でシステムCPU使用率を求める
ことができるという効果がある。
まず、測定初期設定時刻に、該時刻までのアイドル状態
の累積時間であるアイドル累積時間を零とする。そし
て、前記測定初期設定時刻以後の前記制御プログラムが
アイドル状態となるアイドル状態開始時刻に前記タイマ
の値であるタイマ値を退避し、前記アイドル状態開始時
刻以後の前記制御プログラムがアイドル状態でなくなる
アイドル状態終了時刻に、当該時刻のタイマ値および前
記アイドル状態開始時刻に退避されたタイマ値とから、
前記制御プログラムがアイドル状態にあった時間を求め
てアイドル累積時間に加算する。また、前記測定初期設
定時刻以後の第1の時刻にタイマ値およびアイドル累積
時間を退避し、これらの値および時間と前記第1の時刻
からタイマで表現可能な最大の時間以下の任意の時間が
経過した前記第2の時刻に得られるタイマ値およびアイ
ドル累積時間とから、前記第1の時刻と前記第2の時刻
とで規定される時間内のシステムCPU時間を前記タイ
マの精度と同一の精度で求める。したがって、前記第1
の時刻及び前記第2の時刻に対応する任意の2点間にお
けるシステムCPU時間をタイマの精度と同一の精度で
正確に測定し、同精度でシステムCPU使用率を求める
ことができるという効果がある。
【図1】本発明の一実施例によるシステムCPU時間の
測定方法の概略を説明するための概念図である。
測定方法の概略を説明するための概念図である。
【図2】本発明の一実施例によるシステムCPU時間の
測定方法を適用した制御プログラムのフローチャートで
ある。
測定方法を適用した制御プログラムのフローチャートで
ある。
【図3】本発明の一実施例によるシステムCPU時間の
測定方法を適用した制御プログラムのフローチャートで
ある。
測定方法を適用した制御プログラムのフローチャートで
ある。
【図4】測定初期設定処理21のフローチャートであ
る。
る。
【図5】アイドル状態開始処理22のフローチャートで
ある。
ある。
【図6】アイドル状態終了処理23のフローチャートで
ある。
ある。
【図7】測定開始処理24のフローチャートである。
【図8】測定終了・次測定開始処理25のフローチャー
トである。
トである。
【図9】測定終了・次測定開始処理25のパラメータ構
造を示す概念図である。
造を示す概念図である。
【図10】制御プログラムの状態の一般的な状態遷移図
の例を示す図である。
の例を示す図である。
1 タスク走行状態 2 アイドル状態 3 タスク割込処理状態 4 アイドル割込処理状態 21 測定初期設定処理 22 アイドル状態開始処理 23 アイドル状態終了処理 24 測定開始処理 25 測定終了・次測定開始処理 30 入出力情報 31 第1のシステム変数域 32 タイマ 33 第2のシステム変数域 41 測定初期設定完了表示値 42 アイドル累積時間 43 アイドル状態開始時刻 44 測定開始表示値 45 測定開始時アイドル累積時間 46 測定開始時タイマ値 106 次測定有り表示値 107 リターン値アドレス 108 ステムCPU使用量 109 2点間経過時間
Claims (1)
- 【請求項1】 情報処理装置内部に設けられたタイマに
基づいて、CPU時間を要求する被実行プログラムにC
PU時間を割り当てるとともに前記被実行プログラムが
存在しない場合にはアイドル状態となる制御プログラム
が、任意の第1の時刻と該時刻から前記タイマで表現可
能な最大の時間以下の任意の時間が経過した第2の時刻
とで規定される時間内にアイドル状態以外の状態にあっ
たCPU時間であるシステムCPU時間を測定するシス
テムCPU時間の測定方法であって、 測定初期設定時刻に、該時刻までのアイドル状態の累積
時間であるアイドル累積時間を零とし、前記測定初期設
定時刻以後の前記制御プログラムがアイドル状態となる
アイドル状態開始時刻に前記タイマの値であるタイマ値
を退避し、前記アイドル状態開始時刻以後の前記制御プ
ログラムがアイドル状態でなくなるアイドル状態終了時
刻に、当該時刻のタイマ値および前記アイドル状態開始
時刻に退避されたタイマ値とから、前記制御プログラム
がアイドル状態にあった時間を求めてアイドル累積時間
に加算するとともに、 前記第1の時刻は前記測定初期設定時刻以後の時刻であ
り、前記第1の時刻にタイマ値およびアイドル累積時間
を退避し、これらの値および時間と前記第2の時刻に得
られるタイマ値およびアイドル累積時間とから、前記第
1の時刻と前記第2の時刻とで規定される時間内のシス
テムCPU時間を前記タイマの精度と同一の精度で求め
ることを特徴とするシステムCPU時間の測定方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5320533A JPH07175687A (ja) | 1993-12-20 | 1993-12-20 | システムcpu時間の測定方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5320533A JPH07175687A (ja) | 1993-12-20 | 1993-12-20 | システムcpu時間の測定方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07175687A true JPH07175687A (ja) | 1995-07-14 |
Family
ID=18122500
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5320533A Pending JPH07175687A (ja) | 1993-12-20 | 1993-12-20 | システムcpu時間の測定方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07175687A (ja) |
-
1993
- 1993-12-20 JP JP5320533A patent/JPH07175687A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR970016979A (ko) | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 | |
| JPH03217962A (ja) | 情報処理装置 | |
| JP2010015534A (ja) | マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置 | |
| US4807117A (en) | Interruption control apparatus | |
| JP3828112B2 (ja) | 処理の実行を制御するスケジューリング方法およびシステム | |
| JPH07175687A (ja) | システムcpu時間の測定方法 | |
| JPH11161504A (ja) | 情報処理システムにおけるジョブの実行を処理する装置および方法 | |
| EP0335990A1 (en) | Processor-processor synchronization | |
| JP2000056989A (ja) | タスク設計方法 | |
| JPH1011333A (ja) | タスク別cpu使用率測定装置 | |
| JPS6368934A (ja) | タスクスケジユ−ル方式 | |
| JPH07160650A (ja) | タスクの実行制御装置 | |
| JPH0926888A (ja) | 排他制御装置 | |
| JPH064318A (ja) | エラー検出方式 | |
| JP3898332B2 (ja) | タイマ自動制御装置および記録媒体 | |
| JP7243575B2 (ja) | 電子制御装置およびその動作方法ならびに制御プログラム | |
| JP2571298B2 (ja) | データ管理制御方式 | |
| JP2001323840A (ja) | 自動車用制御ユニット | |
| JP2000207003A (ja) | プログラマブルコントロ―ラ | |
| JP2002318713A (ja) | Cpu占有時間測定方法 | |
| KR100538282B1 (ko) | 체크 포인트를 이용한 실시간 병렬 프로그램 디버깅 방법 | |
| JPH02176813A (ja) | 中央処理装置およびタイマ回路 | |
| JPH01140348A (ja) | プログラムトレース装置 | |
| CN119415532A (zh) | 一种业务数据更新方法、装置、设备及存储介质 | |
| JP3075359B2 (ja) | プログラムデバッグ開始処理方式 |