JPH04233637A - 命令サンプリング計測のための装置および方法 - Google Patents

命令サンプリング計測のための装置および方法

Info

Publication number
JPH04233637A
JPH04233637A JP3151053A JP15105391A JPH04233637A JP H04233637 A JPH04233637 A JP H04233637A JP 3151053 A JP3151053 A JP 3151053A JP 15105391 A JP15105391 A JP 15105391A JP H04233637 A JPH04233637 A JP H04233637A
Authority
JP
Japan
Prior art keywords
instruction
execution
signal
iid
event
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.)
Granted
Application number
JP3151053A
Other languages
English (en)
Other versions
JPH0816878B2 (ja
Inventor
Douglas W Westcott
ダグラス、ウェイン、ウエストコット
Valerie White
バレリー、ホワイト
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 JPH04233637A publication Critical patent/JPH04233637A/ja
Publication of JPH0816878B2 publication Critical patent/JPH0816878B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/348Circuit details, i.e. tracer hardware

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)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタルコンピュー
タにおける計測および監視に関する。より詳しく言えば
、本発明は、アウトオブシーケンス方式で命令を実行で
きる処理装置の計測および監視に関する。
【0002】
【従来の技術およびその課題】大型処理装置における計
測は、従来、実行されたCPU命令ストリームに関する
情報の収集を伴う。収集されたデータは、重大な命令ス
トリームの障害を識別するために使用され、その結果、
プログラムのデータ構造または命令ストリーム自体はキ
ャッシュまたは機械構造に適合できる。例えば、計測デ
ータは、コンピュータのオペレーティングシステムの性
能の問題を識別し決定するために使用できる。
【0003】処理装置の計測(従来的にはモニタまたは
監視システムとも称する)の例は、本発明と同一の譲受
人に譲渡されたEilert他に対する米国特許第4,
590,550号(Eilert特許)に見ることがで
きる。Eilert特許は、データ処理システムのため
の内部分散形ハードウエア/ソフトウエアモニタを開示
している。Eilert特許のこのモニタは、システム
の各種ハードウエア構成要素内に分散された多数の計測
テーブルユニット(ITU)にハードウエア信号を収集
する。収集されたハードウエア信号は、追跡テーブルに
設けられたソフトウエア制御追跡項目に関連づけられる
。Eilert特許のモニタは、機械信号が時間駆動(
周期)サンプリングパルスと同期されて記録される、時
間サンプリング法を使用している。
【0004】Eilert特許のこの時間駆動サンプリ
ングパルスは、頻繁にまたは周期的に発生する機械信号
の監視には十分に適している。しかしながら、一部の機
械信号は、頻繁なまたは周期的なものではない。それは
特に、システム事象を指示する機械信号について当ては
まる。システム事象は、頻繁にではなく、また、不定期
な時間間隔で発生し得る。Eilert特許の周期サン
プリングパルスは、関係する事象中に発生しないかもし
れないので、事象の発生が見逃される、または(および
)、不必要なデータが記録される可能性がある。
【0005】Eilert特許のモニタに対する改良は
、本発明と同一の譲受人に譲渡されたLevin他に対
する米国特許第4,821,178号(Levin特許
)に開示されている。Levin特許の監視システムで
は、Eilert特許に開示された汎用ITU構造内の
動作のための代替計測モードとして事象駆動サンプリン
グが付与されている。事象駆動サンプリングは、選択さ
れた事象が発生した場合にのみサンプリングパルスを生
じる。Levin特許の事象駆動サンプリングは、不定
期的発生事象にもとづく機械信号の監視を可能にする。
【0006】Levin特許およびEilert特許の
計測装置は、従来のほとんどのCPUを監視するタスク
には十分に適しているが、アウトオブシーケンス形処理
装置の命令の監視には問題がある。Eilert特許お
よびLevin特許の計測では、監視された機械信号は
、ハードウエアのラッチから直接読出し、計測配列に入
れることができる。命令を順次的に実行する処理装置に
おいては、この技法は、配列に格納されたデータと関係
する完了した命令との間に自然な対応(例えば、実行時
間の関して)が維持されるので、適切である。だが、命
令がアウトオブシーケンス方式で実行される処理装置で
は、完了した命令と生成された機械信号との間の対応を
確保することはずっと困難である。
【0007】アウトオブシーケンス形CPUの機械信号
の監視に関する問題は、従来のアウトオブシーケンス命
令処理の要約によってさらに明白となろう。アウトオブ
シーケンス命令処理では、機械(すなわちCPU、中央
処理装置)は、一連の命令のそれぞれをパイプライン方
式で解読し、それらの実行を開始する。たいていは、後
続する命令が先行する命令より以前に実行される。各命
令が実行を終了すると、命令は、機械においてアウトオ
ブシーケンス方式で実行されたとしても、それが完了し
た順番に待ち行列に入る。機械はそれ以前の命令に関す
る命令ストリームを完了する前に命令を取出し、解読し
、実行しているので、取出され、解読され、実行された
命令の一部は、完了した以前の命令によって、または、
その命令ストリームへの割込みによって無駄にされる可
能性がある。また機械でも、完了時には、実行された命
令の種類に関する情報は上書きされてしまっている。
【0008】アウトオブシーケンス処理は、計測ユーザ
に対して問題を提示している。従来の計測は通常、その
ような環境において完了した命令と生成された機械信号
との間の対応を維持するための手段を備えていないから
である。計測ユーザは一般に、完了した命令に関する機
械信号に関心がある。しかしアウトオブシーケンス処理
では、多くの命令は通常、その命令が機械信号を生成し
、また、システム事象を発生させたとしても完了しない
。従って、従来の計測は、まったく完了していない命令
に関する相当量のデータを収集することもある。さらに
、CPUは、完了した命令と生成された機械信号との間
の自然な対応を維持しないので、単に実行中に監視され
た信号を捕捉することだけでは、計測ユーザに多くの重
要な性能の判定を行うために十分な情報を与えないこと
になる。
【0009】アウトオブシーケンス処理環境は、図1に
よってさらに十分に理解されよう。図1の機械では、コ
ンピュータプログラムを形成する命令は、システム主記
憶装置102に記憶されている。実行を遂行するために
、各命令は、CPUによって付与された記憶アドレスに
従って論理順に(ブロック104で)取出される。 「論理順」というのは、プログラマが命令を完了させる
ように意図した順序でそれらの命令が主記憶装置から取
出されるということである。
【0010】命令は、取出された後、命令に埋め込まれ
た命令コードにもとづいて(ブロック106で)解読さ
れる。命令コードは、命令がどのような種類であるかを
識別する(例えば、分岐、レジスタロード、格納など)
。解読されると、その命令コード情報はもはや命令コー
ド形式ではCPUにとって必要とされない。命令コード
から機械レベルのコマンドが生成され、その命令コード
情報は次の命令によって上書きされる。命令の機械レベ
ルの1集合だけが保持される。CPUは、実行された機
械レベルの命令とその元の命令コードとの対応を維持し
ない。
【0011】解読時に、(ブロック106で)各命令に
順次的な命令識別番号(IID)が割当てられる。II
Dは輪番で割当てられる。言い換えれば、割当てられる
IIDは、例えば、1から32までの範囲となる。取出
された最初の命令はIID1が割当てられる。取出され
た次の命令はIID  2が割当てられる。取出された
第3の命令はIID  3が割当てられる。取出された
32番目の命令はIID32が割当てられる。そして3
3番目に取出された命令は再びIID  1が割当てら
れる、というように行われる。
【0012】IIDを割当てられた(タグ付けられた)
後、その命令は(ブロック112で)実行される。各命
令は実行要素に送信される。各CPUには多数の実行要
素114〜122がある。これらの実行要素は並列に動
作し、それぞれ命令を相互に独立して処理する。実行を
待っている命令は、1つの実行要素が以前の命令の実行
を完了するまで実行要素待ち行列に入れられる。
【0013】異なる命令は異なる実行マシンサイクル数
を要する。実行時間の違いの結果として、実行要素はし
ばしば、命令が取出された順序と異なる順序でその命令
の実行を終了する。これをアウトオブシーケンス実行と
称する。
【0014】命令が実行を終了したという事実は、その
実行結果が妥当であるということを保証するものではな
い。例えば、条件分岐命令が、主記憶装置102で後続
するレジスタ格納命令より以前に取出されることもあり
得る。レジスタ格納命令は第1の実行要素(例えばブロ
ック114)に送られ、条件分岐命令は第2の実行要素
(例えばブロック116)に送られるかもしれない。
【0015】上記の例では、レジスタ格納命令のほうが
条件分岐命令より以前に実行を終了する。しかしCPU
は、分岐がまだ実行途中であるためにその分岐条件が適
合するかどうかをまだ判断していないであろう。実際に
分岐が行われるとすれば、プログラムカウンタはその分
岐の結果としてプログラムの別の部分に飛び越すので、
レジスタ格納命令の結果はまったく使用されなくなる(
すなわち、無効となる)。従って、レジスタ格納命令の
結果は無効となるであろう。
【0016】実行結果が妥当であることが判断される時
点を「完了」と称する。命令の「完了」または「非完了
」は完了論理126によって判断される。各命令が実行
を完了すると、その結果は格納バッファ124に格納さ
れる。各実行要素が命令の実行を完了すると、実行要素
は完了論理126に通知する。完了論理126は、完了
する最新の命令および、実行は終了したがまだ完了して
いない以降の取出された命令を追跡している。実行が実
際に妥当であることが判断されると、完了論理はIID
  N完了信号(Nは命令識別番号)を表明することに
