JPH03135634A - Cpu占有時間側定方法 - Google Patents

Cpu占有時間側定方法

Info

Publication number
JPH03135634A
JPH03135634A JP1273347A JP27334789A JPH03135634A JP H03135634 A JPH03135634 A JP H03135634A JP 1273347 A JP1273347 A JP 1273347A JP 27334789 A JP27334789 A JP 27334789A JP H03135634 A JPH03135634 A JP H03135634A
Authority
JP
Japan
Prior art keywords
program
time
execution
cpu
measured
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
JP1273347A
Other languages
English (en)
Inventor
Yotaro Kitadate
北館 陽太郎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1273347A priority Critical patent/JPH03135634A/ja
Publication of JPH03135634A publication Critical patent/JPH03135634A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 プログラム実行時のCPU占有時間を測定するCPU占
有時間測定方法に関し、 被測定対象のプログラムBとの並列実行の前および後で
基準となるプログラムAの実行時間を求めてその変動が
所定閾値以下のときにプログラムBのCPU占有時間(
Ta  Ts −n * t 、 )を測定し、他の処
理の混入の影響による誤差のなく、またプログラムの終
了判断についての誤りによる誤差のない正確なCPU占
有時間を測定することを目的とし、 CPU占有命令のみから成る命令群で構築されたプログ
ラムAを単独で少な(とも1回以上反復実行させ、当該
実行の1回毎に実行所要時間を測定する第1のステップ
と、前記プログラムAの少な(とも2回目以降の実行時
に、実行所要時間の変動が所定閾値以下であるかを判定
する第2のステップと、前記第2のステップでの判定が
成立した時に、前記プログララムAと共にCPU非占有
命令を含む命令群で構築されたプログラムBを並列に実
行させ、前記プログラムBの1回の実行が終了する迄に
、前記プログラムAの実行回数と1回毎の時刻を記憶す
る第3のステップと、前記プログラムBの1回の実行が
終了した後に、更に前記プログラムAを少なくとも1回
以上反復実行させ、この時の前記プログラムへの実行所
要時間の変動が所定の閾値以下であるかを判定する第4
のステップと、前記第4のステップでの判定が成立した
時に、プログラムAの実行所要時間と、前記第3のステ
ップにおける実行開始時刻、実行終了時刻、プログラム
Aの実行回数を用い、実行終了時刻と実行開始時刻の差
をとり、更に前記プログラムAの実行所要時間に前記実
行回数を乗じた値を差し引いて、前記プログラムBのC
PU占有時間を算出する第5のステップとから構成する
C産業上の利用分野〕 本発明は、プログラム実行時のCPU占有時間を測定す
るCPU占有時間測定方法に関するものである。
〔従来の技術〕
従来、CPUがあるプログラムBの命令を実行している
時間(以下CPU占有時間という)を測定する手法とし
て、まず、入出力を伴わないプログラムAを単独に処理
したときの時間t、を測定する0次に、プログラムAの
繰り返しとプログラムBとを並列に実行し、プログラム
Bの開始から終了までがプログラムAの繰り返しの開始
から終了までの時間内に納まるようにし、このときのプ
ログラムAの繰り返し回数をn、最初の時刻をT1、最
終の時刻をT、としてそれぞれ測定する。
そして、プログラムBのCPU占有時間を(T。
T、−n*t、)として算出する。
〔発明が解決しようとする課題〕
しかし、上述した従来のCPU占有時間の測定手法は、
特に基準となるプログラムAの実行時間t、について、
CPtJを含むシステムがタイマを使用して一定間隔ご
とに診断プログラムを走行させたり、データの退避を行
ったり、更に、外から見えないが内部で処理を行ったり
するために、tlにこれらの各種処理のための時間が含
まれたり、含まれなかったりしてバラツキが生じ、被測
定対象のプログラムBのCPU占有時間を正確に求め難
いという問題があった。また、プログラムBが一見終了
したように見えても、内部でプログラムBの処理が続く
ことがあり、この場合、プログラムBのCPU占有時間
の一部しか測定されないという問題があった。
本発明は、被測定対象のプログラムBとの並列実行の前
および後で基準となるプログラムAの実行時間を求めて
その変動が所定閾値以下のときにプログラムBのCPU
占有時間(Tll  TS  n*t、)を測定し、他
の処理の混入の影響による誤差のなく、またプログラム
の終了判断についての誤りによる誤差のない正確なCP
U占有時間を測定することを目的としている。
〔課題を解決する手段〕
第1図を参照して課題を解決する手段を説明する。
第1図において、プログラムAは、CPU占有時間を求
める基準となるプログラムである。
プログラムBは、CPU占有時間の被測定対象のプログ
ラムである。
〔作用〕
本発明は、第1図に示すように、CPU占有命令のみか
ら成る命令群で構築されたプログラムAを単独で少なく
とも1回以上反復実行させ、当該実行の1回毎に実行所
要時間を測定する第1のステ・ノブと、前記プログラム
Aの少なくとも2回目以降の実行時に、実行所要時間の
変動が所定閾値以下であるかを判定する第2のステップ
と、前記第2のステップでの判定が成立した時に、前記
プログララムAと共にCPU非占有命令を含む命令群で
構築されたプログラムBを並列に実行させ、前記プログ
ラムBの1回の実行が終了する迄に、前記プログラムA
の実行回数と1回毎の時刻を記憶する第3のステップと
、前記プログラムBの1回の実行が終了した後に、更に
前記プログラムAを少な(とも1回以上反復実行させ、
この時の前記プログラムへの実行所要時間の変動が所定
の閾値以下であるかを判定する第4のステップと、前記
第4のステップでの判定が成立した時に、プログラムA
の実行所要時間と、前記第3のステップにおける実行開
始時刻、実行終了時刻、プログラムAの実行回数を用い
、実行終了時刻と実行開始時刻の差をとり、更に前記プ
ログラムAの実行所要時間に前記実行回数を乗じた値を
差し引いて、前記プログラムBのCPU占有時間を算出
する第5のステップとから構成し、プログラムBのCP
U占有時間を測定するようにしている。
従って、被測定対象のプログラムBとの並列実行の前お
よび後で基準となるプログラムAの実行時間を求めてそ
の変動が所定閾値以下のときにプログラムBのCPU占
有時間(To  TIl n*ts)を測定することに
より、誤差のない正確なCPU時間を測定することが可
能となる。
(実施例〕 次に、第1図および第2図を用いて本発明の1実施例の
構成、動作を順次詳細に説明する。
第1図(イ)において、CPUIは、中央処理装置であ
って、プログラムをもとに各種処理を実行するものであ
る。
メモリ2ば、O33、プログラムA、プログラムB、出
ロブログラム4などのプログラムやデータを格納する計
算機システムの主記憶である。
O33は、オペレーティングシステムであって、割り込
みなどの各種制御を行うものである。
プログラムAは、CPU占有時間を求める基準となるプ
ログラムであって、通常実行時間に変動が発生しないよ
うにCPU占有の命令からのみ構築し、所定の命令ステ
ップを1つの単位としてループするプログラムである。
このループ時間は、被測定対象のプログラムBにおける
CPU非占有命令の構成によって異なるが、通常数秒で
ある。
プログラムBは、CPU占有時間の被測定対象のプログ
ラムである。このプログラムBは、CPU非占有命令と
して入出力処理を含んでもよい。
出ロブログラム4は、第2図(T2)に示すように、本
実施例に係るCPU占有時間を算出するプログラムであ
る。
第1図(ロ)は、処理実行説明図を示す、aS3の制御
によって、プログラムBの実行部分がCPU非占有な部
分になる毎にCPUIにプログラムAを割当ててループ
を実行させ、O33に割込信号が上がることで再度CP
UIをプログラムBに割当てた処理を実行している様子
を表す。
第1図(ハ)は、プログラムAのみが単独にループして
いるときの実行時間t、を示す。
第1図(ニ)は、プログラムAとプログラムBとを並列
に実行したときの実行時間t2を示す。
ここで、プログラムBの実行時間(=CPU占有時間)
は、11  1.として求められる。
尚、本測定方法においては、従来技術と同様、O3のC
PU占有時間はプログラムBのCPU占有時間の一部と
して計算される。
以上のように、基準となるプログラムAの実行時間t1
を予め求めておき、次に、プログラムAおよび被測定対
象のプログラムBを並列に実行し、このときの全体の実
行時間t!を求め、プログラムBのCPU占有時間(t
t−t、)を求めることが可能となる。この際、他の処
理が混入したり、混入しなかったりして変動していない
ことを確認するために、更に、プログラムBの処理が完
全に終了していることを確認するために、第2図を用い
て後述するように、CPU占有時間の前後でプログラム
Aを単独に少なくとも1回以上ループさせた時に、1回
のループ毎に費やす時間を求めて、その変動が所定閾値
e以下のときにプログラムAとプログラムBの並列実行
させるCPU占有時間を算出することにより、誤差のな
い正確なCPU占有時間を測定することが可能となる。
以下第2図を用いて本発明の1実施例の構成の動作を詳
細に説明する。
第2図(イ)は、プログラムAの処理フローチャートを
示す。
第2図(イ)において、[相]は、割り込み出ロブログ
ラムの先頭アドレスをO33に依乾して登録する。これ
により、オペレータが後述する0でプログラムBの実行
終了した旨の表示に対応し、所定キーを押下して割り込
みによって第2図(ロ)出ロブログラムを起動し、CP
U占有時間を計算させて表示させることができる。
@は、変数n=0と初期設定する。
■は、n<4、n≧4のいずれかを判別する。
n<4の場合には、[相]ないし[相]を操り返し行い
、このときの時刻を記録する。n≧4の場合には、プロ
グラムAの前処理における処理時間の測定が終了したの
で、O以降を行う。
[相]は、ループする。これは、プログラムAが例えば
CPtJlのみを使用して一定の回数ループして、単独
処理時なら所定時間例えば数秒の間、ループする。
@は、タイマより時刻を読み、記録する。
[相]は、n=n+lし、[相]を行う。
以上の[相]、[相]、[相]を4回繰り返し行い、0
でn≧4となることにより、プログラムAにより4つの
時刻が記録される。
■は、4つの時間間隔を”(、tz 、t、 、j4と
し、その平均をt、とする、これは、■で記憶した4つ
のタイマの時刻をもとに、プログラムAを実行したとき
の時間間隔1..1t、1.、t4を求め、その平均値
ia = (tl + tz +ti+t4)/4を計
算する。
[相]は、 t、−t、1ee t、−t!  <e t、−t、   <8 t、−t、   <e か否かを判別する。これは、[相]で記録した4つの時
間間隔1..1..13.14について平均値t、から
その変動が所定閾値eよりも全て小さいか否かを判別す
る。YESの場合には、他の処理が混入したり、混入し
なかったりすることによる変動がないと判断し、[相]
以降を実行する。Noの場合には、[相]で他のプログ
ラムが動作中の旨を表示し、CPU占有時間の測定を打
ち切る。eの値としては、たとえば30ミリ秒とする。
[相]は、初期処理完了表示を行う、また、オペレータ
に対して、本表示完了後、更に1回以上ループした後に
、プログラムBの実行を開始し、またプログラムBの実
行終了後に2xt、+α以上経過してからプログラムA
に割り込む操作を行うよう、その旨表示する(この割り
込みに対応して第2図(ロ)出ロブログラム4が起動さ
れる)。
1回以上ループした後、プログラムBの実行を開始する
のは、本表示処理がO3によって行われ、かつプログラ
ムAと並行して行われる可能性があるためである。その
ため、1回目の実行時間は使用しない。
[相]は、変数1=0と初期設定する。
■は、[相]と同じ処理内容のループである。
■は、タイマより時刻を読み記録する。
@は、n=n+LL、■を繰り返し実行する。
以上の処理によって、基準となるプログラムAについて
予め4回、実行時間tl 、、i2、t、、t4を測定
してその平均からの変動が所定閾値eよりも全て小さい
ときに他のプログラムが混入したり、混入しなかったり
による変動がないと判断し、プログラムAと測定対象の
プログラムBとを並列に実行を開始し、プログラムAの
1回のループを完了する毎に時刻を記憶する。そして、
プログラムBの実行が終了したのち、オペレータがキー
操作してプログラムAに対して割り込みを行い(あるい
は自動的に割り込みを行い)、第2図(ロ)出ロブログ
ラムを起動し、後述するようにしてプログラムBのCP
U占有時間を測定することが可能となる。
第2図(ロ)は、出ロブログラムの処理フローチャート
を示す。
第2図(ロ)において、0ば、最後の時刻を記録より削
除する。これは、O3の割込み処理および割り込みによ
って起動された出ロブログラム4が、そのCPUの使用
により、プログラムAの最後の時刻を変動させるので、
これを削除したものである。
■は、残った最後の時間間隔をt、とする、これは、プ
ログラムAの実行を終了する毎に記録しておいた最後の
時間間隔をOで削除し、残った最後の時刻をt、とじた
ものである。
@は、1t*  t、l<eか否かを判別する。
YESの場合には、プログラムAの最後から2つ目の時
間間隔t、の変動が所定閾値e以下であって、変動がな
く、かつプログラムBも完了していると判別されたので
、@、@を実行する。
@は、時間間隔の個数をn、最初の時刻をT。
、最後の時刻とT、とする。
@は、プログラムBのCPU占有時間=T。
T、−n*t、を求める。これにより、測定対象のプロ
グラムBのCPU占有時間が求められたこととなる。
[相]は、■でプログラムAの最後から2つ目の時間間
隔t、の変動が所定閾値以下であって、変動があると判
別(他のプログラムが混入したり、混入しなかったりし
て変動があると判別)されたので、エラー表示する。
尚、@において、1回目の0によるタイ、マの時刻を棄
却する。それは、棄却処理[相]による影響を除去する
ためである。残った第1の時間間隔とt、との差がe以
下であることをf!認すると、なおよい。プログラムB
の開始時刻が第1の時間間隔以降であるか確認できるか
らである。そのときば0の表示内容中、「1回」は、「
2回」とする。
(発明の効果〕 以上説明したように、本発明によれば、被測定対象のプ
ログラムBとの並列実行の前および後で基準となるプロ
グラムAの1回のループ時間を求めてその変動が所定閾
値以下のときにプログラムBのCPU時間(T6−”r
t−n*tiを測定する構成を採用しているため、他の
処理の影響による誤差のない正確なCPU占有時間を容
易に測定することができる。
ベレーティングシステム)、4は出ロブログラム、Aは
基準となるプログラム、BばCPU時間の測定対象のプ
ログラムを表す。

Claims (1)

  1. 【特許請求の範囲】 プログラム実行時のCPU占有時間を測定するCPU占
    有時間測定方法において、 CPU占有命令のみから成る命令群で構築されたプログ
    ラムAを単独で少なくとも1回以上反復実行させ、当該
    実行の1回毎に実行所要時間を測定する第1のステップ
    と、 前記プログラムAの少なくとも2回目以降の実行時に、
    実行所要時間の変動が所定閾値以下であるかを判定する
    第2のステップと、 前記第2のステップでの判定が成立した時に、前記プロ
    グララムAと共にCPU非占有命令を含む命令群で構築
    されたプログラムBを並列に実行させ、前記プログラム
    Bの1回の実行が終了する迄に、前記プログラムAの実
    行回数と1回毎の時刻を記憶する第3のステップと、 前記プログラムBの1回の実行が終了した後に、更に前
    記プログラムAを少なくとも1回以上反復実行させ、こ
    の時の前記プログラムAの実行所要時間の変動が所定の
    閾値以下であるかを判定する第4のステップと、 前記第4のステップでの判定が成立した時に、プログラ
    ムAの実行所要時間と、前記第3のステップにおける実
    行開始時刻、実行終了時刻、プログラムAの実行回数を
    用い、実行終了時刻と実行開始時刻の差をとり、更に前
    記プログラムAの実行所要時間に前記実行回数を乗じた
    値を差し引いて、前記プログラムBのCPU占有時間を
    算出する第5のステップと、 から構成したことを特徴とするCPU占有時間測定方法
JP1273347A 1989-10-20 1989-10-20 Cpu占有時間側定方法 Pending JPH03135634A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1273347A JPH03135634A (ja) 1989-10-20 1989-10-20 Cpu占有時間側定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1273347A JPH03135634A (ja) 1989-10-20 1989-10-20 Cpu占有時間側定方法

Publications (1)

Publication Number Publication Date
JPH03135634A true JPH03135634A (ja) 1991-06-10

Family

ID=17526630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1273347A Pending JPH03135634A (ja) 1989-10-20 1989-10-20 Cpu占有時間側定方法

Country Status (1)

Country Link
JP (1) JPH03135634A (ja)

Similar Documents

Publication Publication Date Title
JP2004504667A (ja) 実時間システム内のタスクのラン時間の測定方法及び装置
JPH03135634A (ja) Cpu占有時間側定方法
JPS63163932A (ja) 制御用計算機のシステム監視方式
JPS59208661A (ja) 計算機の負荷測定方法
JPH04305740A (ja) 処理状況表示方法
JP2761306B2 (ja) インタ−バルタイマのテスト方法
KR950013602B1 (ko) 주파수 측정장치
JP2906254B2 (ja) プログラマブル・コントローラ
JPS62125442A (ja) プログラム性能測定方式
JPS62139050A (ja) 保守診断処理装置管理による命令試験方式
JPS6353653A (ja) 試験プログラム用スケジユ−ラ
JP2527809B2 (ja) プログラマブルコントロ―ラおよびその計時処理方法
JPH0760404B2 (ja) ソフトウェア処理時間測定装置
JPH04247537A (ja) 正常性監視方式
JPH05189277A (ja) プログラマブルコントローラのプログラム実行時間測定装置
JPH0782370B2 (ja) シ−ケンサのタイマ処理装置
JPH02267642A (ja) Cpu専有時間測定装置
JPH04349543A (ja) プログラム処理時間の測定方式
JPH04287226A (ja) クロックにより動作するデータ処理装置
JPS63282539A (ja) プログラム任意区間のcpu時間測定方式
JPS6263346A (ja) 処理装置の空き時間測定方法
JPS62151949A (ja) 処理能力測定回路
JPS6215606A (ja) プログラマブルコントロ−ラの実行速度確認方法
JPH05151002A (ja) 計算機システム
JPS6269172A (ja) 集積回路の試験装置