Sel_pipe_drain_cycles,
Sel_0_[wait|ready],
Sel_[1|2] |
|
Sel_0_wait は、ストランドが選択されるのを待つサイクルをカウントします。いくつかの理由を、詳細にカウントすることができ、以下のとおりです。
- Sel_0_ready: ストランドの準備はできていましたが、選択されなかったサイクルで、パイプラインが募集枠を超える応募であったことを示しています
- Sel_pipe_drain_cycles: スレッドが、分岐予測ミスの後に、予測ミスを解決するために命令パスが修正されるのを待っているサイクル
- Sel_1,2 どのくらいの頻度でひとつのストランドが、1つまたは2つの μOP を選択したかのカウント
|
Pick_any, Pick_[0|1|2|3] |
|
1, 2, 3, 0 または、少なくとも一つの命令または μOP が、pick されているサイクル |
Instr_FGU_crypto, Instr_ld,
Instr_st, SPR_ring_ops, Instr_other |
PAPI_fp_ins, PAPI_ld_ins,
PAPI_sr_ins |
ストランドで実行命されたタイプ別の命令数 |
Instr_all |
PAPI_tot_ins |
ストランドで実行された命令の総数 |
Sw_count_intr |
|
vcpu 上の S/W 命令数(sethi %hi(fc000),%g0 (それが何であれ)) |
Atomics |
|
アトミック操作(LDSTUB[load and store unsigned byte], CASA/CASXA, SWAP) の数 |
SW_prefetch |
|
PREFETCH または PREFETCHA 命令の数 |
Block_ld_st |
|
vcpu 上の Block load または store |
IC_miss,
IC_miss_L2_L3_hit,
IC_miss_local_remote_remL3_hit |
PAPI_l1_icm |
L2-cache または L3-cache のどちらかでのミスで廃棄された、I-cache プリフェッチ。このバリアントは、原因の命令をコミットするかどうかに関係なく、ミスをカウントします。 |
IC_miss_nospec,
IC_miss_[L2_L3|local|remote]_hit_nospec |
|
どこで発生したかで区別した様々な I-cache(Instruction Cache: 命令キャッシュ)ミス。スレッドごとの全てのカウントで、唯一の主要なイベント: T4 は、コア上の特定の命令の最初に出現した I-cache ミスだけをカウントします。あるストランドが I-cache でミスする場合、このミスはカウントされますが、一つ目のミスを解決している間に、同じコア上の二つ目のストランドがミスすると、このキャッシュミスはカウントされません。この I-cache ミスの特色は、実際のコミット命令で起こされるミスだけをカウントします("_nospec" に注目)。 |
DC_miss
DC_miss_[L2_L3|local|remote_L3]_hit |
PAPI_l1_dcm |
全体的または、どこでヒットしたかの詳細な D-cache ミス。_nospec の説明は、IC_miss を参照。 |
DC_miss_nospec, DC_miss_[L2_L3|local|remote_L3]\
_hit_nospec |
|
全体的または、どこでヒットしたかの詳細な D-cache ミス。_nospec の説明は、IC_miss を参照。 |
BTC_miss |
PAPI_btac_m |
ブランチ・ターゲット・キャッシュのミス。BTB(Branch Target Buffer) とも呼びます。 |
ITLB_miss |
PAPI_tlb_im |
ITLB(Instruction Translation Lookaside Buffer) ミス (同期してカウントされます) |
ITLB_miss_asynch |
|
同上(非同期) |
[I|D]TLB_fill_[8KB|64KB|4MB|256MB|2GB|trap] |
|
対応するページサイズの変換により、ITLB または DTLB を埋める Hardware Tablewalk (HWTW) イベント。
HWTW が、対応する TLB を埋めることができなかった場合、"_trap" イベントが発生します。 |
IC_mtag_miss,
IC_mtag_miss_\
[ptag_hit|ptag_miss|\
ptag_hit_way_mismatch] |
|
I-cache マイクロタグミス。掘り下げるためのいくつかのオプションがあります。 |
Fetch_0, Fetch_0_all |
|
Fetch_0 は、特定のストランドのために、何もフェッチされなかったサイクル数をカウントし、Fetch_0_all は、コア上のすべてのストランドに対して、何もフェッチされなかったサイクル数をカウントします。 |
Instr_buffer_full |
|
フェッチが妨げられていることにより、ストランド用の命令バッファがいっぱいになったサイクル。 |
BTC_targ_incorrect |
|
BTC からの誤った予測分岐ターゲットの発生をカウントします。 |
[PQ|ROB|LB|ROB_LB|SB|\
ROB_SB|LB_SB|RB_LB_SB|\
DTLB_miss]\
_tag_wait |
|
これらのカウンタは、パイプラインの動作を監視します。したがって、ストランド固有ではありません:
- PQ: リネーム·ステージで、ピックキュータグ(シングルスレッドモード用のメモリバインドワークロードを知らせるかもしれない)を待つサイクル
- ROB: セレクト・ステージで、ROB(ReOrderBuffer)タグを待つサイクル
- LB: セレクト・ステージで、Load Buffer タグを待つサイクル
- SB: セレクト・ステージで、Store Buffer タグを待つサイクル
- 上記の組み合わせは許可され、イベントの一部が重複することができる。これらのいずれかが発生した場合、カウンタはサイクルごとに一度にインクリメントされる
- DTLB: ピック・ステージでロードまたはストア命令が DTLB ミスタグを待つサイクル
|
[I|D]TLB_HWTW_\
[L2_hit|L3_hit|L3_miss|all] |
|
DTLB または ITLB ミスのどちらかが原因で発生するHWTWへのアクセスのカウント。どこでヒットしたか、さらに詳細に調査できます。 |
DTLB_miss_asynch |
|
非同期のすべての DTLB ミスのカウント。同期的にそれらをカウントする方法はありません。 |
DC_pref_drop_DC_hit, SW_pref_drop_[DC_hit|buffer_full] |
|
D-cache ヒットが原因でドロップされた、L1-D-cache H/W プリフェッチ。コアごとにカウント。もう一方は、ストランド当たりの S/W プリフェッチのカウント。 |
[Full|Partial]_RAW_hit_st_[buf|q] |
|
まだ格納されていないデータを取得したい load イベントをカウントします。例) パイプラインの内に残っている。データはまだストアバッファまたはストアキューのいずれかの中である可能性があります。データの load が、ストアバッファとストアキューに一致する場合、もちろん若いので、バッファー内のデータが優先されます。 |
[IC|DC]_evict_invalid,
[IC|DC|L1]_snoop_invalid,
[IC|DC|L1]_invalid_all |
|
キャッシュ内に必要なデータを保存し、不要なデータを追い出すことを、キャッシュエビクションと呼びます。
無効になったキャッシュエビクションのコアごとのカウンターです。 |
St_q_tag_wait |
|
パイプラインがストアキュータグを待っているサイクル数。もちろんコアごとのカウント |
Data_pref_[drop_L2|drop_L3|\
hit_L2|hit_L3|\
hit_local|hit_remote] |
|
なぜドロップされたか、どこでヒットしたかの、さらに詳細なデータプリフェッチ |
St_hit_[L2|L3],
St_L2_[local|remote]_C2C,
St_local, St_remote |
|
どこでヒットしたか、またはどこで L2-cache 間転送を引き起こしたかを区別されたストアイベント。例えば、同じダイ上の別 L2-cache から、あるいは異なるダイからの転送のどちらか。 |
L2_[clean|dirty]_evict |
|
コアごとの dirty または clean な L2-cache エビクション。 L2_clean_evict は、命令フェッチのボトルネックを示すことができます: それらは変化しないため、命令は clean と考えることができます。
clean なエビクションの発生が多い場合は、十分に速くフェッチされていない L2-cache から、命令をエビクションしている可能性があります。 |
L2_fill_buf_full,
L2_wb_buf_full,
L2_miss_buf_full |
|
コアあたりの L2-cache バッファイベント。これらのサイクル数は、提供される知られているよい使用がない。 |
L2_pipe_stall |
|
コアあたりの、L2-cache が原因でパイプラインがストールしているサイクル。知られているよい使用がない。 |
Branches |
PAPI_br_cn |
ブランチのカウント(Tcc, DONE, RETRY, SIT はブランチとしてカウントされない) |
Br_taken |
PAPI_br_ins |
ブランチされたカウント(Tcc, DONE, RETRY, SIT はブランチとしてカウントされない) |
Br_mispred,
Br_dir_mispred,
Br_trg_mispred,
Br_trg_mispred_\
[far_tbl|indir_tbl|ret_stk] |
PAPI_br_msp |
さまざまな分岐予測ミスイベントのカウンタ |
Cycles_user |
|
アドレス空間を制御する hpriv, nouser, sys 属性設定のサイクルカウント |
Commit_[0|1|2],
Commit_0_all,
Commit_1_or_2 |
|
ストランドでコミットした、0, 1, または 2 回の µOP の数。Commit_0_all は、コア全体での µOP されていないコミットのカウント。 |