より命令が完了したことを指示する。
【0017】上記の例で、分岐が行われたことを実行要
素によって知らされると、完了論理126は、レジスタ
格納命令の結果を保持する格納バッファロケーションに
無効の印をつけ、命令ストリームの処理は継続される。 上記の例で分岐が行われないとすれば、完了論理126
は、主記憶装置102またはCPUの内部レジスタをそ
の完了された命令に関する格納バッファ124の内容で
更新し、他の処理要素に命令が完了されていたことを指
示するために信号を送るであろう。
【0018】アウトオブシーケンス命令実行は、計測ユ
ーザに問題を提示する。計測ユーザは完了した命令スト
リームに関心がある。しかし、アウトオブシーケンス処
理によって、ユーザが求める情報(元の命令コード、キ
ャッシュミス状態、その他のシステム事象データなど)
は、たいてい、関係する命令が完了する時までには機械
に存在しなくなる。さらに、従来の計測は通常、完了し
た命令とそれが生成する機械信号との間の対応を維持す
るように適応されていないので、ユーザは、キャッシュ
ミスその他のシステム事象を、それらを発生させた完了
した命令に関連づけることができずに取り残されてしま
う。〔相互参照  削除〕
【0019】
【課題を解決するための手段】本発明の目的は、監視さ
れたデータと関係する完了した命令との間の対応を維持
するような方法でアウトオブシーケンス実行機械におけ
る命令処理を監視することである。
【0020】本発明の第2の目的は、アウトオブシーケ
ンス実行機械におけるキャッシュミスその他のシステム
事象を、オペレーティングシステムコードの特定の命令
に関連づけることである。
【0021】本発明の第3の目的は、プログラマが、オ
ペレーティングシステムの性能に影響する要因をより明
確に理解するためにアウトオブシーケンス実行機械にお
けるオペレーティングシステムモジュールの実行を調査
できるようにすることである。
【0022】前述の目的は、命令サンプリングのシステ
ムおよびその方法によって達成される。命令サンプリン
グでは、既定の命令識別番号(IID)をタグ付けられ
た命令が計測によって識別される。その既定のIIDを
有する命令が検出されると、その命令に関する情報がア
ウトオブシーケンス実行の進行と同時に捕捉される。命
令が完了すれば、捕捉されていた情報は、記憶配列の単
一の計測項目として格納される。
【0023】好ましい実施例において、命令サンプリン
グは、米国特許第4,821,178号(Levin特
許)の事象駆動サンプリングと組み合わせることが有利
である。この事象駆動命令サンプリングは、オペレーテ
ィングシステム計測に、キャッシュミスその他のシステ
ム事象をオペレーティングシステム/アプリケーション
コードの特定の命令に関連づける能力を付与する。各オ
ペレーティングシステムモジュールのキャッシュミス率
はオペレーティングシステムの性能をより明確に理解す
るために調査できる。
【0024】
【実施例】〔1.概要〕計測サンプリングは、アウトオ
ブシーケンス実行機械における命令の処理を監視するた
めのシステムおよび方法を付与する。アウトオブシーケ
ンス実行機械の実行パイプラインにおける一連の各命令
は、命令識別番号(IID)をタグ付けられる。計測サ
ンプリングの好ましい実施例に従えば、そのCPU計測
はIID24をタグ付けられた命令(以下、IID  
24命令と呼ぶ)を識別する。IID  24を有する
キャッシュヒット/ミスデータその他の関係する情報の
命令が検出されると、その命令に関連する命令コード、
すなわち実行データは、中央処理装置(CPU)各所に
分散された多数のレジスタに捕捉される。
【0025】関係する情報が捕捉されると、計測は、検
出されたIID  24命令が実行を完了したかどうか
を判断するようにCPUを監視する。検出されたIID
  24命令が完了しており、ユーザによって選択され
たトリガ条件に適合していれば、その命令に関連する捕
捉された情報は、単一の計測項目として計測配列に格納
される。検出されたIID  24命令が完了しておら
ず、または、ユーザ選択トリガ条件に適合していなけれ
ば、その次に検出されたIID  24命令に関連する
データがレジスタに捕捉される。システム、計測プログ
ラムまたはユーザによって終了されるまで、上記のプロ
セスが検出されたIID  24命令のそれぞれについ
て繰り返される。
【0026】命令サンプリングのCPU計測への応用は
、図3によってさらに明瞭に理解されよう。命令の処理
において、機械信号31A〜Zがアウトオブシーケンス
形CPUによって生成される。信号が生成されると、各
IID  24命令の実行に関連する機械信号は、信号
コレクタ304によって識別され捕捉(収集)される。 サンプリングパルストリガ論理318によって各サンプ
リングパルスが生成されると、信号コレクタ304に捕
捉されていたデータは、アドレスジェネレータ33の制
御のもとで計測テーブル配列〔ITA〕32に項目とし
て書込まれる。計測テーブル配列32のデータは、プロ
セッサ制御要素206のコマンドでマルチプレクサ(M
UX)316を通じて記憶装置(磁気テープ212など
)へ選択的に出力すことができる(図2)。
【0027】サンプリングパルストリガ論理318は、
事象選択論理307および第N事象制御論理309を含
む。事象選択論理は、条件選択論理302から選択され
たシステム条件信号を、CPUおよび信号コレクタ30
4からシステム事象関連機械信号を受信する。事象選択
論理は、システム事象と条件信号を論理的に結合するた
めの回路を含む。
【0028】事象選択論理307では、操作員によって
選択された事象がサンプリングパルスを生成するための
基礎として使用される。この操作員選択事象は、システ
ム事象単独、または、システム条件との論理結合による
システム事象(すなわち条件付き事象)とすることがで
きる。サンプリングパルスの生成は、第N事象制御論理
309で事前に選択された値によって決定される選択事
象のN番目の発生を条件とする。第N事象制御論理が既
定のカウントに達した後、選択された事象の発生中に完
了すべき最初のIID  24命令ごとに、サンプリン
グパルスが線310に生成される。 〔2.システム環境および相互接続〕命令サンプリング
計測のシステム環境および相互接続を図2によって説明
する。図2は多重プロセッサ(MP)を示す。これは、
自己のアウトオブシーケンス形CPU  202および
204のそれぞれに計測テーブルユニット(ITU)を
内部に備えている。また、プロセッサ制御要素(PCE
)206、チャネル制御要素(CCE)208およびシ
ステム制御要素(SCE)210も備えている。PCE
  206(Eilert特許ではPCと称する)およ
