JP2908739B2 - 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法 - Google Patents

多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法

Info

Publication number
JP2908739B2
JP2908739B2 JP7316705A JP31670595A JP2908739B2 JP 2908739 B2 JP2908739 B2 JP 2908739B2 JP 7316705 A JP7316705 A JP 7316705A JP 31670595 A JP31670595 A JP 31670595A JP 2908739 B2 JP2908739 B2 JP 2908739B2
Authority
JP
Japan
Prior art keywords
interrupt
time
cpu
multiprocessor system
register
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.)
Expired - Fee Related
Application number
JP7316705A
Other languages
English (en)
Other versions
JPH08263310A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08263310A publication Critical patent/JPH08263310A/ja
Application granted granted Critical
Publication of JP2908739B2 publication Critical patent/JP2908739B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に多重プロセッ
サ・コンピュータ・システムにおける性能モニタリング
に関する。特に、多重プロセッサ・システムの各プロセ
ッサにおける性能モニタリングが正確に同一の時間周期
でデータを捕獲する。捕獲データはプロセッサ・ユニッ
トの割込み処理システムが許可か禁止かに関わらない。
【0002】
【従来の技術】多重プロセッサ・システムの性能を調査
及び調整するために、全てのシステム・プロセッサに渡
る実行において、現命令及びデータのアドレスのサンプ
ル・シーケンスを同時に獲得することが望ましい。デー
タ・サンプリング及びプロファイリングは、単一プロセ
ッサ・システムの性能調整には非常に貴重なツールであ
ることが分かっている。PowerPCプロセッサから成る対
称多重プロセッサ・システムを調整するプロファイリン
グの主要な面を提供するために、複数プロセッサの個々
の状態を同時に安価に捕獲する方法を見い出すことが必
要である。マシン状態は、少なくとも実行中の現命令ア
ドレスと現命令に関連するオペランド・アドレス(存在
する場合)とをさし示す。多重プロセッサ・システムの
性能は前記システムのプロセッサ間の相互作用に強く関
連付けられるので、多重プロセッサ・システム内のプロ
セッサの状態を同時に捕獲することが重要である。そう
でないと多重プロセッサ・システムのプロセッサ間の相
互作用の知識を犠牲にすることになる。
【0003】複数のプロセッサがロック状態、若しくは
ソフトウェア待機状態、または他の類似のソフトウェア
資源競合において同時に空転するなどの状態を検出する
ことが重要である。同時プロセッサ状態サンプルは実行
スレッドの正確な"断面図(cross-sectional view)"と
見なすことができる。
【0004】更にモニタリングを要求するポイントにシ
ステム状態が進行するように、或いはサンプリング処理
の妨害を回避するようにサンプル間の遅延が調整可能な
方法でなければならない。
【0005】中央処理ユニット(CPU)は、アドレス
及びオペランド情報をサンプリングし、指定時点にマシ
ン状態を判断する性能モニタリング機構を含む。これを
達成するために、周期的な割込みがシステム割込み処理
機構に信号で知らされ、後処理のために例えばマシン状
態データを読出し、メモリに記憶するように要求する。
実行プロファイルはこの時、保管状態データ・ポイント
の多数の順次インスタンスの記録を含む。しかしながら
割込み処理機構が割込みマスク状態であることは珍しく
ない。割込み処理機構は本来、プロセッサ実行ユニット
と関連して実行されるソフトウェア・サービス・ルーチ
ンを含む処理要素である。様々な理由により割込みハン
ドラは割込み要求信号をサービスしていないかもしれな
い。これが発生すると、割込みハンドラが割込み要求を
許可にし、マシン状態データを読出す以前に性能モニタ
リング機構により要求される状態値が変化しうる。
【0006】単一プロセッサ・システムではマシン状態
が異なる時点において記録される。そして別のプロセッ
サが存在しないので、ハードウェアのバイアス作用が存
在しなければマシン状態データが有効でありうる。しか
しながらこれは稀な場合である。スーパスカラ設計では
通常、任意の時点で多数の命令が進行中である。割込み
条件が検出されると、プロセッサは、割込み処理ソフト
ウェアの実行を可能にするために、現在実行中のどの命
令(但し存在する場合)を取り消さねばならないかを決
定しなければならない。実行ストリームをどこで中断す
るかを決定する多くのアプローチが存在し、通常、スト
リームはランダムでない方法により中断される。特に多
くのプロセッサ設計において、実行ストリームを分岐命
令で中断するように選択する。従って、単一プロセッサ
においてもプロファイルは基本的バイアスを有する。バ
イアス作用は、類似の条件が存在する命令実行プロセス
のポイントにおいて非ランダム・サンプルが取得される
ときに発生する。許可された割込みを有する処理ユニッ
トでさえも、元来、現在実行中の命令が完了される特定
の時点においてのみ、割込みの実行を許可する(次の命
令が常に割込みとして実行されるように受諾される訳で
はない)。通常、これは分岐ターゲットにおいて発生す
る。このように、プロセッサが割込みを実行するときだ
けマシン状態データが記憶される従来システムでは、プ
ロセッサが割込みサービスを許可するときに存在する特
定のマシン状態に向けて状態情報がバイアスされる結果
となる。従って、プロセッサが割込みを処理することが
好都合と判断したか否かに関わらず、ランダムにマシン
状態データを保管できるシステムを有することが有利で
あることが理解されよう。多重プロセッサ・システムに
更にプロセッサを追加することは、事情をより複雑にす
るに過ぎない。従ってこれらのバイアスを排除し、実行
ストリームのバイアス無しのサンプリングを提供するシ
ステムが求められる。
【0007】
【発明が解決しようとする課題】しかしながら多重プロ
セッサ・システムでは、マシン状態データが各CPUに
対応して同一時点に記録されなければならない。そうで
ないと、第1のプロセッサが割込みを許可され第2のプ
ロセッサが割込みを禁止されるといった問題が発生す
る。従って、第1のプロセッサの割込みハンドラは第1
のCPUの状態を第1の時点において記録する。更に、
第2のプロセッサの状態が、割込み処理システムが割込
み要求を許可するのを待機する間に(第1の時点より後
の)第2の時点を反映するように変更されうる。こうし
たことは多重プロセッサ・システムにおいて重大な問題
を生じる。なぜなら、第1及び第2のCPUに対応して
記録されるデータが、特定の時点において一貫性を失う
からである。多重プロセッサ・システムのプロセッサ間
には多くの相互依存性が存在する。多重プロセッサ・シ
ステムにおいて任意の意味深いプロファイルを獲得する
ために、或いはデータをサンプリングするために、同一
時点におけるシステム内の各CPUの状態が記録されな
ければならない。
【0008】従って、多重プロセッサ・システム内の各
CPUのマシン状態を同一時点において記録するように
保証するシステム及び方法が求められることが理解され
よう。
【0009】
【課題を解決するための手段】従来技術に比較して、本
発明は、システム割込みハンドラが許可または禁止状態
かに関わらず、特定の時点におけるデータを常に保管す
るように保証するシステム及び方法を提供する。
【0010】広く言えば、本発明は多重プロセッサ・シ
ステムの各プロセッサ内の性能モニタリング機構に関連
して、一連の特殊目的レジスタ(SPR)を提供する。
時間ベース機構が各CPUに含まれ、多重プロセッサ・
システム全体に渡って同期される。時間ベース機構がマ
シン状態を記録するように要求すると、性能モニタリン
グ機構が即時マシン状態値を特殊目的レジスタに記憶す
る。従って、多重プロセッサ・システム内の各CPUの
状態が同一時点において保管される。システム内の各C
PUの性能モニタリング機構は割込みハンドラに割込み
要求を発行し、もし割込みが許可されていると、マシン
状態データが割込み処理ソフトウェアにより後処理など
のために記憶される。しかしながら、割込みハンドラが
割込みを禁止しているとマシン状態データは割込みが許
可されるまでSPR内に留まり、その後データが続く後
処理のために特殊目的レジスタからメモリなどに読出さ
れる。このように、各CPUに対応する一貫性のある同
期したマシン状態データが、時間ベース機構により要求
される各時点において記録される。
【0011】上述の要約により、当業者には後述の説明
を参照することにより本発明の目的、特徴及び利点が理
解されよう。
【0012】
【発明の実施の形態】図1を参照すると、本発明を実現
可能な多重プロセッサ・システム(参照番号1で示され
る)のブロック図が示され、CPU3A(CPU0)、
3B(CPU1)、3C(CPU2)、3D(CPU
3)乃至CPU3N(CPUN)を含む。好適な実施例
では、これらの各プロセッサは本来同一であり、従っ
て、本発明はプロセッサCPU03Aに関連して述べる
ことにする。しかしながら、本説明は他の各プロセッサ
3B乃至3Nにも当てはまることを理解されたい。シス
テム・バス2が含まれ、これは各プロセッサ3A乃至3
N間のアドレス及びデータ転送通信を提供する。更に、
入出力(I/O)制御装置4及びメモリ制御装置/サブ
システム6が各々システム・バス2に接続され、データ
及びアドレス情報がプロセッサとI/O制御装置4とメ
モリ装置6との間を転送される。このようにしてプロセ
ッサ3A乃至3Nは、情報をシステム・バス2を介して
メモリ制御システム6に書込むことによりメモリに情報
を記憶することができる。ここでメモリ制御装置6は、
ダイナミック・ランダム・アクセス・メモリ(DRA
M)装置またはスタティック・ランダム・アクセス・メ
モリ(SRAM)装置などのメモリ記憶装置を含む。更
に情報は、メモリ制御装置6からシステム・バス2を介
して呼出され、CPU3A乃至3Nに記憶される。同様
に情報はプロセッサ3A乃至3N及びI/O制御装置4
との間で転送され、それにより通信が他の処理システム
或いは装置との間でも達成される。
【0013】好適な実施例では、各CPU3A乃至3N
はIBMより販売されるPowerPCマイクロプロセッサ(P
owerPCはIBMの商標)である。これらの各マイクロプ
ロセッサは、その対応マシンのプロファイル・データを
獲得する性能モニタ機構10を含む。図2を参照する
と、性能モニタ機構10が、時間ベース機構12と共に
提供されることが理解される。時間ベース機構12は、
マシン状態が保管されるべき正確な時点を指定するカウ
ンタを含む。各CPU3A乃至3Nは、システム・バス
・クロックにもとづく周波数のクロックを有する時間ベ
ース機構12を含む。時間ベース機構は多重プロセッサ
・システム内の各プロセッサ上で要求される。これは多
重プロセッサ・システムが同期時間ベースを必要とする
事実による(すなわち各プロセッサの時間ベースが全て
の時間ベースと同期する)。時間ベース・クロック周波
数はシステム・バス・クロックに等しいか、或いはその
比率が例えばバス・クロック周波数の1/4のように等
しい。1実施例では、時間ベース・クロックはシステム
・バス・クロックの速度の1/6であり、すなわち毎6
システム・バス・クロック・サイクルごとに1タイム・
ベース・クロック・サイクルが発生する。64ビット・
カウンタが時間ベース機構12に含まれ、ビット・フリ
ップ間の時間の増分が制御されるように所定ビットがフ
リップされる。
【0014】時間ベース機構12は、任意の時間に繰返
し発生するシステム事象にもとづきマシン状態データを
サンプリングすることができる。例えば状態データは、
レベル1(L1)またはレベル2(L2)キャッシュ・
ミス、または垂直キャッシュ・ヒットなどが発生する度
に捕獲される。好適な実施例はシステム・クロックに対
して特定の比率の周波数にもとづくカウンタを用いるよ
うに述べられるが、マシン状態データをサンプリングす
る時間基準として任意の数のシステム事象を選択するこ
とができる。
【0015】多重プロセッサ・システムでは、各CPU
3A乃至3N内の各時間ベース機構12が正確に同一時
刻に初期化されることが重要である。この同期は多重プ
ロセッサ・システムを基本的にリセットすることにより
達成される。より詳細には多重プロセッサ・システムが
停止され、各CPU内の各時間ベース機構12が同一
値、例えば0にセットされて初期化され、次に始動/再
始動される。従って各時間ベース機構12がシステム・
バス・クロックに同期され、それらの内部のカウンタが
同一値に初期化される。このように、各時間ベース機構
12は通知信号を性能モニタ機構10に送信し、マシン
状態をそれぞれの性能モニタ機構10に正確に同一時刻
に記憶するように要求する。
【0016】図4は、CPU3A乃至3N内の時間ベー
ス機構12を同期する別の方法を示す。参照番号50は
一般に、各プロセッサ内の時間ベースを同期するために
本発明により使用されるシステム時間ベース生成及び同
期機構を表す。システム・クロック52はシステム・バ
ス2を制御する信号を生成し、このクロック信号をクロ
ック・バッファ・ドライバ54、クロック・プリスケー
ラ56、及び時間ベース・バッファ60に出力する。ク
ロック・ドライバ・バッファ54は、システム・クロッ
ク信号をバス・インタフェース62を介してプロセッ
サ、バス・ユニット制御装置及びこの信号を要求する他
の装置に出力する。更にカウント・ラッチ・レジスタ5
8が提供され、時間ベース・バッファ/分周器60と共
に、オペレーティング・システム・ソフトウェア(図示
せず)からプログラム式クロック制御信号を受信する。
カウント・ラッチ・レジスタ58は次にオペレーティン
グ・システム制御信号をクロック・プリスケーラ56に
提供し、クロック・プリスケーラ56は同期制御信号を
時間ベース・バッファ60に出力する。すると時間ベー
ス・バッファ60がバス・インタフェース62を介して
時間ベース・システム許可信号を時間ベース機構12に
出力する。
【0017】クロック・プリスケーラ56は15ビット
・プログラマブル回路(オペレーティング・システム・
ソフトウェアによりプログラムされる)であり、総カウ
ントに達する度に1クロック・パルス許可を消去する。
この方法の使用により図4のシステムは次の特性を提供
する。 1.基本総カウント(.95*32768).....31129 2.最大調整範囲.................#5% 3.調整細分性..................116msec/hr 4.最大スキュー・レート(時間調整).......#190sec/hr 5.0カウント................クロック停止
【0018】プリスケーラ56は精度を向上するために
長い周期を有するか、或いはコストを低減するために短
い周期を有するように設計される。オプションのプログ
ラマブル分周器(時間ベース・バッファ60内に示され
る)が、システム・クロック周波数の3%乃至12%の
範囲の時間ベース信号を供給するために提供されてもよ
い。時間ベース許可信号がアサートされるとプロセッサ
3A乃至3Nはシステム・クロックをカウントし、時間
ベースがシステム・クロック周波数に比較的依存しなく
なる。
【0019】図4の時間ベース同期クロックは、新たな
値を時間ベース・レジスタ58に明示的にロードするこ
と無しに調整可能である。これは大きな誤差を調整する
ための複数の更新の問題を回避する。プリスケーラ回路
56は、例えば時間ベースをネットワークに同期させる
ための次のクロック同期計算が発生する時点などの、特
定期間に渡る誤差を補正するように調整される。クロッ
クが高速の場合には、ソフトウェアは一連の小変化量だ
け時間を戻すことにより時間の逆走行の出現を回避する
のではなく、時間ベース許可レートを低減する。
【0020】多重プロセッサ・システムにおいて、ある
プロセッサ3A乃至3Nがネットワークとのクロック同
期プロトコルを実行することができ、全てのプロセッサ
のクロックを調整するために単一の調整を行う。全ての
プロセッサの整合(rendezvous)が必要なのはパワーオ
ン・リセット時だけである。パワーオン・リセット整合
にはクロックがオフされ(カウントが0にセットされ
る)、全てのプロセッサがそれらのクロックを初期化し
て、先導プロセッサがプリスケーラをデフォルト値また
は校正値にセットし、全てのクロックを始動する。
【0021】この機構はまた、クロックを初期化、同期
及び修正するために使用されるソフトウェアを単純化す
る。クロック・ドリフトが低減され、標準の高精度クリ
スタルを用いるより正確な時間基準を提供する。クリス
タルの安定性及び同期ソフトウェアの精度だけがクロッ
クの精度を制限する(クリスタルの精度に依存しな
い)。
【0022】システム時間ベース制御には時間ベース・
バッファ/分周器レジスタ60が関連付けられる。Powe
rPCマイクロプロセッサではこのレジスタはシステム・
メモリ空間内のハイ・メモリ・ロケーションに配置され
る。
【0023】システム時間ベース制御には、更に総カウ
ント・ラッチ・レジスタ58が関連付けられる。このレ
ジスタは、システム・メモリ空間の別のハイ・メモリ・
ロケーションに配置される。
【0024】図2を再度参照すると、本発明は所与の多
重プロセッサ・システムの全てのプロセッサが、システ
ム内の全てのCPU上で同期して発生する事象を検出及
びカウントすることを可能にする。これらの事象を追跡
する好適な方法は、時間ベース機構12であり、これは
PowerPCマイクロプロセッサ内に存在する。特定の時点
において、状態情報を保持する特定タイプの機構を含む
プロセッサが知られており、ここではPowerPCマイクロ
プロセッサを例として挙げることにする。各時間ベース
機構12は、上述の方法により多重プロセッサ・システ
ムの全てのプロセッサ間で同期される。
【0025】時間ベース機構12は、所与の多重プロセ
ッサ・システム内の全てのプロセッサに渡って同期され
るので、これはプロセッサを同期するための単純な機構
を提供する。従って多重プロセッサ・システムの全ての
プロセッサが、単一のシステム・ワイドな事象を同期し
て検出し、それに対応することができる。時間ベース・
レジスタの選択ビット・グループの1ビットの遷移が、
複数のプロセッサ3A乃至3Nの間で同一の条件を同時
に検出する手段として選択される。問題に対する一般的
な解決策は、任意のビットの遷移がカウントのために選
択されることである。しかしながら、この同期割込み機
能をサポートするプロセッサでは、64ビット時間ベー
ス・カウンタの4ビットの1ビットだけが、ソフトウェ
アによりアクセス可能なモニタ・モード制御レジスタ
(MMCR)を介して選択されるものと思われる。
【0026】代表的な実施例では、4つの時間ベース・
ビット(66MHzバス・クロックにもとづく)、すな
わちビット46−0.98msec、ビット45−1.96
msec、ビット43−7.84msec、そしてビット39−
125.44msecが選択される。全てのプロセッサがこ
の同期時間ベース割込み条件を同時に検出し、信号で知
らせることが必要であるが、全てのプロセッサがこの割
込み事象を同時に処理することは必ずしも可能ではない
(その1つの理由は、特定のプロセッサの割込みが事象
発生時に禁止されているかも知れないからである)。す
なわち、アドレス及びオペランド・データを含む状態情
報を保管する作業、及び割込み処理ソフトウェアを呼出
すアーキテクチャ的結果がプロセッサの禁止により遅延
されうる。割込みマスクによるデータの損失が生じない
ことを保証するために、割込み条件が検出されるとプロ
セッサは実行中の1命令の有効命令及びオペランド・ア
ドレス(但しオペランドが存在する場合)を捕獲し、割
込みを割込み解析論理に提供する。これらのアドレス
は、この目的のために指定される2つのレジスタ、すな
わち保管データ・アドレス(SDA)レジスタ及び保管
命令アドレス(SIA)レジスタに、システム・ワイド
な信号通達時に保管される。割込みが実際にサービスさ
れるとき、SDA及びSIAの内容は、システム・ワイ
ドな信号通達時におけるCPU状態を反映する。
【0027】図2では同期される各時間ベース機構12
のカウンタ内の所定ビットがフリップするとき、通知信
号が時間ベース機構12から性能モニタ機構10に送信
される。この通知信号により、性能モニタ機構はマシン
状態値を特殊目的レジスタ(SPR)12、14及び1
6に保管する。図2では説明の都合上3つのSPR1
2、14及び16が示されるが、本発明が状態データを
記憶するために任意の数のレジスタの使用を考慮するこ
とが理解されよう。
【0028】性能モニタ機構10は、プロセッサ命令実
行及び記憶制御の利用に関する詳細情報を提供すること
を目的とする、ソフトウェアによりアクセス可能な機構
である。性能モニタ機構10は実施例に依存する数の3
2ビット・カウンタを含み、これらはプロセッサまたは
記憶装置の性能に関する事象をカウントするために使用
される。PowerPCマイクロプロセッサは性能モニタリン
グをサポートし、実施例に依存する数の事象がカウント
のために選択される。
【0029】モニタ・モード制御レジスタ(MMCR
0)はカウンタの機能を確立する。カウンタ及びMMC
R0はプロセッサ・チップ上に物理的に存在し、mfspr
またはmtspr命令を介する読出しまたは書込みに対応し
てアドレス指定可能である。これらのSPRへの書込み
は、特権状態またはスーパバイザ状態においてのみ許可
される。これらのSPRからの読出しも問題状態におい
て許可されうる。これらのカウンタまたはレジスタの読
出しはそれらの内容を変更しない。
【0030】モニタ・モード制御レジスタ(MMCR
0)は事象(信号)の選択の記録(カウント)を許容す
るビット・フィールドに区分化される。事象の許容可能
な組合わせの選択はカウンタを同時に動作させる。MM
CR0はカウンタ許可制御、カウンタ・オーバフロー割
込み制御、カウンタ事象選択及びカウンタ・フリーズ制
御などの制御を含む。
【0031】性能モニタリング機構10は、ネガティブ
・カウンタ(ビット0の"オン"または"1")条件により
知らされる"性能モニタ"割込みを使用する。性能モニタ
割込みは、コード・ストリームをサンプリングして、"
ホット・スポット"すなわち繰返し使用され、全体性能
を向上するように結合または調整されるコードを見い出
すためにプロファイリング・ソフトウェアにより使用さ
れる。
【0032】性能モニタ機構10が時間ベース機構12
から"データのサンプリング"を指令する通知を受信する
と、割込み信号が分岐割込み処理ユニット20に出力さ
れる。同時にサンプリング・データ(マシン状態デー
タ)が、この目的のために指定される特殊目的レジスタ
(SPR)12、14及び16に配置される。好適な実
施例では、このサンプリング・データへのアクセスを可
能にするために、2つの追加のSPR、すなわちSIA
(保管命令アドレス)レジスタとSDA(保管データ・
アドレス)レジスタが含まれる。割込みの実行時、捕獲
オペランド・アドレス(但し存在する場合)はSDA
に、また捕獲命令アドレスはSIAに存在すべきであ
る。PowerPC604マイクロプロセッサ(PowerPC604はIB
Mの商標)では、追加のマシン状態情報が、SRR1ビ
ット(1乃至4及び10乃至15)内に存在する。
【0033】カウンタの使用を回避するために、選択ビ
ットの遷移により割込みの知らせを示すフラグがMMC
R0内に定義される。このフラグが選択ビットの遷移に
より、割込みを知らせるようにセットされると、そのビ
ット遷移により割込みを知らせるようにセットされる全
てのプロセッサが同時に性能モニタリング割込みを信号
で知らせる。時間ベース機構及び性能モニタリングのカ
ウントのために選択されるビットの実際の実現は、それ
ぞれシステム及びプロセッサ設計の機能による。
【0034】性能モニタ機構10が時間ベース機構12
から通知信号を受信すると、性能モニタ機構10は自身
内の特定のレジスタからデータを読出すことにより、そ
こに記憶されるマシン状態データをサンプリングし、こ
の状態データを特殊目的レジスタ12、14及び16な
どに記憶する。性能モニタ機構10は通常、単一プロセ
ッサ・システム内で動作し、本発明により必要とされる
全ての状態情報を含む。単一プロセッサ・システムでは
状態データを性能モニタ機構10から分離して維持する
必要はない。なぜなら対象のプロセッサと他のCPU間
の一貫性を維持する必要がないからである。状態データ
がSPR12、14及び16に記憶されると、性能モニ
タ機構10は次に割込み要求信号を分岐割込み処理ユニ
ット20に発行する。
【0035】しかしながら本発明は単一プロセッサ・シ
ステムにおいても有用である。なぜならマシン状態デー
タが、割込みがマスクされるか否かに関わらず任意の時
点においてサンプリングされるからである。従来の単一
プロセッサ・システム内の性能モニタ機構は、割込みが
禁止される特定の時点においてマシン状態データを捕獲
することができない。すなわち、性能モニタ機構が割込
みが禁止される時刻Aにおいて状態データを獲得できな
い。そのためにマシン状態が時刻A以後の特定の時点
(例えばA+N)において捕獲される。従って従来のシ
ステムは、割込みが禁止されている間にプロセッサが最
適に動作しているかどうかを判断できない。なぜならこ
れらの特定の時点においてはマシン状態データが決して
捕獲されないからである。しかしながら本発明を使用す
れば、マシン状態データがSPR12、14及び16に
保管されるので、マシン状態データが任意の時点(割込
みが許可されているときに限らず)において捕獲可能に
なる。割込みが禁止される間のプロセッサの状態データ
は、その時に走行するコード内に"ホット・スポット"が
存在するか否かを判断することにより、プロセッサ性能
を最適化するために使用される。更に、本発明はランダ
ム・マシン状態情報を獲得してバイアスを除去すること
を保証し、またデータのランダム・サンプリングを提供
するために使用される。このように本発明によれば、状
態データが割込みの禁止期間においても獲得されるの
で、本発明は多重プロセッサ・システムだけでなく単一
プロセッサ・システムにおいても特定の有用性を有す
る。
【0036】大部分のスーパスカラ処理ユニットは、命
令自体における依存性と他のシステム・パラメータとに
もとづき命令パスを予測し、最終的に決定する分岐割込
み処理ユニット(BPU)を含む。このBPU20は割
込み信号を受信し、適切な条件が満たされると、性能モ
ニタ機構10からの割込み要求(IRQ)にもとづき実
行をオペレーティング・システム割込みハンドラ22に
転じる。しかしながら場合によっては、BPU20が中
断できない他の処理活動に従事しているかもしれない。
この場合、割込みはマスク(禁止)される。しかしなが
ら、割込みがマスクされない(すなわち許可される)場
合には、BPU20はIRQを割込みハンドラ22に送
信し、割込みハンドラ22が次に少なくとも1つのサー
ビス・ルーチン24、26、28を呼出す。図2は、B
PU20からの性能モニタIRQの受信に際し、性能モ
ニタ割込みハンドラ(PMIH)ルーチン24が呼出さ
れる場合を示す。サービス・ルーチン24は次にシステ
ム・ソフトウェア内で初期化され、特殊目的レジスタ1
2、14、16などに記憶されるサンプリング・データ
を読出す。このマシン状態のサンプリング・データは次
にシステム・メモリ30に記憶される。ここでシステム
・メモリ30はハード・ファイル、テープ、フロッピー
・ディスクなどである。システム・メモリ30は多重プ
ロセッサ・システム1に含まれるメモリを示し、そこに
同一時点における各CPU3A乃至3Nの状態データが
記憶される。
【0037】単に性能モニタ機構10内のレジスタに状
態情報を記憶する従来システムに比較して、本発明によ
る特殊目的レジスタ12、14、16などの提供は大き
な優位性を提供する。すなわち、多重プロセッサ・シス
テム内のあるCPU内のBPU20が割込みを禁止して
いる場合、割込みハンドラ22及びサービス・ルーチン
24が性能モニタ機構10内のサンプリング・データを
検索し、それを後処理のために記憶する以前に性能モニ
タ機構10内のサンプリング・データが変化する可能性
がある。その結果、多重プロセッサ・システム内の少な
くとも1つのCPUが、他のCPUと一貫性の無いデー
タを記録することになる。なぜならサンプリング・デー
タがメモリに記録される以前にマシンが状態を変化させ
るからである。しかしながら本発明はマシン状態データ
を特定の時点においてSPR12、14、16に記憶
し、この時点がデータが多重プロセッサ・システム内の
他の全てのCPUに保管される同時刻に相当する。従っ
て、多重プロセッサ・システム内の各CPUの一貫した
状態データが、所望の正確な時刻にSPRから読出され
る。なぜなら性能モニタ機構10から信号が受信される
ときに、BPU20が割込みをマスクしていたか否かに
関わらず、割込みハンドラ22及びサービス・ルーチン
24が状態データを検索できるようにこれらのデータが
十分な時間レジスタ内に保持されるからである。
【0038】多重プロセッサ・システム内の全てのCP
Uに対応して、一貫した状態データが獲得されるよう
に、本発明により実現されるプロセスが図3に関連して
述べられる。ステップ1ではプロセスがシステムを初期
化することにより開始され、上述のようにCPU内の全
ての時間ベース機構12が同期される。
【0039】ステップ2では時間ベース機構12が通知
信号を性能モニタ機構10に発行する。性能モニタが次
に時間ベース機構12から通知を受信し、CPU状態デ
ータのサンプルが特殊目的レジスタ12、14、16な
どに記憶される(ステップ3)。次にステップ4で性能
モニタ機構10が分岐割込み処理ユニット20に割込み
を発行する。
【0040】ステップ5は割込みがBPU20により許
可されているか否かを判断する。許可されていないとプ
ロセスはステップ5にループして戻り、BPU20が割
込みを許可する(マスク解除する)のを待機する。ステ
ップ5で割込みがBPU20により許可されていると判
断されると、割込み要求がBPU20によりオペレーテ
ィング・システム割込みハンドラ22に送信される(ス
テップ6)。次にステップ7で割込みハンドラ22によ
り性能モニタ割込みサービス・ルーチンが呼出され、割
込みハンドラ22は次にステップ8で特殊目的レジスタ
(SPR)12、14、16から、サンプリング・デー
タを読出す。SPR12、14、16から読出されたデ
ータは、次にステップ9で後処理のためにシステム・メ
モリ30に記憶される。ステップ9に続き処理はステッ
プ10に移行して終了する。
【0041】ここで後処理と呼ばれるものには、データ
をエンド・ユーザがCPU性能の傾向を検出するために
使用するグラフィカル・フォーマットに変換するステッ
プ及び、例えば複数プロセスが単一資源へのアクセスを
希望するときなどのように、複数プロセスがロック状態
で空転しているか否かを判断するステップが含まれる。
更に後処理には、多重プロセッサ・システム性能などに
関する統計を編集するソフトウェア・プロセスを呼出す
ステップが含まれたりする。
【0042】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0043】(1)多重プロセッサ・システム内の各C
PUの状態情報を提供するシステムであって、所定時点
において前記状態情報を検索するように通知信号を発行
する手段と、前記通知信号を受信し、前記状態情報を少
なくとも1つのレジスタに配置する手段と、前記状態情
報を前記レジスタから前記多重プロセッサ・システム内
のメモリに転送する割込み処理機構と、前記割込み処理
機構が割込み要求を受諾しているか否かに関わらず、前
記所定時点における前記状態情報を保持する手段と、を
含む、システム。 (2)前記受信手段が、前記割込み処理機構に割込み要
求を送信し、前記状態情報の前記メモリへの転送を要求
する手段を含む、前記(1)記載のシステム。 (3)前記割込み処理機構が前記割込み要求の受諾を選
択的に許可及び禁止する、前記(2)記載のシステム。 (4)前記発行手段が前記通知信号が発行される時期を
決定するために特定のシステム事象をカウントする手段
を含む、前記(3)記載のシステム。 (5)前記保持手段が前記状態情報を記憶する少なくと
も1つの特殊目的レジスタを含む、前記(4)記載のシ
ステム。 (6)前記の各カウント手段を同一の初期時点にセット
することにより、前記多重プロセッサ・システム内の前
記各CPUを同期する手段を含む、前記(4)記載のシ
ステム。 (7)前記同期手段が、前記多重プロセッサ・システム
内の単一の前記CPUにより実現されるクロック同期プ
ロトコルにもとづき、前記カウント手段を調整する手段
と、前記多重プロセッサ・システムの初期化時に前記多
重プロセッサ・システム内の前記各CPUの前記各カウ
ント手段をマッチングする手段と、を含む、前記(6)
記載のシステム。 (8)前記同期手段が、前記各CPU内の前記の各カウ
ント手段を停止させることにより同一時間値にセット
し、次に前記多重プロセッサ・システムを再始動する手
段を含む、前記(6)記載のシステム。 (9)前記特定システム事象がキャッシュ・ミス及びシ
ステム・バス・サイクルの割合を含む、前記(8)記載
のシステム。 (10)CPUの状態情報を提供するシステムであっ
て、所定時点において前記状態情報を検索するように通
知信号を発行する手段と、前記通知信号を受信し、前記
状態情報を少なくとも1つのレジスタに配置する手段
と、前記状態情報を前記レジスタから前記システム内の
メモリに転送する割込み処理機構と、前記割込み処理機
構が割込み要求を受諾しているか否かに関わらず、前記
所定時点における前記状態情報を保持する手段と、を含
む、システム。 (11)前記保持手段が少なくとも1つの特殊目的レジ
スタを含む、前記(10)記載のシステム。 (12)前記割込み処理機構が前記割込み要求を受諾し
ていない間に前記状態情報が保持される、前記(11)
記載のシステム。 (13)多重プロセッサ・システム内の各CPUの状態
情報を提供する方法であって、所定時点において前記状
態情報を検索するように通知信号を発行するステップ
と、前記通知信号を受信し、前記状態情報を少なくとも
1つのレジスタに配置するステップと、割込み処理機構
により前記状態情報を前記レジスタから前記多重プロセ
ッサ・システム内のメモリに転送するステップと、前記
割込み処理機構が割込み要求を受諾しているか否かに関
わらず、前記所定時点における前記状態情報を保持する
ステップと、を含む、方法。 (14)前記受信ステップが、前記割込み処理機構に割
込み要求を送信し、前記状態情報の前記メモリへの転送
を要求するステップを含む、前記(13)記載の方法。 (15)前記発行ステップが、前記通知信号が発行され
る時期を決定するために特定のシステム事象をカウント
するステップを含む、前記(14)記載の方法。 (16)前記の各カウント手段を同一の初期時点にセッ
トすることにより、前記多重プロセッサ・システム内の
前記の各CPUを同期するステップを含む、前記(1
5)記載の方法。 (17)前記同期ステップが、前記多重プロセッサ・シ
ステム内の単一の前記CPUにより実現されるクロック
同期プロトコルにもとづき、前記カウント手段を調整す
るステップと、前記多重プロセッサ・システムの初期化
時に、前記多重プロセッサ・システム内の前記の各CP
Uの前記の各カウント手段をマッチングするステップ
と、を含む、前記(16)記載の方法。 (18)前記同期ステップが、前記の各CPU内の前記
の各カウント手段を停止させることにより同一時間値に
セットし、次に前記多重プロセッサ・システムを再始動
するステップを含む、前記(17)記載の方法。 (19)前記保持手段が、前記CPU上で発生する任意
の特定事象に関わらず、前記CPUの全ての前記状態情
報をサンプリングする手段であって、前記サンプリング
状態情報が前記特定事象の発生にもとづきバイアスされ
ないようにする、前記サンプリング手段を含む、前記
(10)記載のシステム。
【0044】
【発明の効果】以上説明したように本発明によれば、シ
ステム割込みハンドラが許可または禁止状態かに関わら
ず、多重プロセッサ・システム内の各CPUの特定の時
点におけるマシン状態データを、常に保管するように保
証するシステム及び方法を提供することができる。
【図面の簡単な説明】
【図1】本発明を実現しうるタイプの多重プロセッサ・
システムを示すブロック図である。
【図2】本発明の性能モニタリング及び割込み処理の詳
細図である。
【図3】本発明が実現しうるオペレーション・シーケン
スを表す流れ図を示す図である。
【図4】多重プロセッサ・システム内の各プロセッサを
同期する1つの実施例を示すブロック図である。
【符号の説明】
2 システム・バス 4 入出力(I/O)制御装置 6 メモリ制御装置 10 性能モニタ機構 12 時間ベース機構 20 分岐割込み処理ユニット 22 割込みハンドラ 24、26、28 サービス・ルーチン 30 システム・メモリ 52 システム・クロック 54 クロック・バッファ・ドライバ 56 クロック・プリスケーラ 58 カウント・ラッチ・レジスタ 60 時間ベース・バッファ 62 バス・インタフェース
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 15/78 510 G06F 15/78 510K (72)発明者 フランク・エリオット・レビン アメリカ合衆国78729、テキサス州オー スティン、チャペル・ダウン・ストリー ト 9406 (72)発明者 エドワード・ジョン・シラー アメリカ合衆国78759、テキサス州オー スティン、ピレネッセ 11509 (72)発明者 エドワード・フー・ウェルボン アメリカ合衆国78730、テキサス州オー スティン、ターキー・クリーク・ドライ ブ 3637 (56)参考文献 特開 平4−4437(JP,A) 特開 昭63−78268(JP,A) 特開 平1−21648(JP,A) 特開 平2−128243(JP,A) 特開 平5−6344(JP,A) 特開 平5−216838(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 G06F 11/28 G06F 11/34 G06F 15/78 G06F 11/22 G06F 11/30 G06F 9/38 G06F 15/16

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】多重プロセッサ・システム内の各CPUの
    状態情報を提供するシステムであって、 前記多重プロセッサ・システム内の各CPUにわたって
    同期した所定時点において、前記状態情報を保管するよ
    うに通知信号を発行する手段と、 前記各CPUにおいて、前記通知信号を受信し、割込み
    がマスクされているか否かにかかわらず、前記状態情報
    を少なくとも1つのレジスタに配置する手段と、 前記各CPUにおいて、割込み要求信号を送出する手段
    と、 前記各CPUにおいて、前記割込み要求信号に応答し
    て、割込がマスクされいない場合には前記状態情報を前
    記レジスタから前記多重プロセッサ・システム内のメモ
    リに転送し、割込がマスクされている場合には前記割込
    み要求信号にかかわらず前記状態情報を前記レジスタか
    ら前記多重プロセッサ・システム内のメモリに転送しな
    い割込み処理機構と、 を有することにより、前記所定時点における前記状態情
    報が維持される前記システム。
  2. 【請求項2】前記割込み処理機構が割込み要求の受諾を
    選択的に許可及び禁止する、請求項1記載のシステム。
  3. 【請求項3】前記発行手段が前記通知信号が発行される
    時期を決定するために特定のシステム事象をカウントす
    る手段を含む、請求項2記載のシステム。
  4. 【請求項4】前記配置手段が前記状態情報を記憶する少
    なくとも1つの特殊目的レジスタを含む、請求項3記載
    のシステム。
  5. 【請求項5】前記の各カウント手段を同一の初期時点に
    セットすることにより、前記多重プロセッサ・システム
    内の前記各CPUを同期する手段を含む、請求項3記載
    のシステム。
  6. 【請求項6】多重プロセッサ・システム内の各CPUの
    状態情報を提供する方法であって、 前記多重プロセッサ・システム内の各CPUにわたって
    同期した所定時点において、前記状態情報を保管するよ
    うに通知信号を発行するステップと、 前記各CPUにおいて、前記通知信号を受信し、割込み
    がマスクされているか否かにかかわらず、前記状態情報
    を少なくとも1つのレジスタに配置するステップと、 前記各CPUにおいて、割込み要求信号を送出するステ
    ップと、 前記各CPUの割込み処理機構が前記割込み要求信号に
    応答して、割込がマスクされいない場合には前記状態情
    報を前記レジスタから前記多重プロセッサ・システム内
    のメモリに転送し、割込がマスクされている場合には前
    記割込み要求信号にかかわらず前記状態情報を前記レジ
    スタから前記多重プロセッサ・システム内のメモリに転
    送しないステップと、 を有することにより、前記所定時点における前記状態情
    報が維持される前記方法。
  7. 【請求項7】前記発行ステップが前記通知信号が発行さ
    れる時期を決定するために特定のシステム事象をカウン
    トするステップを含む、請求項6記載の方法。
  8. 【請求項8】前記の各カウントステップを同一の初期時
    点にセットすることにより、前記多重プロセッサ・シス
    テム内の前記各CPUを同期するステップを含む、請求
    項7記載の方法。
JP7316705A 1994-12-16 1995-12-05 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法 Expired - Fee Related JP2908739B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US35822094A 1994-12-16 1994-12-16
US358220 1994-12-16

Publications (2)

Publication Number Publication Date
JPH08263310A JPH08263310A (ja) 1996-10-11
JP2908739B2 true JP2908739B2 (ja) 1999-06-21

Family

ID=23408765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7316705A Expired - Fee Related JP2908739B2 (ja) 1994-12-16 1995-12-05 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法

Country Status (2)

Country Link
US (1) US5802378A (ja)
JP (1) JP2908739B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896524A (en) * 1997-02-06 1999-04-20 Digital Equipment Corporation Off-line clock synchronization for multiprocessor event traces
US6317638B1 (en) * 1997-08-22 2001-11-13 Honeywell Inc. Multi-layer state machine for a hybrid real-time control system and method of operation thereof
US6195748B1 (en) 1997-11-26 2001-02-27 Compaq Computer Corporation Apparatus for sampling instruction execution information in a processor pipeline
US6237073B1 (en) 1997-11-26 2001-05-22 Compaq Computer Corporation Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information
US6332178B1 (en) 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
US6237059B1 (en) * 1997-11-26 2001-05-22 Compaq Computer Corporation Method for estimating statistics of properties of memory system interactions among contexts in a computer system
US6163840A (en) * 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
US6442585B1 (en) 1997-11-26 2002-08-27 Compaq Computer Corporation Method for scheduling contexts based on statistics of memory system interactions in a computer system
US6374367B1 (en) 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US6134675A (en) * 1998-01-14 2000-10-17 Motorola Inc. Method of testing multi-core processors and multi-core processor testing device
US6317847B1 (en) * 1998-08-31 2001-11-13 Advanced Micro Devices, Inc. Software read and write tracing using hardware elements
US6052700A (en) * 1998-09-17 2000-04-18 Bull Hn Information Systems Inc. Calendar clock caching in a multiprocessor data processing system
US6633940B1 (en) * 1999-10-11 2003-10-14 Ati International Srl Method and apparatus for processing interrupts in a computing system
US6480966B1 (en) * 1999-12-07 2002-11-12 International Business Machines Corporation Performance monitor synchronization in a multiprocessor system
US6697870B1 (en) * 2000-01-28 2004-02-24 Networks Associates Technology, Inc. Method and apparatus for real-time protocol analysis using an auto-throttling front end process
US6748558B1 (en) 2000-05-10 2004-06-08 Motorola, Inc. Performance monitor system and method suitable for use in an integrated circuit
US6687756B1 (en) * 2000-05-25 2004-02-03 International Business Machines Corporation Switched-based time synchronization protocol for a NUMA system
US6842857B2 (en) * 2001-04-12 2005-01-11 International Business Machines Corporation Method and apparatus to concurrently boot multiple processors in a non-uniform-memory-access machine
US20040128418A1 (en) * 2002-12-30 2004-07-01 Darren Abramson Mechanism and apparatus for SMI generation
US7937691B2 (en) * 2003-09-30 2011-05-03 International Business Machines Corporation Method and apparatus for counting execution of specific instructions and accesses to specific data locations
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
GB2450564B (en) * 2007-06-29 2011-03-02 Imagination Tech Ltd Clock frequency adjustment for semi-conductor devices
JPWO2009096161A1 (ja) * 2008-01-29 2011-05-26 パナソニック株式会社 プロセッサ性能解析装置、方法及びシミュレータ
KR101717494B1 (ko) * 2010-10-08 2017-03-28 삼성전자주식회사 인터럽트 처리 장치 및 방법
US9021172B2 (en) * 2012-07-06 2015-04-28 Arm Limited Data processing apparatus and method and method for generating performance monitoring interrupt signal based on first event counter and second event counter
US10409708B2 (en) 2017-08-28 2019-09-10 International Business Machines Corporation Performance data collection for a distributed computing system
CN113986789B (zh) * 2021-09-19 2024-04-23 山东云海国创云计算装备产业创新中心有限公司 一种防止中断丢失的方法和中断控制器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
US4222103A (en) * 1978-09-25 1980-09-09 Motorola, Inc. Real time capture registers for data processor
US4338677A (en) * 1980-06-17 1982-07-06 Hewlett-Packard Company Multi-clock data capture circuit
US4435759A (en) * 1981-06-15 1984-03-06 International Business Machines Corporation Hardware monitor for obtaining processor software/hardware interrelationships
US4590550A (en) * 1983-06-29 1986-05-20 International Business Machines Corporation Internally distributed monitoring system
US4746920A (en) * 1986-03-28 1988-05-24 Tandem Computers Incorporated Method and apparatus for clock management
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
US4952367A (en) * 1988-08-19 1990-08-28 Motorola, Inc. Timer channel for use in a multiple channel timer system
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
US5317734A (en) * 1989-08-29 1994-05-31 North American Philips Corporation Method of synchronizing parallel processors employing channels and compiling method minimizing cross-processor data dependencies
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall

Also Published As

Publication number Publication date
JPH08263310A (ja) 1996-10-11
US5802378A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
JP2908739B2 (ja) 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
US6480966B1 (en) Performance monitor synchronization in a multiprocessor system
KR100280732B1 (ko) 데이터처리시스템의성능모니터링방법및장치
US6067644A (en) System and method monitoring instruction progress within a processor
US6823516B1 (en) System and method for dynamically adjusting to CPU performance changes
US6678777B2 (en) Integrated real-time performance monitoring facility
US6457135B1 (en) System and method for managing a plurality of processor performance states
US5727167A (en) Thresholding support in performance monitoring
US5628029A (en) Apparatus for monitoring distributed I/O device by providing a monitor in each I/O device control for generating signals based upon the device status
US6556208B1 (en) Network management card for use in a system for screen image capturing
US5581794A (en) Apparatus for generating a channel time-out signal after 16.38 milliseconds
US5996092A (en) System and method for tracing program execution within a processor before and after a triggering event
US6519310B2 (en) Hardware event based flow control of counters
US6282601B1 (en) Multiprocessor data processing system and method of interrupt handling that facilitate identification of a processor requesting a system management interrupt
EP1358557B1 (en) Operating system-independent method and system of determining cpu utilization
US5822758A (en) Method and system for high performance dynamic and user programmable cache arbitration
US5920689A (en) System and method for low overhead, high precision performance measurements using state transitions
US7398518B2 (en) Method and apparatus for measuring thread wait time
JPH06110740A (ja) チャネル使用時間測定方法及び手段
US7694164B2 (en) Operating system-independent method and system of determining CPU utilization
US7617488B2 (en) Method and apparatus and determining processor utilization
JPH10510078A (ja) タイママネージャ
US9612881B2 (en) Method, apparatus, and system for unambiguous parameter sampling in a heterogeneous multi-core or multi-threaded processor environment
US20040205753A1 (en) Timing ring mechanism
US20040128654A1 (en) Method and apparatus for measuring variation in thread wait time

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees