JPH02139643A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH02139643A JPH02139643A JP63294005A JP29400588A JPH02139643A JP H02139643 A JPH02139643 A JP H02139643A JP 63294005 A JP63294005 A JP 63294005A JP 29400588 A JP29400588 A JP 29400588A JP H02139643 A JPH02139643 A JP H02139643A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- time
- saved
- contents
- execution
- 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
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000010365 information processing Effects 0.000 claims description 15
- 238000004886 process control Methods 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012369 In process control Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000010965 in-process control Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は情報処理装置の実行命令数の計数に関するもの
である。
である。
従来の情報処理装置には、処理の内容を細分化したプロ
セスという処理単位を導入し、プロセッサが複数のプロ
セスを時分割で処理することにより多重プロセス環境を
実現するものがある。このような情報処理装置ではプロ
セッサは複数のプロセスを実行待行列にしたがって実行
するが、特定プロセスによるプロセッサの占有を回避す
るため、プロセス毎に割り当てられた処理時間が経過す
るとそのプロセスの処理を中断し、実行待行列中で次の
順番のプロセスに処理が移る。それまで実行中だったプ
ロセスは実行待行列に戻されるとともに、実行が中断し
た時点でのプロセッサ内の情報が、プロセス制御ブロッ
クと呼ばれるプロセス毎に設けられた主記憶上の領域に
退避される。このときプロセス制御ブロックに退避され
る情報には、例えば、命令カウンタや汎用レジスタなど
のソフトウェア可視レジスタの内容、プロセスタイマな
どのタイムアカウント情報などがある。
セスという処理単位を導入し、プロセッサが複数のプロ
セスを時分割で処理することにより多重プロセス環境を
実現するものがある。このような情報処理装置ではプロ
セッサは複数のプロセスを実行待行列にしたがって実行
するが、特定プロセスによるプロセッサの占有を回避す
るため、プロセス毎に割り当てられた処理時間が経過す
るとそのプロセスの処理を中断し、実行待行列中で次の
順番のプロセスに処理が移る。それまで実行中だったプ
ロセスは実行待行列に戻されるとともに、実行が中断し
た時点でのプロセッサ内の情報が、プロセス制御ブロッ
クと呼ばれるプロセス毎に設けられた主記憶上の領域に
退避される。このときプロセス制御ブロックに退避され
る情報には、例えば、命令カウンタや汎用レジスタなど
のソフトウェア可視レジスタの内容、プロセスタイマな
どのタイムアカウント情報などがある。
プロセッサがこのようにプロセスを次々実行していき、
−巡した後、中断されたプロセスの番が再び回ってくる
と、先はどプロセス制御プロックに退避した情報をプロ
セッサ内に復帰して、中断された処理の続きを実行する
ことになる。
−巡した後、中断されたプロセスの番が再び回ってくる
と、先はどプロセス制御プロックに退避した情報をプロ
セッサ内に復帰して、中断された処理の続きを実行する
ことになる。
ところで、情報処理装置の性能を評価する指標として、
単位時間当たりの実行命令数が広く用いられている。単
位時間当たりの実行命令数は、各命令の実行に要する時
間にその命令の出現頻度をかけた値の和(すなわち平均
命令実行時間)の逆数として理論的に求められるが、実
際は各命令の出現頻度の見積りが困難であり、また、命
令やオペランドがキャッシュメモリ中に存在する確率な
どのパラメータの見積りも必要である。
単位時間当たりの実行命令数が広く用いられている。単
位時間当たりの実行命令数は、各命令の実行に要する時
間にその命令の出現頻度をかけた値の和(すなわち平均
命令実行時間)の逆数として理論的に求められるが、実
際は各命令の出現頻度の見積りが困難であり、また、命
令やオペランドがキャッシュメモリ中に存在する確率な
どのパラメータの見積りも必要である。
そこで、このように理論的に平均命令実行時間を計算す
ることにより単位時間当たりの実行命令数を求める代わ
りに、単位時間当たりの実行命令数を実測する方法が用
いられる。この方法では実行命令ステップ数を測定する
手段、例えば、ソフトウェア命令を1ステップ実行する
度に1ずつ加算または減算するステップカウンタと呼ば
れるカウンタなどを設け、タイマにより計測した実時間
で、このステップカウンタの値を割算することにより、
単位時間当たりの実行命令数を求める。
ることにより単位時間当たりの実行命令数を求める代わ
りに、単位時間当たりの実行命令数を実測する方法が用
いられる。この方法では実行命令ステップ数を測定する
手段、例えば、ソフトウェア命令を1ステップ実行する
度に1ずつ加算または減算するステップカウンタと呼ば
れるカウンタなどを設け、タイマにより計測した実時間
で、このステップカウンタの値を割算することにより、
単位時間当たりの実行命令数を求める。
従来、このように単位時間当たりの実行命令数の測定だ
けを目的とすれば、全プロセスを通じたステップカウン
タで十分であった。
けを目的とすれば、全プロセスを通じたステップカウン
タで十分であった。
このような情報処理装置で、プロセス内で閉じて実行命
令ステップ数が測定できると次のように有効である。
令ステップ数が測定できると次のように有効である。
第1に、特定のサブルーチンに対応するプロセスに着目
して、その使用頻度を測定することにより、そのサブル
ーチンのシステム性能に対する寄与を解析することが可
能になる。
して、その使用頻度を測定することにより、そのサブル
ーチンのシステム性能に対する寄与を解析することが可
能になる。
第2に、システムの動的振舞いを解析するためにオペレ
ーティングシステムを構成する特定のプロセスの動作を
測定することが可能になる。例えば、オペレーティング
システムを構成する複数のプロセスの内のどのプロセス
が最も実行命令ステップ数が多いかを知ることにより、
そのプロセスに注目して高速化を行ない、オペレーティ
ングシステム全体の性能を効率よく向上することができ
る。
ーティングシステムを構成する特定のプロセスの動作を
測定することが可能になる。例えば、オペレーティング
システムを構成する複数のプロセスの内のどのプロセス
が最も実行命令ステップ数が多いかを知ることにより、
そのプロセスに注目して高速化を行ない、オペレーティ
ングシステム全体の性能を効率よく向上することができ
る。
第3に、特定プロセスの実行命令ステップ数が意図に反
して膨大なものになり、システムの性能に悪影響を与え
ていないかを調査するためのデバッグに使用することが
できる。
して膨大なものになり、システムの性能に悪影響を与え
ていないかを調査するためのデバッグに使用することが
できる。
しかし、これまで述べたような従来の情報処理装置では
、全てのプロセスを通じての実行命令ステップ数の合計
を測定することはできるが、プロセス内で閉じて実行命
令ステップ数を測定する手段がな(、あったとしても、
ソフトウェアを1ステップ実行する度に割込みを発生し
、ソフトウェアまたはファームウェアによりプロセス制
御ブロック内のカウンタを更新していたため、性能の大
幅な低下をともなっていた。
、全てのプロセスを通じての実行命令ステップ数の合計
を測定することはできるが、プロセス内で閉じて実行命
令ステップ数を測定する手段がな(、あったとしても、
ソフトウェアを1ステップ実行する度に割込みを発生し
、ソフトウェアまたはファームウェアによりプロセス制
御ブロック内のカウンタを更新していたため、性能の大
幅な低下をともなっていた。
このような課題を解決するために本発明による情報処理
装置は、ソフトウェア命令を1ステップ実行する度に1
ずつ加算または減算される命令計数手段を備え、プロセ
スが中断されたときにプロセス固有情報の格納領域中に
命令計数手段の内容を退避し、中断された上記プロセス
の番が再び回ってきたときに上記格納領域中に退避した
内容を命令計数手段に復帰するようにしたものである。
装置は、ソフトウェア命令を1ステップ実行する度に1
ずつ加算または減算される命令計数手段を備え、プロセ
スが中断されたときにプロセス固有情報の格納領域中に
命令計数手段の内容を退避し、中断された上記プロセス
の番が再び回ってきたときに上記格納領域中に退避した
内容を命令計数手段に復帰するようにしたものである。
本発明による情報処理装置においては、プロセスの実行
が中断した時点での命令計数手段の内容が主記憶上のプ
ロセス固有情報の格納領域中に退避され、中断したプロ
セスの番が再び回ってくると上記格納領域中に退避され
た命令計数手段の内容が命令計数手段に復帰される。
が中断した時点での命令計数手段の内容が主記憶上のプ
ロセス固有情報の格納領域中に退避され、中断したプロ
セスの番が再び回ってくると上記格納領域中に退避され
た命令計数手段の内容が命令計数手段に復帰される。
図は、本発明による情報処理装置の一実施例を示す構成
図である。本実施例は、ステップレジスタ1.インクリ
メンタ2.主記憶3.主記憶3中に設けられたプロセス
aのプロセス制御ブロック31、プロセスbのプロセス
制御ブロック32がら成る。
図である。本実施例は、ステップレジスタ1.インクリ
メンタ2.主記憶3.主記憶3中に設けられたプロセス
aのプロセス制御ブロック31、プロセスbのプロセス
制御ブロック32がら成る。
ステップレジスタlの出力はインクリメンタ2に入力さ
れ、インクリメンタ2の出力はステップレジスタ1に入
力される。また、説明の都合上ステップレジスタ1の内
容をプロセスaのプロセス制御ブロック31に格納する
経路と、プロセスbのプロセス制御ブロック32の内容
をステップレジスタ1に格納する経路としか図中には示
していないが、ステップレジスタ1の内容をプロセス制
御ブロック31.32に、プロセス制御ブロック31.
32の内容をステップレジスタ1にそれぞれ格納する経
路が存在する。
れ、インクリメンタ2の出力はステップレジスタ1に入
力される。また、説明の都合上ステップレジスタ1の内
容をプロセスaのプロセス制御ブロック31に格納する
経路と、プロセスbのプロセス制御ブロック32の内容
をステップレジスタ1に格納する経路としか図中には示
していないが、ステップレジスタ1の内容をプロセス制
御ブロック31.32に、プロセス制御ブロック31.
32の内容をステップレジスタ1にそれぞれ格納する経
路が存在する。
ステップレジスタlの内容は、ソフトウェア命令を1ス
テップ実行する度にインクリメンタ2により1ずつ加算
されることによりソフトウェア命令の実行と同期して更
新され、実行したソフトウェア命令の数を示す。
テップ実行する度にインクリメンタ2により1ずつ加算
されることによりソフトウェア命令の実行と同期して更
新され、実行したソフトウェア命令の数を示す。
次に、プロセス内で閉じた実行命令ステップ数の測定に
ついて説明する。プロセッサがプロセスaを実行中にプ
ロセスaに割り当てられた処理時間が経過すると、複数
のプロセスの時分割処理を実現するために、プロセスa
の処理を中断し、実行待行列で次の順番のプロセスbに
処理が移る。
ついて説明する。プロセッサがプロセスaを実行中にプ
ロセスaに割り当てられた処理時間が経過すると、複数
のプロセスの時分割処理を実現するために、プロセスa
の処理を中断し、実行待行列で次の順番のプロセスbに
処理が移る。
それまで実行中だったプロセスaは実行待行列に戻され
るとともに、実行が中断した時点でのプロセッサ内の情
報はプロセスaのプロセス制御ブロック31に退避され
る。このときプロセス制御ブロック31に退避される情
報には、例えば、命令カウンタや汎用レジスタなどのソ
フトウェア可視レジスタの内容、プロセスタイマなどの
タイマアカウント情報などがある。これらの情報ととも
に、プロセスaの実行が中断した時点でのステップレジ
スタlの内容がプロセス制御ブロック31に退避される
。
るとともに、実行が中断した時点でのプロセッサ内の情
報はプロセスaのプロセス制御ブロック31に退避され
る。このときプロセス制御ブロック31に退避される情
報には、例えば、命令カウンタや汎用レジスタなどのソ
フトウェア可視レジスタの内容、プロセスタイマなどの
タイマアカウント情報などがある。これらの情報ととも
に、プロセスaの実行が中断した時点でのステップレジ
スタlの内容がプロセス制御ブロック31に退避される
。
次に、実行待行列で次の順番のプロセスbに処理を移す
ために、プロセスbのプロセス制御ブロック32中の情
報がプロセッサに移される。すなわち、命令カウンタや
汎用レジスタなどのソフトウェア可視レジスタの退避値
、プロセスタイマなどのタイマアカウント情報の退避値
などがそれぞれプロセス制御ブロック32中から各ソフ
トウェア可視レジスタ、各タイマに格納され、同様にプ
ロセス制御ブロック32中のステップレジスタ1の退避
値がステップレジスタ1に格納される。
ために、プロセスbのプロセス制御ブロック32中の情
報がプロセッサに移される。すなわち、命令カウンタや
汎用レジスタなどのソフトウェア可視レジスタの退避値
、プロセスタイマなどのタイマアカウント情報の退避値
などがそれぞれプロセス制御ブロック32中から各ソフ
トウェア可視レジスタ、各タイマに格納され、同様にプ
ロセス制御ブロック32中のステップレジスタ1の退避
値がステップレジスタ1に格納される。
プロセッサがこのようにプロセスを次々実行していき、
−巡した後、はじめに中断されたプロセスaの番が再び
回ってくると、先はどプロセスaのプロセス制御ブロッ
ク31に退避したステップレジスタ1の退避値を含む情
報をプロセッサ内に復帰して、中断された処理の続きを
実行することになる。これにより、ステップレジスタl
は、中断前のプロセスaの実行命令ステップ数の続きか
らカウントを継続することになり、プロセス内で閉じた
実行命令ステップ数の測定が可能である。
−巡した後、はじめに中断されたプロセスaの番が再び
回ってくると、先はどプロセスaのプロセス制御ブロッ
ク31に退避したステップレジスタ1の退避値を含む情
報をプロセッサ内に復帰して、中断された処理の続きを
実行することになる。これにより、ステップレジスタl
は、中断前のプロセスaの実行命令ステップ数の続きか
らカウントを継続することになり、プロセス内で閉じた
実行命令ステップ数の測定が可能である。
本実施例におけるプロセス内で閉じた実行命令ステップ
数の測定は次のように行なう。まず、ステップ数のカウ
ント開始前にあらかじめステップ数の測定を行なうプロ
セスのプロセス制御ブロック中のステップレジスタ1の
退避領域の内容を0に書き換えておく。そして、測定す
る対象のプロセスを起動する。最後に、カウント終了時
に再びそのプロセスのプロセス制御ブロック中のステッ
プレジスタ1退避領域を読み出すことにより、その間に
実行した命令ステップ数を知ることができる。
数の測定は次のように行なう。まず、ステップ数のカウ
ント開始前にあらかじめステップ数の測定を行なうプロ
セスのプロセス制御ブロック中のステップレジスタ1の
退避領域の内容を0に書き換えておく。そして、測定す
る対象のプロセスを起動する。最後に、カウント終了時
に再びそのプロセスのプロセス制御ブロック中のステッ
プレジスタ1退避領域を読み出すことにより、その間に
実行した命令ステップ数を知ることができる。
また、ステップレジスタ1の内容をソフトウェアにより
リセットしたり、読み出したりできるように構成するこ
とも可能である。その場合は、ステップ数のカウント開
始時にステップレジスタlの内容を0にリセットし、カ
ウント終了時にステップレジスタ1の内容を読み出すこ
とにより、その間に実行した命令ステップ数を知ること
ができる。
リセットしたり、読み出したりできるように構成するこ
とも可能である。その場合は、ステップ数のカウント開
始時にステップレジスタlの内容を0にリセットし、カ
ウント終了時にステップレジスタ1の内容を読み出すこ
とにより、その間に実行した命令ステップ数を知ること
ができる。
なお、本実施例に示す情報処理装置で、単位時間当たり
の実行命令数の測定を行なう場合には、各プロセス毎に
プロセスタイマにより計測した実時間の合計で、各プロ
セス毎にステップレジスタ1により計測した実行命令ス
テップ数の合計を割算することにより求める。
の実行命令数の測定を行なう場合には、各プロセス毎に
プロセスタイマにより計測した実時間の合計で、各プロ
セス毎にステップレジスタ1により計測した実行命令ス
テップ数の合計を割算することにより求める。
以上説明したように本発明による情報処理装置は、ソフ
トウェア命令を1ステップ実行する度に1ずつ加算また
は減算される命令計数手段を備え、プロセスが中断され
たときにプロセス固有情報の格納領域中に命令計数手段
の内容を退避し、中断された前記プロセスの番が再び回
ってきたときに上記格納領域中に退避した内容を命令計
数手段に復帰するようにしたことにより、実行した命令
ステップ数を上記格納領域の内容により知ることができ
るので、性能の低下を伴わずに、プロセス内で閉じた実
行命令ステップ数の測定ができる効果があり、ソフトウ
ェアの性能解析、デバッグなどに有効である。
トウェア命令を1ステップ実行する度に1ずつ加算また
は減算される命令計数手段を備え、プロセスが中断され
たときにプロセス固有情報の格納領域中に命令計数手段
の内容を退避し、中断された前記プロセスの番が再び回
ってきたときに上記格納領域中に退避した内容を命令計
数手段に復帰するようにしたことにより、実行した命令
ステップ数を上記格納領域の内容により知ることができ
るので、性能の低下を伴わずに、プロセス内で閉じた実
行命令ステップ数の測定ができる効果があり、ソフトウ
ェアの性能解析、デバッグなどに有効である。
図は本発明による情報処理装置の一実施例を示す構成図
である。 1・・・ステップレジスタ、2・・・インクリメンタ、
3・・・主記憶、31.32・・・プロセス制御ブロッ
ク。 特許出願人 日本電気株式会社
である。 1・・・ステップレジスタ、2・・・インクリメンタ、
3・・・主記憶、31.32・・・プロセス制御ブロッ
ク。 特許出願人 日本電気株式会社
Claims (1)
- プロセス固有情報の格納領域を主記憶上にプロセスに対
応して設けることにより多重プロセス環境を実現する情
報処理装置において、ソフトウェア命令を1ステップ実
行する度に1ずつ加算または減算される命令計数手段を
備え、プロセスが中断されたときに前記格納領域中に前
記命令計数手段の内容を退避し、中断された前記プロセ
スの番が再び回ってきたときに前記格納領域中に退避し
た内容を前記命令計数手段に復帰することを特徴とする
情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63294005A JPH02139643A (ja) | 1988-11-21 | 1988-11-21 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63294005A JPH02139643A (ja) | 1988-11-21 | 1988-11-21 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02139643A true JPH02139643A (ja) | 1990-05-29 |
Family
ID=17802012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63294005A Pending JPH02139643A (ja) | 1988-11-21 | 1988-11-21 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02139643A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5171752A (ja) * | 1974-12-19 | 1976-06-21 | Omron Tateisi Electronics Co | |
JPS60238948A (ja) * | 1984-05-12 | 1985-11-27 | Mitsubishi Electric Corp | 計算機システムの処理時間測定装置 |
JPS63172351A (ja) * | 1987-01-12 | 1988-07-16 | Mitsubishi Electric Corp | ソフトウエア解析方式 |
JPS63240642A (ja) * | 1987-03-27 | 1988-10-06 | Nec Corp | プログラムデバツク方式 |
-
1988
- 1988-11-21 JP JP63294005A patent/JPH02139643A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5171752A (ja) * | 1974-12-19 | 1976-06-21 | Omron Tateisi Electronics Co | |
JPS60238948A (ja) * | 1984-05-12 | 1985-11-27 | Mitsubishi Electric Corp | 計算機システムの処理時間測定装置 |
JPS63172351A (ja) * | 1987-01-12 | 1988-07-16 | Mitsubishi Electric Corp | ソフトウエア解析方式 |
JPS63240642A (ja) * | 1987-03-27 | 1988-10-06 | Nec Corp | プログラムデバツク方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4034363B2 (ja) | オペレーティング・システム・ベースのプログラムの性能モニタ方法およびシステム | |
US8104036B2 (en) | Measuring processor use in a hardware multithreading processor environment | |
JP5353227B2 (ja) | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 | |
US8117614B2 (en) | Extract CPU time facility | |
US5412799A (en) | Efficient data processor instrumentation for systematic program debugging and development | |
US20080010555A1 (en) | Method and Apparatus for Measuring the Cost of a Pipeline Event and for Displaying Images Which Permit the Visualization orf Said Cost | |
US6725363B1 (en) | Method for filtering instructions to get more precise event counts | |
JP6544054B2 (ja) | 情報処理装置、実行情報記録プログラムおよび実行情報記録方法 | |
JPH02139643A (ja) | 情報処理装置 | |
JP2715993B2 (ja) | シミュレーション方法および装置 | |
JP2907958B2 (ja) | 時刻機構制御方法 | |
JP2005215816A (ja) | ハードウェアモニタを用いた性能プロファイリング方法 | |
JP2775817B2 (ja) | 情報処理装置 | |
JPH03269640A (ja) | 仮想計算機システム | |
JP2001166954A (ja) | 仮想計算機装置および仮想計算機装置の制御方法 | |
JP2716166B2 (ja) | 情報処理装置 | |
JPS59208661A (ja) | 計算機の負荷測定方法 | |
JPH11327927A (ja) | Cpu使用率測定方式 | |
JPH1063516A (ja) | ボトルネック検出方法及びボトルネック検出装置 | |
JPH01211048A (ja) | プログラムの実行命令数測定方式 | |
JP2589403B2 (ja) | 情報処理装置 | |
JPH02236725A (ja) | 情報処理装置 | |
JPH02271437A (ja) | タスク走行時間計測方式 | |
JPS6349946A (ja) | 演算処理装置 | |
JPH02242349A (ja) | コマンド処理装置 |