びSCE  210は、米国特許第4,590,550
号および同第4,821,178号に図示された種類の
ものである。CCE  208は、IBMシステム37
0コンピュータで使用される種類の従来のチャネル制御
システムである。コマンド経路151がITUとPCE
を連結して図示されている。
【0029】PCEは、ITUサブシステムに対する制
御が行われるシステム操作員操作卓と関連している。す
べてのITU出力バッファがPCEに存在する。これら
の出力バッファは、経路251でのデータ転送によって
ITUから充填される。一杯になると、各出力バッファ
は、PCEのITU出力プログラムの制御のもとで出力
媒体212(テープまたはディスクなど)に書込まれる
。PCEのITU出力プログラムはまた、各ITU配列
からバッファへの経路251でのITUデータの転送も
制御する。経路151および251は、双方向性PCE
バス51に包含されている。
【0030】計測を助けるPCEの別の機能は、ユーザ
入力にもとづいて、測定実行の初期化および終了を行う
ことである。測定実行を開始・終了するためのコマンド
構造および論理は、従来技術で見られる種類のものであ
り、本発明の一部ではない。
【0031】図2は、好ましい実施例を各ITU内の事
象駆動命令サンプリングレコーダ(ISR)30Aおよ
び30Bとして示すことによって計測構造全体を含んで
いる。また、このITUは、米国特許第4,590,5
50号の時間サンプリングの実施例および、米国特許第
4,821,178号における分岐モードサンプリング
も含む。他の形式のサンプリングレコーダも、命令サン
プリングの代替法としてITUに含めることができる。 非CPU制御要素であるSCEおよびCCEのITUは
、本発明を用いては示されていない。これらの要素は、
命令サンプリングではなく時間駆動サンプリングを使用
する。
【0032】本発明のITUは、米国特許第4,590
,550号に開示されたような内部分散形監視システム
の一部である。 〔3.詳細な構造および動作〕命令サンプリング計測〔
ISI〕を図2から図5によって詳細に説明する。図3
に示す各ブロックは、回路およびマイクロコードによっ
て実行される論理機能を表す。これらのブロックは、好
ましくは、物理的なパッケージ構成要素ではない。米国
特許第4,590,550号の要素と同様の機能を実行
する図3の各要素は同じ参照番号が割当てられている。
【0033】測定および制御はPCE操作卓から行われ
、そこでユーザは、操作卓表示画面の適切なメニューな
どで、計測コマンドを発し、希望の測定特性を入力する
。コマンドを選択するためのメニューの使用はコンピュ
ータ技術において公知である。図2において、コマンド
パラメータは、コマンドにより選択されたいずれかのI
TUに経路151で転送される。選択されたITUは、
そのコマンドをPCEコマンドデコーダ34で受信し解
読し、解読されたコマンド信号に従って適切なラッチを
設定するブロック300,302,304,307,3
09および316にコマンド信号を出力する。
【0034】ユーザはまた、命令サンプリングに関する
ものだけでなく、計測実行を開始し終了する方法などの
測定コマンドの選択も行うことができる。これらのコマ
ンド選択は、PCEのプログラムに保持することができ
る。 〔3.1  サンプリングモード選択ブロック〕サンプ
リングモードの選択は、計測モード選択ブロック300
でそのモードを設定することによって行う。各種計測サ
ンプリングモード(時間サンプリング、分岐サンプリン
グ、命令サンプリングなど)のいずれかがCPU計測に
関して選択できる。本発明には命令サンプリングモード
だけが関連する。 〔3.2  ISI信号コレクタ〕ISI〔命令サンプ
リング計測〕信号コレクタ〔304〕は、計測されるC
PUによって処理された各IID  24命令を識別し
、各種実行段階を通じて進行するに従って識別されたI
ID  24命令に関連する機械信号を捕捉する。
【0035】IID  24命令に関連して多数の機械
信号が捕捉できる。個々の事象はそれぞれ、ブロック3
04でラッチまたはレジスタを持ち、ここにその信号は
(CPU処理要素により)IID  24命令の処理中
に生じると同時に収集される。事象および他の関係する
機械信号は、ISI信号コレクタ304で設定されたレ
ジスタに捕捉される。好ましい実施例では、この計測レ
ジスタは、関係する信号の出所の近くに位置できるよう
にCPU各所に物理的に分散される。
【0036】ISI信号コレクタ304は、図4に詳細
に図示されている。CPU処理要素400は、本願の関
連技術の部分で説明した種類のアウトオブシーケンス形
CPUの命令処理論理である。捕捉された信号は、好ま
しくは、命令コード・基底レジスタ、論理アドレス、一
次アドレス空間番号(PASN)、キャッシュミス、発
生相互問合せヒット、および、CPUからの選択マシン
サイクル数を含む。
【0037】命令コード・基底レジスタ情報は、命令コ
ードレジスタ422に捕捉される。IID  24命令
に関連する命令コードだけが捕捉されるようにするため
に、命令コードレジスタ422は線424のIID  
24命令コード有効信号によって計時されている。II
D  24命令コード有効信号は、命令解読・IID割
当て論理(図1のブロック106)が妥当な命令コード
がIID  24命令に検出されたと判断した時に、中
央処理装置によって生成される。命令の基底レジスタビ
ットは、命令がそうしたビットを使用している場合にの
み有効である。それ以外は、その基底レジスタビットは
無効である。
【0038】中央処理装置の命令アドレスレジスタの内
容(論理アドレス)は、アドレスレジスタ426に捕捉
される。IID  24命令に関連する妥当な命令アド
レスだけが捕捉されるようにするために、アドレスレジ
スタ426は線428のIID24  IAR有効信号
によって計時されている。IID  24  IAR有
効信号428は、命令取出し論理104(図1)によっ
て、これがIID  24に関して妥当な命令アドレス
が付与されたと判断した時に生成される。
【0039】プログラムアドレス空間番号(PASN)
は、PASNレジスタ430に捕捉される。IID  
24命令に関連するPASNアドレスだけが捕捉される
ようにするために、PASNレジスタは線432のII
D  24  PASN有効信号によって計時されてい
る。IID  24  PASN有効信号は、命令取出
し論理(図1のブロック104)によって、これがII
D  24に関してPASNが付与されたと判断した時
に生成される。
【0040】計測“A”カウンタ440は、1.命令解
読〜終了カウント、または、2.要する実行サイクル、
のいずれかをカウントするためにCPUの処理要素によ
って計時されている。 好ましい実施例では、いずれか一方だけが計測に選択で
きる。CPUは、PCEによりブロック300のカウン
タA選択レジスタ(図示せず)の値にもとづいていずれ
のマシンサイクルをカウントするかを選択する。“A”
カウンタは、IID  24解読信号によってゼロにリ
セットされる。
【0041】命令解読〜終了カウントは、IID  2
4命令の解読の完了(図1のブロック106)と実行サ
イクルの終了(図1のブロック112)との間に要する
マシンサイクル数である。これには、実行の終了と命令
完了との間に要するマシンサイクルは含まない。
【0042】要する実行サイクルは、実行要素(図1の
ブロック114〜122)でIID24命令が実行され
るためのマシンサイクル数である。これは、実行の終了
と命令の完了との間に要するマシンサイクル、または、
実行待ち行列待機時間のいずれも含まない。
【0043】計測“B”カウンタ442は、1.命令解
読〜完了カウント、または、2.(要する実行サイクル
)−(キャッシュ待機サイクル)、のいずれかをカウン
トするためにCPUの処理要素400によって計時され
ているる。 好ましい実施例では、いずれか一方だけが計測に選択で
きる。CPUは、PCEによりブロック300のカウン
タB選択レジスタ(図示せず)の値にもとづいていずれ
のマシンサイクルをカウントするかを選択する。“B”
カウンタは、IID  24解読信号によってゼロにリ
セットされる。
【0044】命令解読〜完了カウントは、IID  2
4命令解読の完了の開始(図1のブロック106)と命
令完了の判断(図1のブロック126)との間に要する
マシンサイクル数である。
【0045】(要する実行サイクル)−(キャッシュ待
機サイクル)は、実行要素(図1のブロック114〜1
22)でIID  24命令が実行されるためのマシン
サイクル数である。これには、実行の終了と命令の完了
との間に要するマシンサイクル、実行待ち行列待機時間
、および、実行要素がキャッシュからデータが返される
のを待っているいずれかのサイクルのいずれのマシンサ
イクルも含まない。
【0046】要する実行サイクルは、ハードウエア性能
の測度である。その他のカウントされた測度は、プログ
ラムが所与のプロセッサのアウトオブシーケンス実行方
法にどれほどうまく適合しているかの指標となる。これ
らの測度はソフトウエアを機械に適合させるために使用
できる。
【0047】命令サンプリングモードには、計測によっ
て監視される6の個別のキャッシュミス信号がある。こ
れらの信号はそれぞれ、キャッシュミスラッチ444〜
454に保持される。各ラッチは、(計測されるCPU
によって生成される)適切なIID  24データキャ
ッシュアクセス有効線によって計時されている。同種の
ラッチは、一度設定されると、リセットされるまでそれ
を保持する(すなわち、セット/リセットラッチ)。キ
ャッシュミスラッチは444〜454はIID24解読
信号によってリセットされる。CPUによって生成され
るキャッシュミス信号は、以下の通りである。
【0048】a.データキャッシュ格納ミス(線456
のIID  24データキャッシュ格納有効信号によっ
てC6ラッチ454に計時される) b.データキャッシュ取出しミス(線458のIID 
 24データキャッシュ取出し有効信号によってC5ラ
ッチ452に計時される) c.アクセスレジスタセグメントテーブル起点アドレス
(STO)ミス(線460のIID  24アクセスレ
ジスタSTOヒット有効信号によってC1ラッチ444
に計時される) d.アクセスレジスタSTOヒット(線462のIID
  24アクセスレジスタSTOミス有効信号によって
C2ラッチ446に計時される) e.データキャッシュミスによって発生したレベル2キ
ャッシュ(L2)取出しミス(線464のIID  2
4  L2キャッシュアクセス有効信号によってC5ラ
ッチ450に計時される)。L2キャッシュミスは主記
憶装置アクセスを生じさせるとみなされる。
【0049】f.発生相互問合せヒット(線466のI
ID  24  CCI有効信号によってC3ラッチ4
48に計時される)。CCI信号は、計測されるCPU
のIID24命令により、別のCPUで生じたキャスト
アウトに際して生成される。 〔3.3  条件選択論理〕監視されるシステム条件の
選択は、条件選択論理302に設定される。システム条
件とシステム事象とは、システム事象信号がごく短期間
(例えば、1,2マシンサイクル)であるのに対し、シ
ステム条件信号が多数のサイクルにおいて連続する長期
間を有する点で区別される。システム条件は、システム
事象が発生した場合にも存在し得る。命令サンプリング
のための好ましい選択可能なシステム条件〔信号〕は、
以下の通りである。
【0050】計測調整・制御ラッチ制御命令(ICCL
ATCH) 範囲内命令アドレス(IAWR) プログラムアドレス空間番号(PASN)比較2以上の
条件信号が活動状態になることができる。選択された条
件信号は事象選択論理307に送られ、そこで事象信号
と論理的に結合される。好ましい実施例では、ICCL
ATCHは、IAWRと論理的に論理和をとられ、IC
C−OR−IAWR信号を生成する。 〔3.4  サンプリングパルストリガ論理〕サンプリ
ングパルストリガ論理318は、事象選択論理307お
よび第N事象制御論理309を含む。サンプリングパル
ストリガ論理318は、選択された事象が選択された度
数だけ発生した後、IID  24命令が完了し、操作
員選択事象判定基準に適合した場合は必ず、線310に
ITAアドレスジェネレータへのサンプリングパルスを
生成する。
【0051】(測定をトリガするための監視されるべき
)特定の種類の事象の選択、または、事象種類の組合せ
は、事象選択論理307で設定される。各種条件は、コ
マンドに挿入することができる。命令サンプリングにと
って必須条件として使用される好ましい事象は、以下の
通りである。
【0052】・IID  24命令解読・タイムストロ
ーブ(マシンサイクル)・データキャッシュ(Dキャッ
シュ)格納ミス・データキャッシュ(Dキャッシュ)取
出しミス・レベル2(L2)キャッシュ取出しミス・発
生相互問合せ(CCI) 条件選択論理302からの選択された条件と事象との論
理結合も選択できる。命令サンプリングにとって好まし
い選択可能な論理結合は、以下の通りである。
【0053】・(ICC−OR−IAWR)とタイムス
トローブとの論理積 ・(ICC−OR−IAWR)とIID  24命令解
読との論理積 ・(ICC−OR−IAWR)とデータキャッシュ(D
キャッシュ)格納ミスとの論理積 ・(ICC−OR−IAWR)とデータキャッシュ(D
キャッシュ)取出しミスとの論理積 ・(ICC−OR−IAWR)とDキャッシュミスによ
って生じたL2キャッシュ取出しミスとの論理積・PA
SN比較とIID  24命令解読との論理積・PAS
N比較とデータキャッシュ格納ミスとの論理積・PAS
N比較とデータキャッシュ取出しミスとの論理積 ・PASN比較とDキャッシュミスによって生じたL2
キャッシュ取出しミスとの論理積 第N事象制御ブロック(以下に詳説する)は、カウント
される選択事象が選択された値Nに達した後、その次に
完了し選択されたトリガ条件を満たすIID24命令の
記録を制御するために使用される。第N事象制御ブロッ
ク309の値Nの選択は、PCE操作卓で実行される。 その他の論理ブロックのためのコマンドと同様、Nの選
択は、好ましくは、各ITA出力バッファにオーバラン
をまったく生じないように(または最低限ですむように
)、推定CPU事象頻度にもとづく。
【0054】サンプリングパルストリガ論理は、図5A
および5Bに詳細に図示する。図5Aおよび5Bはサン
プリングパルストリガ論理の概念説明図である。サンプ
リングパルストリガ論理の必須回路は、好ましくは、ゲ
ートアレイで具体化される。図3および4の同一要素に
は同じ参照番号が割当てられている。
【0055】(事象または、事象と条件との論理結合に
もとづく)以下のトリガ条件の一つが、PCE  20
6からのコマンドによってサンプリングパルストリガ論
理318の制御レジスタ590に指定される。(PCE
からの)トリガ条件選択データは、サンプリングパルス
トリガ論理の必須条件選択入力(4ビット)507に生
じる。この必須条件選択入力は、16の事象/条件の組
合せの一つを、16:1MUX  501の選択によっ
てIID  24格納必須条件として選択するために使
用される。(PCE操作卓で選択された)しきい値Nは
、線598を通じてしきい値レジスタ505に設定され
る。サンプリングパルストリガ論理318による線31
0でのサンプリングパルスの生成は、命令サンプリング
モードが操作員操作卓で設定されており、それにより線
596での命令サンプリングモードビットを設定してい
ると前提とすることが理解されるはずである。 〔A.グローバルからのタイムストローブ〕タイムスト
ローブ信号(線502)は、SCE  210(図2)
によって周期的に生成される。MUX  501を通じ
て選択されると、タイムストローブ信号は、タイムスト
ローブごとに1度ずつ2進カウンタを増分する。2進カ
ウンタ503の値がしきい値レジスタ505の値Nに達
した後に最初に完了するIID24命令ごとに、サンプ
リングパルスが線310に生成される。 〔B.IID  24命令解読〕IID  24命令解
読信号(線506)は、(図1のブロック106の)C
PU命令解読・IID割当て論理によって、IID  
24命令の有効命令コードが解読されるとき常にストロ
ーブ(パルス)生成される。IID  24命令解読信
号は、機械信号線31A〜Zのいずれか一つでサンプリ
ングパルストリガ論理に入力する。MUX  501を
通じて選択されると、IID  24命令解読信号は、
IID  24命令が解読されるごとに2進カウンタ5
03を増分する。2進カウンタ503の値がしきい値レ
ジスタ505の値Nに達した後に最初に完了するIID
  24命令ごとに、サンプリングパルスが線310に
生成される。 〔C.データキャッシュ(Dキャッシュ)格納ミス〕ラ
ッチされたデータキャッシュ格納ミス信号(線508)
は、ISI信号コレクタのC6ラッチ454(図4)か
ら得られる。前述のように、C6ラッチ454は、各I
ID  24命令について一度だけ設定でき、(計測さ
れるCPUによって生成された)新しい有効なIID 
 24命令解読信号ごとにクリアされる。MUX  5
01を通じて選択されると、ラッチされたデータキャッ
シュ格納ミス信号は、データキャッシュ格納ミスを発生
させた各IID  24命令の実行ごとに1度ずつ2進
カウンタ503を増分する。2進カウンタ503の値が
しきい値レジスタ505の値Nに達した後、データキャ
ッシュ格納ミス事象において最初に完了すべきIID 
 24命令について、サンプリングパルスが線310に
生成される。このモードは、データキャッシュ格納ミス
を命令テーブル配列に退避させるIID  24命令の
処理に関連するデータのみを生じさせる。 〔D.データキャッシュ取出しミス〕ラッチされたデー
タキャッシュ取出しミス信号(線510)は、ISI信
号コレクタのC5ラッチ452(図4)から得られる。 前述のように、C5ラッチ452は、各IID  24
命令について一度だけ設定でき、新しい有効なIID2
4命令解読信号ごとにクリアされる。MUX501を通
じて選択されると、ラッチされたデータキャッシュ取出
しミス信号は、データキャッシュ取出しミスを発生させ
た各IID  24命令の実行ごとに1度ずつ2進カウ
ンタ503を増分する。2進カウンタ503の値がしき
い値レジスタ505の値Nに達した後、データキャッシ
ュ取出しミス事象において最初に完了すべきIID  
24命令について、サンプリングパルスが線310に生
成される。このモードは、データキャッシュ取出しミス
を命令テーブル配列に退避させるIID  24命令の
処理に関連するデータのみを生じさせる。 〔E.Dキャッシュミス(主記憶装置アクセス)によっ
て生じたレベル2(L2)キャッシュ取出しミス〕ラッ
チされたレベル2キャッシュ取出しミス信号(線512
)は、C4ラッチ450(図4)から得られる。前述の
ように、C4ラッチ450は、各IID24命令につい
て一度だけ設定でき、新しい有効なIID24命令解読
信号ごとにクリアされる。MUX  501を通じて選
択されると、ラッチされたL2キャッシュ取出しミス信
号は、L2キャッシュ取出しミスを発生させた各IID
24命令の実行ごとに1度ずつ2進カウンタ503を増
分する。この信号は、データキャッシュミスが自動的に
主記憶装置アクセスを伴わない(システムに存在するレ
ベル2キャッシュがある場合のような)状況で意味があ
るにすぎないことを理解すべきである。2進カウンタ5
03の値がしきい値レジスタ505の値Nに達した後、
L2キャッシュ取出しミス事象において最初に完了すべ
きIID24命令について、サンプリングパルスが線3
10に生成される。このモードは、L2キャッシュ取出
しミスを命令テーブル配列に退避させるIID  24
命令の処理に関連するデータのみを生じさせる。 〔F.タイムストローブ・(ICC−OR−IAWR)
〕ICCまたは範囲内命令アドレス(IWAR)条件が
発生すると、計測されるCPUはICC−OR−IAW
R信号をストローブ生成する(線514)。ICC−O
R−IAWR信号は、条件選択論理302を介して機械
信号線31A〜Zのいずれか一つでサンプリングパルス
トリガ論理318に入力する。ICC−OR−IAWR
信号は、ゲート532でタイムストローブ信号502と
論理積をとられる。MUX  501を通じて選択され
ると、タイムストローブ・ICC−OR−IAWR  
AND信号(線534)は、ICC−OR−IAWR条
件が存在する場合に、各タイムストローブについて2進
カウンタ503を増分する。2進カウンタ503の値が
しきい値レジスタ505の値Nに達した後に、ICCL
ATCHまたはIAWR条件におけるタイムストローブ
に関して最初に完了するIID  24命令ごとに、サ
ンプリングパルスが線310に生成される。 〔G.IID  24命令解読・(ICC−OR−IA
WR)〕ICC−OR−IAWR信号は、ゲート528
でIID  24命令解読信号506と論理積をとられ
る。 MUX  501を通じて選択されると、IID  2
4命令解読・ICC−OR−IAWR  AND信号(
線530)は、ICC−OR−IAWR条件が存在する
場合に、各IID  24命令解読について2進カウン
タ503を増分する。2進カウンタ503の値がしきい
値レジスタ505の値Nに達した後に、ICCLATC
HまたはIAWR条件において最初に完了するIID 
 24命令ごとに、サンプリングパルスが線310に生
成される。 〔H.データキャッシュ格納ミス・(ICC−OR−I
AWR)〕ラッチされたデータキャッシュ格納ミス信号
は、ゲート524でICC−OR−IAWR信号と論理
積をとられる。MUX  501を通じて選択されると
、ラッチされたデータキャッシュ格納ミス・ICC−O
R−IAWR  AND信号(線526)は、ICC−
OR−IAWR条件においてデータキャッシュ格納ミス
事象を生じさせる各IID  24命令解読について2
進カウンタ503を増分する。2進カウンタ503の値
がしきい値レジスタ505の値Nに達した後に、データ
キャッシュ格納ミス事象およびICCLATCHまたは
IAWR条件において最初に完了するIID  24命
令ごとに、サンプリングパルスが線310に生成される
。 〔I.データキャッシュ取出しミス・(ICC−OR−
IAWR)〕ラッチされたデータキャッシュ取出しミス
信号は、ゲート520でICC−OR−IAWR信号と
論理積をとられる。MUX  501を通じて選択され
ると、ラッチされたデータキャッシュ取出しミス・IC
C−OR−IAWR  AND信号(線522)は、I
CC−OR−IAWR条件においてデータキャッシュ取
出しミス事象を生じさせる各IID  24命令解読に
ついて2進カウンタ503を増分する。2進カウンタ5
03の値がしきい値レジスタ505の値Nに達した後に
、データキャッシュ取出しミス事象およびICCLAT
CHまたはIAWR条件において最初に完了するIID
  24命令ごとに、サンプリングパルスが線310に
生成される。 〔J.Dキャッシュミスによって生じたL2キャッシュ
取出しミス・(ICC−OR−IAWR)〕ラッチされ
たL2キャッシュ取出しミス信号は、ゲート516でI
CC−OR−IAWR信号と論理積をとられる。MUX
  501を通じて選択されると、ラッチされたL2キ
ャッシュ取出しミス・ICC−OR−IAWR  AN
D信号(線518)は、ICC−OR−IAWR条件に
おいてL2キャッシュ取出しミスを生じさせる各IID
  24命令解読について2進カウンタ503を増分す
る。2進カウンタ503の値がしきい値レジスタ505
の値Nに達した後に、L2キャッシュ取出しミス事象お
よびICCLATCHまたはIAWR条件において最初
に完了するIID  24命令ごとに、サンプリングパ
ルスが線310に生成される。 〔K.タイムストローブ・PASN比較〕PASN比較
信号(線556)は、命令が既定の一次アドレス空間の
記憶域にアクセスした時に、計測されるCPUによって
生成される。PASN比較信号は、条件選択論理302
を介して機械信号線31A〜Zのいずれか一つでサンプ
リングパルストリガ論理に入力する。PASN比較信号
は、ゲート552でタイムストローブ信号と論理積をと
られる。MUX  501を通じて選択されると、タイ
ムストローブ・PASN比較AND信号(線554)は
、PASN比較条件においてタイムストローブが生じる
ごとに2進カウンタ503を増分する。2進カウンタ5
03の値がしきい値レジスタ505の値Nに達した後に
、PASN比較条件におけるタイムストローブについて
最初に完了するIID  24命令ごとに、サンプリン
グパルスが線310に生成される。 〔L.IID  24命令解読・PASN比較〕PAS
N比較信号は、ゲート548でIID  24命令解読
信号と論理積をとられる。MUX  501を通じて選
択されると、PASN比較・IID  24命令解読A
ND信号(線550)は、PASN比較条件におけるI
ID  24命令解読ごとに2進カウンタ503を増分
する。2進カウンタ503の値がしきい値レジスタ50
5の値Nに達した後に、PASN比較条件において最初
に完了するIID  24命令ごとに、サンプリングパ
ルスが線310に生成される。 〔M.データキャッシュ格納ミス・PASN比較〕PA
SN比較信号は、ゲート544でラッチされたデータキ
ャッシュ格納ミス信号508と論理積をとられる。MU
X  501を通じて選択されると、ラッチされたデー
タキャッシュ格納ミス・PASN比較AND信号546
は、PASN比較条件においてデータキャッシュ格納ミ
ス事象を生じさせるIID  24命令実行ごとに2進
カウンタ503を増分する。2進カウンタ503の値が
しきい値レジスタ505の値Nに達した後に、データキ
ャッシュ格納ミス事象およびPASN比較条件において
最初に完了するIID  24命令ごとに、サンプリン
グパルスが線310に生成される。 〔N.データキャッシュ取出しミス・PASN比較〕P
ASN比較信号は、ゲート540でラッチされたデータ
キャッシュ取出しミス信号510と論理積をとられる。 MUX  501を通じて選択されると、ラッチされた
データキャッシュ取出しミス・PASN比較AND信号
(線542)は、PASN比較条件においてデータキャ
ッシュ取出しミス事象を生じさせるIID  24命令
実行ごとに2進カウンタ503を増分する。2進カウン
タ503の値がしきい値レジスタ505の値Nに達した
後に、データキャッシュ取出しミス事象およびPASN
比較条件において最初に完了するIID  24命令ご
とに、サンプリングパルスが線310に生成される。 〔O.Dキャッシュミスによって生じたL2キャッシュ
取出しミス・PASN比較〕PASN比較信号は、ゲー
ト536でラッチされたL2キャッシュ取出しミス信号
512と論理積をとられる。MUX  501を通じて
選択されると、ラッチされたL2キャッシュ取出しミス
・PASN比較AND信号(線538)は、PASN比
較条件においてL2キャッシュ取出しミス事象を生じさ
せる各命令ごとに2進カウンタ503を増分する。2進
カウンタ503の値がしきい値レジスタ505の値Nに
達した後に、L2キャッシュ取出しミス事象およびPA
SN比較条件において最初に完了するIID  24命
令ごとに、サンプリングパルスが線310に生成される
。 〔P.発生相互問合せ(CCI)〕発生相互問合せ(C
CI)信号(線535)は、計測されるCPUによって
生成される。CCI信号は、機械信号線31A〜Zのい
ずれか一つでサンプリングパルストリガ論理318に入
力する。MUX  501を通じて選択されると、CC
I信号356は、CCI条件を発生させた各IID  
24命令の実行ごとに1度ずつ2進カウンタ503を増
分する。2進カウンタ503の値がしきい値レジスタ5
05の値Nに達した後、CCI条件において最初に完了
すべきIID  24命令について、サンプリングパル
スが線310に生成される。このモードは、CCI事象
を命令テーブル配列に退避させるIID  24命令の
処理に関連するデータのみを生じさせる。
【0056】図5および図6の実施例では、上記の事象
だけが、捕捉されたIID  24データ(すなわち、
ISI信号コレクタ304でレジスタに入れられた、ま
たは、カウントされたデータ)が格納される前にカウン
トされるべきNの事象において可能である。
【0057】第N事象カウンタが既定の値Nに達した後
に最初に完了するIID24命令を処理するための論理
を、図5および図6によって以下に説明する。IID 
 24命令完了信号は、4:1  MUX  588(
事象MUX)への第1の入力となる。IID  24命
令完了信号は、ANDゲート586(事象ANDゲート
)で(MUX  501からの)選択された事象信号と
論理積をとられ、事象MUX588への第2の入力とな
る。IID  24命令完了信号は、ゲート592でI
CC−OR−TAWR信号と、また、ゲート594でP
ASN比較信号と付加的に論理積をとられる。ANDゲ
ート592および594の出力は、事象MUX588へ
の第3および第4の入力となる。事象MUX  588
の出力は、ANDゲート560で比較器558の出力と
論理積をとられる。比較器558が、2進カウンタ50
3の値が(PCEによって事前に設定された)しきい値
レジスタ505のカウントに等しいことを検出すると、
比較器558の出力は、高レベル(真の)状態になる。
【0058】タイムストローブが選択されたトリガ条件
である場合、事象MUX588はIID  24命令完
了入力を選択する。命令サンプリングモードビットが(
出力ANDゲート564で)設定されると、2進カウン
タ503のタイムストローブカウントがしきい値レジス
タ505の値に達した後、次の完了すべきIID  2
4命令はサンプリングパルスを線310に生じさせる。
【0059】IID  24命令解読・ICC−OR−
IAWR  AND信号が選択されたトリガ条件である
場合、事象MUX  588はANDゲート592の出
力を選択する。カウンタ503は、ICC−OR−IA
WR条件においてIID24命令解読が生じるカウント
を維持する。命令サンプリングモードビットが設定され
ると、ICC−OR−IAWR条件の発生において次の
完了すべきIID24命令は、2進カウンタ503のカ
ウントがしきい値レジスタ505の既定のしきい値に達
した後、サンプリングパルスを線310に生じさせる。
【0060】PASN比較・IID  24命令解読A
ND信号が選択されたトリガ条件である場合、事象MU
X  588はANDゲート594の出力を選択する。 カウンタ503は、PASN比較条件においてIID 
 24命令解読が生じるカウントを維持する。命令サン
プリングモードビットが設定されると、PASN比較条
件の発生において次の完了すべきIID  24命令は
、2進カウンタ503のカウントがしきい値レジスタ5
05の既定のしきい値に達した後、サンプリングパルス
を線310に生じさせる。
【0061】タイムストローブ、IID  24命令解
読・ICC−OR−IAWR  AND信号、または、
PASN比較・IID  24命令解読AND信号以外
のトリガ条件が選択された場合、事象MUX  588
はANDゲート586の出力を選択する。命令サンプリ
ングモードビットが(出力ANDゲート564で)設定
されると、選択された事象の発生において次の完了すべ
きIID  24命令は、2進カウンタ503のカウン
トがしきい値レジスタ505の希望のカウントに達した
後、サンプリングパルスを線310に生じさせる。
【0062】カウンタ503は線310のサンプリング
パルスの発生によってリセットされる。 〔3.5  ITAおよびITAアドレスジェネレータ
〕ITA  32は、ISI信号コレクタに捕捉された
データを格納することを目的とする記憶配列である。監
視されたIID  24命令が完了し、選択されたトリ
ガ条件に適合すると、ISI信号コレクタからの関連す
る捕捉データは、単一の計測項目としてITAに格納さ
れる。
【0063】ITA  32は、好ましくは、2の独立
にアドレス可能な区域32Aおよび32Bに編成される
。 この配列は、命令サンプリングで関係する全部の信号を
保持するのに十分な幅でなければならない。より好まし
くは、この配列はさらに、他の監視モードで関係するい
ずれかの他の信号を収容するのに十分な幅とすべきであ
る。この後者の実施例は、異なるモードまたは種類の計
測によって同一の配列の使用を可能にする。個別の配列
は、好ましくは、診断および性能計測のために付与され
る。
【0064】命令サンプリングのための出力バッファ制
御は以下のように行われる。
【0065】ITAアドレスジェネレータには2のテー
ブルアドレスカウンタ(TAC)がある。書込みTAC
  332は、ISI信号コレクタからのデータの書込
みのための項目アドレスをITAに付与するために使用
される。読出しTAC  331は、ITAからのデー
タを読出すための項目アドレスをPCEの記憶装置に付
与するために使用される。好ましい実施例では、1つの
TACアドレスバス336があり、読出しはITAへの
書込みが進行中でない場合にのみ使用可能となる。サン
プリングパルスが線310でITAアドレスジェネレー
タ33によって受信された(かつ、ITAが後述するよ
うに書込み禁止となっていない)場合、書込みTAC 
 332によって指示された現在アドレスの(ISI信
号コレクタ304からの)命令サンプルの格納のために
ITAアドレスジェネレータ33にITAを使用可能に
させる。
【0066】ITAの前半32Aが一杯になると(書込
みTAC  332が第64項目を指すまで増分された
ことにより指示される)、前半満杯ビットがITAアド
レスジェネレータ33内のITA状況レジスタ333に
設定される。同様に、ITAの後半32Bが一杯になる
と(書込みTAC  332が第128項目を指すまで
増分されたことにより指示される)、後半満杯ビットが
ITAアドレスジェネレータ33内のITA状況レジス
タに設定される。ITAの両半分が一杯になると、IS
I信号ジェネレータからのITAへの書込みはITAア
ドレスジェネレータによって禁止される。ITAの両半
分が一杯である時に線310のサンプリングパルスがI
TAアドレスジェネレータによって受信された場合、I
TAアドレスジェネレータはITA状況レジスタにオー
バランビットを設定する。
【0067】ITAの各半分について1オーバランビッ
トがある。設定されるビットは書込み禁止中の書込みT
ACのアドレスに依存する。書込みTACが書込み禁止
中にITAの前半32Aを指示している場合、前半オー
バラン状況ビットが設定される。TACが書込み禁止中
にITAの後半32Aを指示している場合、後半オーバ
ラン状況ビットが設定される。
【0068】ITA状況レジスタ333は、ITAから
読出しを開始する前に(経路338によって)PCEに
よって読出される。状況レジスタがオーバランを指示す
る場合、計測ユーザがデータが失われたことを認識でき
、その事実の重要性を分析できるように計測制御プログ
ラムに報告される。代替的な実施例として、ITAアド
レスレジスタはオーバランカウンタを含むことができ、
オーバランの数がITA状況の一部として報告されるよ
うにすることができる。
【0069】PCEのコマンドによって、ブロック33
の読出しTAC  331は、そのアドレスバス336
でITAに読出しアドレスを与える。PCEは、ITA
のいずれの半分が読出すべきかを判断するためにその配
列満杯状況を使用する。前述のように、ITAの読出し
はITAの書込み動作の間に生じる。PCEがITAの
半分全部を読出すと、ITAアドレスジェネレータ33
にITAのその半分に関連するオーバランおよび配列満
杯状況ビットをリセットし、ISI信号コレクタから書
込むためにそのITAの半分を開放するように命じる。
【0070】代替的な実施例として、ITAアドレスジ
ェネレータは、従来の二重バッファ方式で配列の半分に
読み書きするためにTACを使用することができる。さ
らに代替的な実施例として、米国特許第4,821,1
78号に説明されたように、単一のTACを使用するこ
ともできる。ITAアドレスジェネレータがITAの入
力アドレス指定および出力アドレス指定の両方について
単一のTACだけを使用する場合、ITAゲート31に
よって受信されたCPU信号は、1)線310のトリガ
信号(サンプリングパルス)が第N事象制御論理309
から付与された場合、および、2)ITAアドレスジェ
ネレータ33のTACがその出力バッファに充填された
ITA内容を出力しているがITA入力はロックされて
いない場合にのみ、ITAに格納される。
【0071】PCEにITAからのデータの多様な組合
せを読出させるために、計測項目は、カプレット(2バ
イトの組)単位でITAアドレスジェネレータ33から
読出される。各カプレットは、マルチプレクサ(MUX
)316を通じてPCEによって個別にアドレス指定で
きる(すなわち、ビット0〜15は1カプレットとして
、ビット16〜31は別のカプレットとして、というよ
うに)。MUX  316は、PCEからPCEコマン
ドデコーダ34を介して(経路312で)MUX316
に付与された選択データによって直接(PCEの1読出
しサイクルで)ITA  32のいずれかの1カプレッ
トを選択するために使用されるようにすることができる
【0072】経路314は、米国特許第4,590,5
50号の内部分散監視システムで開示された種類のSA
Tアドレス制御装置(図示せず)にITAアドレスを供
給する。米国特許第4,590,550号の内部分散監
視システムで開示された(図2,参照番号35,35B
,36,36A)種類の従来の追跡・SATゲート論理
(図示せず)が備わっており、従来の形式で命令サンプ
リングレコーダに接続されている。
【0073】ITA項目の格納は、サンプリングパルス
が線310に付与された瞬間に発生するにすぎず、その
結果、ITA  32に入力された各サンプルは選択さ
れたトリガ条件に適合するIID  24の単一の発生
に対応する。 〔4.動作の要約〕次に、命令サンプリング計測の動作
を図2によって概説する。測定制御コマンド信号は、P
CEから各ITUにバス51で送信される。コマンド経
路151は、バス301,312および318に制御信
号を生成し出力するPCEコマンドデコーダ34(図3
)によって受信される。前述のように、コマンド経路1
51およびデータ経路251とも、実際には、単一の双
方向性PCEバス51として具体化されている。制御信
号は、前述のように、命令サンプリング計測の動作およ
び選択の設定は、以下のように要約できる。
【0074】A.計測モードが計測モード選択ブロック
300で計測サンプリングモードに設定される。(命令
サンプリングモードでは、線55で受信された時間サン
プリング入力パルスはCPUのITUに到達することを
禁止される。) B.条件選択論理302が、測定実行中に活動状態にな
る条件を選択するように設定される。
【0075】C.事象選択論理307が、事象または、
事象もしくは条件の組合せを選択するように設定される
【0076】D.第N事象制御論理ブロック309が値
Nに設定される。これは、ブロック309のカウンタ5
03のためのしきい値レジスタ505のしきい値を値N
に設定する。このカウンタによって、サンプリングパル
ストリガ論理は、選択されたトリガ条件のN番目の発生
ごとの後に、選択されたトリガ条件に適合し発生すべき
(条件選択論理302を通じて機械信号31A〜Zから
渡された)最初のIID  24完了信号に際してIT
Aアドレスジェネレータにサンプリングパルスを出力す
る。このようにして、選択された事象のN番目の発生ご
との後に、選択された事象の発生において最初の完了す
べきIID  24命令に関するデータだけがITA 
 32に記録される。
【0077】E.ISI信号コレクタ304は、ITA
のデータ収集を可能にするためにいずれの事象信号がラ
ッチされるかを選択するために設定される。(これは、
ブロック309からのサンプリングパルスの発生に際し
てCPUからITAに渡す選択されたデータのための経
路を準備する。) F.付加的に、連続したオーバランが発生した場合に測
定を終了するためのオーバランしきい値をPCEに設定
することができる。
【0078】(操作員のコマンドによって設定された)
以降の時に、実際の測定が開始する。これは、線31A
〜Zの選択された機械状態信号が、ブロック309から
の各サンプリングパルスの発生後にITAアドレスジェ
ネレータ33によって選択されたITA  32のIT
Aアドレスに記録するために、ISI信号コレクタ30
4にその時に登録されることを意味する。
【0079】サンプリング動作のために選択された線3
1A〜Zにいずれかの信号が発生すると、その信号は、
それが発生したCPUの出所からITUのISI信号コ
レクタ304に送信される。ISI信号コレクタ304
は、各選択事象信号をラッチし、ITUの他の領域に転
送する。この領域とは、詳しく言えば次の領域である。
【0080】1.この信号がサンプリングのために使用
されるべきものであるかどうかを判断するために事象選
択論理307へ。
【0081】2.選択信号がそのデータが収集された時
点で現在のITA項目に記録できる場合にはバス331
でITA  32のデータ入力へ。
【0082】条件信号バス303は条件信号を渡し、バ
ス305は、条件指定がコマンド制御のもとで設定され
ていた場合に、事象信号の一部を条件選択論理ブロック
302に渡す。ブロック302で、信号は試験され、選
択されている場合、それらは測定実行のためにラッチさ
れる。このラッチは、選択条件がCPUによって送信さ
れていれば、線306で事象選択論理307に出力され
る。
【0083】事象選択論理ブロック307では、選択さ
れた信号が計測初期化中にコマンド経路301から以前
に指定されたトリガ条件との適合を検査される。ブロッ
ク307で選択された信号の適合が検出されると、出力
パルスが経路308で第N事象制御論理ブロック309
へ転送される。
【0084】第N事象制御論理ブロック309では、カ
ウンタ(CTR)が、測定について選択された事象の発
生ごとに増分される。前述のように、選択事象は、シス
テム事象または、システム事象もしくはシステム条件の
論理結合とすることができる。増分されたカウンタが値
Nに達するごとに、選択されたトリガ条件に適合し完了
すべき次のIID  24命令によって、サンプリング
パルスが次の完了すべきIID  24命令に際して経
路310でITAアドレスジェネレータに出力される。 これによって、ISI信号コレクタ304から付与され
たラッチされた信号の組の選択された信号の組をITA
に記録することが可能になる。カウンタは、IID  
24命令が監視CPUによって解読されるごとにゼロに
リセットされる。
【0085】ITAアドレスジェネレータ33の読出し
テーブルアドレスカウンタ(TAC)は、線310の各
サンプリングパルスによって増分される。(TACは、
128項目を有するITAデータ項目のための7ビット
カウンタである。)ITAは、好ましくは、通常の測定
状況下でオーバランを防止するために十分な保持能力を
有する。
【0086】ITAアドレスジェネレータのアドレス増
分論理は、他の計測モードのものと同一とすることがで
きる。しかし、前述のように、命令サンプリングモード
は(時間サンプリングモードとは異なり)本質的にCP
U間で非同期であり、従って、ITAの出力制御は、命
令サンプリングモードの場合と時間サンプリングモード
の場合とでは異なる。
【0087】指摘したように、命令サンプリングは、所
与の範囲内にある現在の命令アドレス、IAWR(IB
Mシステム370での実施におけるPERレジスタなど
)を条件とすることができる。または、関係するルーチ
ンへの出入りの信号を送るために測定中のコードに置か
れた特殊な状態命令(診断またはSIEなど)によって
設定されているブロック302内の特殊ラッチ(ICC
LATCH)(図示せず)を条件とすることもできる。 条件制御は、サンプリングがアドレス範囲によって制限
できる、または、プログラム制御、一定のCPU状態ま
たはCPUの機種依存性のもとで動的に動作/非動作に
させることができる点で、別の次元の選択性を可能にす
る。
【0088】ITA  32の命令サンプリング信号の
記録は、Nの設定によって抑制することができる。頻繁
な事象については、第N番目の事象の発生後に選択され
た事象において完了すべき最初のIID  24命令に
際してのみ記録することが、バッファのオーバランを防
ぐためにその記録内容を出力バッファに移すことができ
る速さよりも速くITAを一杯にさせることを避けるた
めに必要である。
【0089】CPU状態データが一定の間隔でサンプリ
ングされ(すなわち時間サンプリング)、(プログラム
とコンピュータ構造との間の対話その他の性能関係を調
べるために)以後の解析用に記録される場合、一部の事
象がサンプリングに困難な速度で発生するという問題が
生じる場合がある。その理由は、その事象があまりに頻
繁すぎて要求されるデータ記録速度が得られたデータを
記録するために実行可能な速度よりも大きい、または、
事象が極めて稀でかつ極く短時間で生じるために、関係
する事象を含む統計的に有意なサンプル数を得るために
極めて長期間にわたって大量のサンプルが取られなけれ
ばならないからである。
【0090】従って、事象駆動命令サンプリングは、完
了するIID  24命令の実行中および選択事象の選
択された発生数後の選択事象の発生中に機械の状態を捕
捉する。言い換えれば、命令サンプリングモードでは、
サンプリングは任意のタイマ間隔で実施されるのではな
く、選択された事象が選択された度数だけ発生した後に
IID  24命令が選択された事象(選択されたシス
テム事象、システム条件、またはそれらの論理結合)の
進行中に完了した場合に限って実施される。プロセッサ
の多数の下位要素が命令サンプリングの実行に参加でき
る。
【0091】事象サンプリング中のITUの測定動作は
、事実上、測定を指定したコマンドに従って終了される
【0092】CPUのデータの流れは、ITUの機械信
号インタフェースとしての線31A〜31Zによって計
測データを転送する各種下位要素を関係させる。これら
のデータ信号入力は、命令サンプリングモードの場合と
他のサンプリングモードの場合とで同一であるが、命令
サンプリングの場合は事象関連信号が選択された事象/
条件の記録サンプルへの処理のために経路303,30
5および311Aによって転送される点だけが異なる。
【0093】システム測定中のPCEの活動は関連する
出力バッファの動作を制御する。PCEは各出力バッフ
ァを監視し、一杯になった場合にテープその他の大量記
憶装置への書込みを行わせる。PCEはまた、各ITA
のオーバランのカウントを記録する。オーバランはデー
タ損失を指示し、その頻度にもとづいて、オーバランは
実行の測定精度に影響を与え得る。ユーザがオーバラン
しきい値を特定のオーバラン数としてしていれば、オー
バランしきい値に達すれば、測定実行は終了させること
ができる。 〔5.IID割当て−命令サンプリングの検討事項〕命
令サンプリングを使用する際の一つの検討事項は、CP
Uによる割込みの取扱いである。一部のアウトオブシー
ケンス形プロセッサでは、割込みの発生はIID割当て
論理に割込まれた命令にIID  0を割当てさせる〔
これは正しいか?〕。IID割当て論理はその後、割込
み処理ルーチンの命令に順序的なIIDを再割当てし始
めるように求めるであろう。一つの可能なIID割当て
順序は次のようなものである。
【0094】12345.0.12345...上記の
例で、最初の“12345”は命令ストリームに割当て
られた一連のIIDである。“0”は割込まれた命令に
割当てられたIIDであり、次の“12345”は割込
み処理ルーチンの命令に割当てられた最初の5のIID
である。
【0095】上記の方式は、命令サンプリングにはうま
く適合しない。IID割当てが割込み処理ルーチンの最
初の命令について“1”に戻るので、真のランダムサン
プルは得られないであろう。上記の割当て方法によれば
、割込み処理ルーチンの同一の命令は、毎回、同一のタ
グを付けられる。例えば、すべてのIID24命令がサ
ンプリングされている場合、割込み処理ルーチンの唯一
の命令シーケンス(24番目ごとに)が計測によってず
っと見られることになるであろう。
【0096】この非ランダム化には多数の解決策がある
。そうした解決策の一つは、以下のように、IID割当
てを割込み前の最後のIID番号から続けさせることで
ある。
【0097】12345.0.56789...同様に
、IID割当てを以下のように最後の次のIID番号か
ら続けさせることもできよう。
【0098】12345.0.6789A...別な解
決策として、割込まれた命令に、次のように、順番のI
ID番号を割当てることもできよう。
【0099】12345.6.789AB...上記の
解決策の要点は、割込み処理ルーチンの命令に関してラ
ンダム化されたサンプリングを維持することである。 〔6.0  変更および改良〕本発明の好ましい実施例
の上述の説明は、例示の目的で行ったものである。本発
明の精神および適用範囲に適合する記載実施例の多数の
変更および修正が存在することを当業者は理解されるで
あろう。例えば、IID  24の代わりに、いずれか
の他の命令IIDが識別され、計測の基礎として使用で
きるであろう。さらに、異なる計測、同一システムにお
ける異なるCPUの監視は異なるIIDを有する命令の
実行を監視できるであろう。
【図面の簡単な説明】
【図1】アウトオブシーケンス実行の例のブロック図。
【図2】本発明を包含するデータ処理システムのブロッ
ク図。
【図3】図1のいずれかのCPUのITUにおける本発
明の実施例のブロック図。
【図4】図3のISI信号コレクタの詳細ブロック図。
【図5】図3のサンプリングパルストリガ論理の詳細ブ
ロック図の左半分の図。
【図6】図3のサンプリングパルストリガ論理の詳細ブ
ロック図の右半分の図。
【符号の説明】
30  ISR 31A〜Z  機械信号線 32  計測テーブル配列(ITA) 33  ITAアドレスジェネレータ 331  テーブルアドレスカウンタ(TAC)332
  テーブルアドレスカウンタ(TAC)333  I
TA状況レジスタ 34  PCEコマンドデコーダ 300  計測モード選択ブロック 302  条件選択論理 304  命令サンプリング計測(ISI)信号コレク
タ318  サンプリングパルストリガ論理307  
事象選択論理 309  第N事象制御論理 316  マルチプレクサ(MUX)

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】アウトオブシーケンス実行機械における命
    令の実行を監視するための装置であって、主記憶装置と
    、既定の命令識別番号を有する命令の前記機械による処
    理を検出するための第1の検出手段と、前記第1の検出
    手段と通信し応答する、前記命令の処理に関するデータ
    を収集するための一時記憶手段と、前記命令の実行の完
    了を検出するための第2の検出手段と、前記命令の実行
    の完了を検出するための第2の検出手段を有しており、
    前記一時記憶手段および前記主記憶装置と通信し、前記
    一時記憶手段に収集された前記データを前記命令の実行
    の完了に応答して前記主記憶装置に格納させるためのト
    リガ手段とを含む装置。
  2. 【請求項2】請求項1記載の装置であって、前記トリガ
    手段はさらに、前記機械における既定のシステム事象の
    発生を検出するための第3の検出手段と、前記検出手段
    に応答して、前記第3の検出手段が前記既定のシステム
    事象の発生を検出した場合にのみ前記データを前記主記
    憶装置に格納させるための論理手段とを含む装置。
  3. 【請求項3】前記主記憶装置が2の独立してアドレス指
    定可能な区域を有する請求項1記載の装置であって、さ
    らに、コマンドデコーダと、前記主記憶装置の書込みア
    ドレスを生成するための第1のアドレス生成手段と、 
     前記主記憶装置が書込み可能となっていない場合、解
    読されたコマンドに応答して前記主記憶装置の読出しア
    ドレスを生成するための第2のアドレス生成手段と、前
    記解読されたコマンドに応答する、前記応答的な読出し
    アドレスのデータ項目の選択された部分を読出すための
    マルチプレクサ手段とを有しており、前記マルチプレク
    サ手段は前記主記憶装置および前記コマンドデコーダと
    通信しており、前記第1および第2のアドレス生成手段
    は共通データ経路を通じて前記主記憶装置と通信してお
    り、前記第2のアドレス生成手段は前記コマンドデコー
    ダと通信していることを特徴とする装置。
  4. 【請求項4】アウトオブシーケンス中央処理装置におけ
    る命令の実行を監視するための装置であって、主記憶装
    置と、中央処理装置からの機械信号を受信するために配
    置された多数のレジスタであり、前記レジスタのそれぞ
    れは前記レジスタによって受信された前記機械信号が既
    定の命令識別番号を有する命令の処理中に発生したこと
    を指示する妥当性信号によって計時されている前記レジ
    スタと、前記中央処理装置が前記命令の実行を完了した
    ことを指示する完了信号を中央処理装置から受信するた
    めに配置されたサンプリングパルストリガ論理であり、
    a)前記中央処理装置の多数の事象の発生を指示するデ
    ータを受信するための手段、 b)前記事象のいずれかを選択するための手段、c)前
    記完了信号が受信され、前記選択された事象が発生した
    場合にサンプリングパルスを生成するための手段とを有
    する前記サンプリングパルストリガ論理と、前記主記憶
    装置および前記サンプリングパルストリガ論理と通信し
    、前記サンプリングパルストリガ論理からのサンプリン
    グパルスに応答して前記レジスタの前記内容を前記主記
    憶装置に書込ませるための記憶アドレス生成手段とを含
    む装置。
  5. 【請求項5】実行パイプラインにおける各命令に順番に
    割当てられる命令識別番号を付ける形式のアウトオブシ
    ーケンス実行機械において命令の実行を監視するための
    方法であって、 a)前記命令識別番号の既定の1番号を付けられた命令
    の前記機械による処理を検出する段階と、b)段階a)
    で検出された前記命令の処理に関連するデータを収集す
    る段階と、 c)段階a)で検出された前記命令の実行の完了を検出
    する段階と、 d)前記実行の完了が段階c)で検出された場合に、段
    階b)で収集された前記データをテーブルに格納する段
    階とを含む方法。
  6. 【請求項6】請求項5記載の方法であって、さらに、e
    )前記機械での既定の事象の発生を検出する段階とを含
    み、前記段階d)の格納は段階e)によって検出された
    前記既定の事象の発生を条件とすることを特徴とする方
    法。
  7. 【請求項7】実行パイプラインにおける各命令に順番に
    割当てられる命令識別番号を付ける形式のアウトオブシ
    ーケンス実行機械において命令の実行を監視するための
    方法であって、 a)前記命令識別番号の既定の1番号を付けられた命令
    の前記機械による処理を検出する段階と、b)段階a)
    で検出された前記命令の処理に関連するデータを収集す
    る段階と、 c)段階a)で検出された前記命令の実行の完了を検出
    する段階と、 d)前記命令の実行の完了が段階c)で検出されない場
    合、段階b)で収集された前記データを放棄する段階と
    、 e)前記実行の完了が段階c)で検出された場合、段階
    b)で収集された前記データをテーブルに格納する段階
    とを含む方法。
  8. 【請求項8】請求項7記載の方法であって、さらに、f
    )前記機械での既定のシステム条件の発生を検出する段
    階とを含み、前記段階e)の格納は段階f)によって検
    出された前記既定のシステム条件の発生を条件とするこ
    とを特徴とする方法。
  9. 【請求項9】コンピュータシステム内に配置されたアウ
    トオブシーケンス実行中央処理装置において命令の実行
    を監視するための装置であって、主記憶装置と、中央処
    理装置からの機械信号を受信するために配置された多数
    のレジスタであり、前記レジスタのそれぞれは前記レジ
    スタによって受信された前記機械信号が既定の命令識別
    番号を有する命令の処理中に発生したことを指示する妥
    当性信号によって計時されている前記レジスタと、前記
    中央処理装置と通信し、前記中央処理装置が前記命令の
    実行を完了したことを指示する完了信号を中央処理装置
    から受信するために配置されたサンプリングパルストリ
    ガ論理であり、 a)それぞれが、第1の入力で前記中央処理装置での多
    数のシステム事象のいずれかの発生を指示する信号を受
    信し、第2の入力で前記中央処理装置のシステム条件の
    発生を指示する信号を受信するために配置されている多
    数の論理ゲート、 b)前記論理ゲートのそれぞれの出力および前記システ
    ム事象のいずれかの発生を指示する各信号を受信するた
    めに配置されている第1のマルチプレクサ、c)前記マ
    ルチプレクサに出力選択制御データを供給するために前
    記マルチプレクサと通信するように配置された制御レジ
    スタ、 d)前記マルチプレクサの出力を受信するための配置さ
    れた2進カウンタ、 e)前記コンピュータシステムから既定の値を受信する
    ために配置されたしきい値レジスタ、 f)第1の入力で前記2進カウンタの出力を、第2の入
    力で前記しきい値レジスタの出力を受信するために配置
    された比較器、 g)前記完了信号および前記システム条件発生指示信号
    を受信するために配置された第1のANDゲート、h)
    前記制御レジスタと通信する出力選択制御入力を含んで
    おり、前記第1のANDゲートの出力および前記完了信
    号を受信するために配置されている第2のマルチプレク
    サ、 i)前記比較器の出力および前記第2のマルチプレクサ
    の出力を受信するために配置された第2のANDゲート
    、ならびに、 j)前記第2のANDゲートの出力および前記コンピュ
    ータシステムからのイネーブル信号を受信するために配
    置された第3のANDゲートとを有する前記サンプリン
    グパルストリガ論理と、前記主記憶装置および前記サン
    プリングパルストリガ論理と通信し、前記サンプリング
    パルストリガ論理からのサンプリングパルスに応答して
    前記レジスタの前記内容を前記主記憶装置に書込ませる
    ための記憶アドレス生成手段とを含む装置。
JP3151053A 1990-07-13 1991-05-27 命令サンプリング計測のための装置および方法 Expired - Lifetime JPH0816878B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US552389 1990-07-13
US07/552,389 US5151981A (en) 1990-07-13 1990-07-13 Instruction sampling instrumentation

Publications (2)

Publication Number Publication Date
JPH04233637A true JPH04233637A (ja) 1992-08-21
JPH0816878B2 JPH0816878B2 (ja) 1996-02-21

Family

ID=24205119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3151053A Expired - Lifetime JPH0816878B2 (ja) 1990-07-13 1991-05-27 命令サンプリング計測のための装置および方法

Country Status (3)

Country Link
US (1) US5151981A (ja)
EP (1) EP0465765A3 (ja)
JP (1) JPH0816878B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003531436A (ja) * 2000-04-11 2003-10-21 アナログ デバイセス インコーポレーテッド 非侵入式アプリケーション・コード・プロファイリングの方法および装置
JP2019506670A (ja) * 2016-01-21 2019-03-07 エイアールエム リミテッド アドレス変換レイテンシの測定

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255371A (en) * 1990-04-02 1993-10-19 Unisys Corporation Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands
US5511172A (en) * 1991-11-15 1996-04-23 Matsushita Electric Co. Ind, Ltd. Speculative execution processor
JP2500038B2 (ja) * 1992-03-04 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム
DE69422780T2 (de) * 1993-11-05 2000-08-17 Intergraph Corp Superskalare Rechnerarchitektur mit Softwarescheduling
US6360313B1 (en) 1993-11-05 2002-03-19 Intergraph Corporation Instruction cache associative crossbar switch
DE69424370T2 (de) * 1993-11-05 2001-02-15 Intergraph Corp Befehlscachespeicher mit Kreuzschienenschalter
US5463745A (en) * 1993-12-22 1995-10-31 Intel Corporation Methods and apparatus for determining the next instruction pointer in an out-of-order execution computer system
TW234172B (en) * 1994-02-08 1994-11-11 Keridian Semiconductor Inc Method and apparatus for testing the functionality of a microprocessor
JPH07288630A (ja) * 1994-04-20 1995-10-31 Canon Inc 画像処理装置
US5465336A (en) * 1994-06-30 1995-11-07 International Business Machines Corporation Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
CA2130065C (en) * 1994-08-12 1999-03-02 Michael Joel Cincinatus Utilizing pseudotables as a method and mechanism for providing database monitor information
JP2630271B2 (ja) * 1994-09-14 1997-07-16 日本電気株式会社 情報処理装置
TW295646B (ja) * 1995-01-25 1997-01-11 Ibm
US5727167A (en) * 1995-04-14 1998-03-10 International Business Machines Corporation Thresholding support in performance monitoring
US5875294A (en) 1995-06-30 1999-02-23 International Business Machines Corporation Method and system for halting processor execution in response to an enumerated occurrence of a selected combination of internal states
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5751946A (en) * 1996-01-18 1998-05-12 International Business Machines Corporation Method and system for detecting bypass error conditions in a load/store unit of a superscalar processor
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US6055598A (en) * 1996-09-26 2000-04-25 Vlsi Technology, Inc. Arrangement and method for allowing sequence-independent command responses across a computer bus bridge
US5796939A (en) * 1997-03-10 1998-08-18 Digital Equipment Corporation High frequency sampling of processor performance counters
US6202127B1 (en) * 1997-11-26 2001-03-13 Compaq Computer Corporation Apparatus for spatial and temporal sampling in a computer memory system
US5809450A (en) * 1997-11-26 1998-09-15 Digital Equipment Corporation Method for estimating statistics of properties of instructions processed by a processor pipeline
US6092180A (en) * 1997-11-26 2000-07-18 Digital Equipment Corporation Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed
US6195748B1 (en) 1997-11-26 2001-02-27 Compaq Computer Corporation Apparatus for sampling instruction execution information in a processor pipeline
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US5964867A (en) * 1997-11-26 1999-10-12 Digital Equipment Corporation Method for inserting memory prefetch operations based on measured latencies in a program optimizer
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
US6332178B1 (en) * 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
US6070009A (en) * 1997-11-26 2000-05-30 Digital Equipment Corporation Method for estimating execution rates of program execution paths
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
US6000044A (en) * 1997-11-26 1999-12-07 Digital Equipment Corporation Apparatus for randomly sampling instructions in a processor pipeline
US5923872A (en) * 1997-11-26 1999-07-13 Digital Equipment Corporation Apparatus for sampling instruction operand or result values in a processor pipeline
US6119075A (en) * 1997-11-26 2000-09-12 Digital Equipment Corporation Method for estimating statistics of properties of interactions processed by a processor pipeline
US6163840A (en) * 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
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
US6374367B1 (en) 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6175814B1 (en) 1997-11-26 2001-01-16 Compaq Computer Corporation Apparatus for determining the instantaneous average number of instructions processed
US6148396A (en) * 1997-11-26 2000-11-14 Compaq Computer Corporation Apparatus for sampling path history in a processor pipeline
US6014513A (en) * 1997-12-23 2000-01-11 University Of Washington Discovering code and data in a binary executable program
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US7086035B1 (en) 1999-05-13 2006-08-01 International Business Machines Corporation Method and system for counting non-speculative events in a speculative processor
US7272815B1 (en) 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
WO2000070531A2 (en) 1999-05-17 2000-11-23 The Foxboro Company Methods and apparatus for control configuration
US7096465B1 (en) 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6519766B1 (en) * 1999-06-15 2003-02-11 Isogon Corporation Computer program profiler
US6415378B1 (en) * 1999-06-30 2002-07-02 International Business Machines Corporation Method and system for tracking the progress of an instruction in an out-of-order processor
AU6615600A (en) 1999-07-29 2001-02-19 Foxboro Company, The Methods and apparatus for object-based process control
US6675374B2 (en) 1999-10-12 2004-01-06 Hewlett-Packard Development Company, L.P. Insertion of prefetch instructions into computer program code
US6550002B1 (en) 1999-11-04 2003-04-15 International Business Machines Corporation Method and system for detecting a flush of an instruction without a flush indicator
US6574727B1 (en) 1999-11-04 2003-06-03 International Business Machines Corporation Method and apparatus for instruction sampling for performance monitoring and debug
US6631463B1 (en) 1999-11-08 2003-10-07 International Business Machines Corporation Method and apparatus for patching problematic instructions in a microprocessor using software interrupts
US6539502B1 (en) 1999-11-08 2003-03-25 International Business Machines Corporation Method and apparatus for identifying instructions for performance monitoring in a microprocessor
US6681387B1 (en) 1999-12-01 2004-01-20 Board Of Trustees Of The University Of Illinois Method and apparatus for instruction execution hot spot detection and monitoring in a data processing unit
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US6748522B1 (en) * 2000-10-31 2004-06-08 International Business Machines Corporation Performance monitoring based on instruction sampling in a microprocessor
US7093236B2 (en) * 2001-02-01 2006-08-15 Arm Limited Tracing out-of-order data
US7093108B2 (en) * 2001-02-01 2006-08-15 Arm Limited Apparatus and method for efficiently incorporating instruction set information with instruction addresses
US7032134B2 (en) * 2001-03-28 2006-04-18 Intel Corporation Microprocessor design support for computer system and platform validation
WO2003089995A2 (en) 2002-04-15 2003-10-30 Invensys Systems, Inc. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
US20050070265A1 (en) * 2003-09-29 2005-03-31 Nokia Corporation Method, terminal device and system for remote initiation of network applications within mobile communication environment
US7373637B2 (en) 2003-09-30 2008-05-13 International Business Machines Corporation Method and apparatus for counting instruction and memory location ranges
US20050071609A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically take an exception on specified instructions
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US20050071611A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for counting data accesses and instruction executions that exceed a threshold
US20050071610A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for debug support for individual instructions and memory locations
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
US20050071608A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for selectively counting instructions and data accesses
US20050071816A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically count instruction execution for applications
US7421681B2 (en) 2003-10-09 2008-09-02 International Business Machines Corporation Method and system for autonomic monitoring of semaphore operation in an application
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7526757B2 (en) 2004-01-14 2009-04-28 International Business Machines Corporation Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
US7082486B2 (en) * 2004-01-14 2006-07-25 International Business Machines Corporation Method and apparatus for counting interrupts by type
US7392370B2 (en) 2004-01-14 2008-06-24 International Business Machines Corporation Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics
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
US7197586B2 (en) * 2004-01-14 2007-03-27 International Business Machines Corporation Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler
US7284158B2 (en) * 2004-02-10 2007-10-16 International Business Machines Corporation Processor bus for performance monitoring with digests
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7421684B2 (en) 2004-03-22 2008-09-02 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for data coverage
US7389502B2 (en) * 2004-03-31 2008-06-17 Intel Corporation Program phase detection for dynamic optimization
US20060119075A1 (en) * 2004-12-03 2006-06-08 Sharon Chen Trailer ball and production thereof
US7457931B1 (en) * 2005-06-01 2008-11-25 Sun Microsystems, Inc. Method and apparatus for estimating the effect of processor cache memory bus delays on multithreaded processor throughput
US7363450B1 (en) 2005-06-01 2008-04-22 Sun Microsystems, Inc. Method and apparatus for estimating multithreaded processor throughput based on processor cache performance
US7860857B2 (en) * 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US20080140993A1 (en) * 2006-12-08 2008-06-12 Advanced Micro Devices, Inc. Fetch engine monitoring device and method thereof
US20080141008A1 (en) * 2006-12-08 2008-06-12 Advanced Micro Devices, Inc. Execution engine monitoring device and method thereof
US20080141002A1 (en) * 2006-12-08 2008-06-12 Advanced Micro Devices, Inc. Instruction pipeline monitoring device and method thereof
US7870438B2 (en) * 2008-02-15 2011-01-11 International Business Machines Corporation Method, system and computer program product for sampling computer system performance data
US7881906B2 (en) * 2008-02-15 2011-02-01 International Business Machines Corporation Method, system and computer program product for event-based sampling to monitor computer system performance
EP2304536A4 (en) 2008-06-20 2012-08-15 Invensys Sys Inc SYSTEMS AND METHOD FOR IMMERSIBLE INTERACTION WITH ACTUAL AND / OR SIMULATED DEVICES FOR PROCESS, ENVIRONMENTAL AND INDUSTRIAL CONTROL
US20100008464A1 (en) * 2008-07-11 2010-01-14 Infineon Technologies Ag System profiling
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US20120084537A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation System and method for execution based filtering of instructions of a processor to manage dynamic code optimization
US9158660B2 (en) 2012-03-16 2015-10-13 International Business Machines Corporation Controlling operation of a run-time instrumentation facility
US9405541B2 (en) 2012-03-16 2016-08-02 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US9280447B2 (en) 2012-03-16 2016-03-08 International Business Machines Corporation Modifying run-time-instrumentation controls from a lesser-privileged state
US9454462B2 (en) 2012-03-16 2016-09-27 International Business Machines Corporation Run-time instrumentation monitoring for processor characteristic changes
US9250902B2 (en) 2012-03-16 2016-02-02 International Business Machines Corporation Determining the status of run-time-instrumentation controls
US9483268B2 (en) 2012-03-16 2016-11-01 International Business Machines Corporation Hardware based run-time instrumentation facility for managed run-times
US9442824B2 (en) 2012-03-16 2016-09-13 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event
US9430238B2 (en) 2012-03-16 2016-08-30 International Business Machines Corporation Run-time-instrumentation controls emit instruction
US9471315B2 (en) 2012-03-16 2016-10-18 International Business Machines Corporation Run-time instrumentation reporting
US9411591B2 (en) 2012-03-16 2016-08-09 International Business Machines Corporation Run-time instrumentation sampling in transactional-execution mode
US9367316B2 (en) 2012-03-16 2016-06-14 International Business Machines Corporation Run-time instrumentation indirect sampling by instruction operation code
US9465716B2 (en) * 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9916161B2 (en) * 2015-06-25 2018-03-13 Intel Corporation Instruction and logic for tracking fetch performance bottlenecks
US9727395B2 (en) * 2015-07-01 2017-08-08 International Business Machines Corporation Robust and adaptable management of event counters
GB2595303B (en) * 2020-05-22 2024-04-17 Advanced Risc Mach Ltd Profiling of sampled operations processed by processing circuitry

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62279438A (ja) * 1986-05-29 1987-12-04 Mitsubishi Electric Corp トレ−ス回路
JPH02100146A (ja) * 1988-10-06 1990-04-12 Fujitsu Ltd トレース決定方式
JPH02176834A (ja) * 1988-12-27 1990-07-10 Nec Eng Ltd プログラムロジックの自己監視方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
JPS5886648A (ja) * 1981-11-18 1983-05-24 Mitsubishi Electric Corp トレ−ス装置
US4598364A (en) * 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
US4590550A (en) * 1983-06-29 1986-05-20 International Business Machines Corporation Internally distributed monitoring system
US4707834A (en) * 1985-09-17 1987-11-17 Tektronix, Inc. Computer-based instrument system
US4722049A (en) * 1985-10-11 1988-01-26 Unisys Corporation Apparatus for out-of-order program execution
JPH0731615B2 (ja) * 1986-04-18 1995-04-10 日本電気株式会社 情報処理装置
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
US4991090A (en) * 1987-05-18 1991-02-05 International Business Machines Corporation Posting out-of-sequence fetches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62279438A (ja) * 1986-05-29 1987-12-04 Mitsubishi Electric Corp トレ−ス回路
JPH02100146A (ja) * 1988-10-06 1990-04-12 Fujitsu Ltd トレース決定方式
JPH02176834A (ja) * 1988-12-27 1990-07-10 Nec Eng Ltd プログラムロジックの自己監視方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003531436A (ja) * 2000-04-11 2003-10-21 アナログ デバイセス インコーポレーテッド 非侵入式アプリケーション・コード・プロファイリングの方法および装置
JP2019506670A (ja) * 2016-01-21 2019-03-07 エイアールエム リミテッド アドレス変換レイテンシの測定

Also Published As

Publication number Publication date
JPH0816878B2 (ja) 1996-02-21
EP0465765A2 (en) 1992-01-15
US5151981A (en) 1992-09-29
EP0465765A3 (en) 1992-11-19

Similar Documents

Publication Publication Date Title
JPH04233637A (ja) 命令サンプリング計測のための装置および方法
US20060005083A1 (en) Performance count tracing
KR100390610B1 (ko) 추론적인 프로세서에서 비-추론적인 이벤트들을카운트하기 위한 방법, 및 시스템
KR100280732B1 (ko) 데이터처리시스템의성능모니터링방법및장치
US5608866A (en) System for measuring and analyzing operation of information processor
US5675729A (en) Method and apparatus for performing on-chip measurement on a component
US4821178A (en) Internal performance monitoring by event sampling
US5835702A (en) Performance monitor
US8615619B2 (en) Qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US6519310B2 (en) Hardware event based flow control of counters
US10140216B2 (en) Measuring address translation latency
JPS6010358A (ja) 内部分散型システム計測監視装置
US7480833B2 (en) Method and system for performing a hardware trace
US6539502B1 (en) Method and apparatus for identifying instructions for performance monitoring in a microprocessor
US20060242517A1 (en) Monitoring a data processor to detect abnormal operation
JP2008513875A (ja) 非侵入的追跡を行う方法及び装置
WO1999057640A1 (en) Non-intrusive performance monitoring
US10169187B2 (en) Processor core having a saturating event counter for making performance measurements
US20060212263A1 (en) Derivative performance counter mechanism
US6550002B1 (en) Method and system for detecting a flush of an instruction without a flush indicator
JP2775830B2 (ja) 命令頻度測定方式
JPH05346870A (ja) ディジタルコンピュータシステム
JPH07210427A (ja) メモリアクセス監視装置およびメモリアクセス監視方法
JPS62264343A (ja) 動作情報履歴と性能測定情報との蓄積装置