EN JA
PMC.OCTEON(3)
PMC.OCTEON(3) FreeBSD Library Functions Manual PMC.OCTEON(3)

名称

pmc.octeonOcteon ファミリ CPU のための測定イベント

ライブラリ

Performance Counters Library (libpmc, -lpmc)

書式

#include < pmc.h>

解説

各々 64 ビットの幅がある、ハードウェアによってサポートされたコア毎に 2 つのカウンタがあります。

イベント指定子 (プログラマブル PMC)

Octeon プログラマブル PMC は、次のイベントをサポートします:
CLK
(Event 1) (クロックなしでさえカウントする count/cvm_count とは対照的に) 条件付きでクロック測定されるサイクル
ISSUE
(Event 2) 発行された命令だが、リタイア (retire) されなかった
RET
(Event 3) リタイア (retire) された命令
NISSUE
(Event 4) 発行されないサイクル
SISSUE
(Event 5) 単一の発行のサイクル
DISSUE
(Event 6) 2 重の発行のサイクル
IFI
(Event 7) 発行された ifetch サイクル (しかし、pp_mem に必ずしもコミットされない)
BR
(Event 8) リタイア (retire) された分岐
BRMIS
(Event 9) 予測ミスされた分岐
J
(Event 10) リタイア (retire) されたジャンプ
JMIS
(Event 11) 予測ミスされたジャンプ
REPLAY
(Event 12) Mem Replay (Mem 再生)
IUNA
(Event 13) unaligned_replays のためのアイドルのサイクル
TRAP
(Event 14) trap_6a シグナル
UULOAD
(Event 16) 予期されない整列されないロード (REPUN=1);
UUSTORE
(Event 17) 予期されない整列されない格納 (REPUN=1)
ULOAD
(Event 18) 整列されないロード (REPUN=1 または USEUN=1)
USTORE
(Event 19) 整列されない格納 (REPUN=1 または USEUN=1)
EC
(Event 20) exec クロック (正確なタイミングのために CvmCtl[DISCE] を設定されなければならない)
MC
(Event 21) mul クロック (正確なタイミングのために CvmCtl[DISCE] を設定されなければならない)
CC
(Event 22) 暗号クロック (正確なタイミングのために CvmCtl[DISCE] を設定されなければならない)
CSRC
(Event 23) issue_csr クロック (正確なタイミングのために CvmCtl[DISCE] を設定されなければならない)
CFETCH
(Event 24) icache コミットされたフェッチ (demand+prefetch)
CPREF
(Event 25) icache コミットされたプリフェッチ
ICA
(Event 26) icache 別名
II
(Event 27) icache 無効
IP
(Event 28) icache パリティエラー
CIMISS
(Event 29) imiss のためのサイクル (正確なタイミングのために CvmCtl[DISCE] を設定されなければならない)
WBUF
(Event 32) 作成された書き込みバッファエントリの数
WDAT
(Event 33) 使用された書き込みバッファデータサイクルの数 (正確な計算のために CvmCtl[DISCE] を設定する必要があるかもしれない)
WBUFLD
(Event 34) ロードによってフォースアウト (forced out) された書き込みバッファエントリの数
WBUFFL
(Event 35) 書き込みバッファエントリを利用可能でないサイクルの数 (正確な計算のために CvmCtl[DISCE] と CvmMemCtl[MCLK] を設定する必要があるかもしれない)
WBUFTR
(Event 36) 書き込みバッファエントリを利用可能でないことを見つけた格納の数
BADD
(Event 37) 使用されるアドレスバスサイクルの数 (正確な計算のために CvmCtl[DISCE] を設定する必要があるかもしれない)
BADDL2
(Event 38) 反映されないアドレスバスサイクルの数 (すなわち、L2 に向かうことになっている) (正確な計算のために CvmCtl[DISCE] を設定する必要があるかもしれない)
BFILL
(Event 39) 使用される満たされたバスサイクルの数 (正確な計算のために CvmCtl[DISCE] を設定する必要があるかもしれない)
DDIDS
(Event 40) 作成された Dstream DID の数
IDIDS
(Event 41) 作成された Istream DID の数
DIDNA
(Event 42) DID が利用可能でないサイクルの数 (正確な計算のために CvmCtl[DISCE] と CvmMemCtl[MCLK] を設定する必要があるかもしれない)
LDS
(Event 43) 発行されたロードの数
LMLDS
(Event 44) ローカルメモリロードの数
IOLDS
(Event 45) 発行された I/O ロードの数
DMLDS
(Event 46) キャッシュのプリフェッチでない、失敗したロードの数
STS
(Event 48) 発行された格納の数
LMSTS
(Event 49) 発行されたローカルメモリ格納の数
IOSTS
(Event 50) 発行された I/O 格納の数
IOBDMA
(Event 51) IOBDMA の数
DTLB
(Event 53) dstream TLB 詰め替え、不正または修正された例外の数
DTLBAD
(Event 54) dstream TLB アドレスエラーの数
ITLB
(Event 55) istream TLB 詰め替え、不正またはアドレスエラー例外の数
SYNC
(Event 56) SYNC ストールサイクルの数 (正確な計算のために CvmCtl[DISCE] を設定する必要があるかもしれない)
SYNCIOB
(Event 57) SYNCIOBDMA ストールサイクルの数 (正確な計算のために CvmCtl[DISCE] を設定する必要があるかもしれない)
SYNCW
(Event 58) SYNCW の数
ERETMIS
(Event 64) D/eret 予測ミス (CN63XX 特有)
LIKMIS
(Event 65) 予測ミスと思われる分岐 (CN63XX 特有)
HAZTR
(Event 66) CvmCtl、Perf カウンタ制御、EntryHi または CvmMemCtl 登録 (CN63XX 特有) への *MTC0 のためのハザードトラップ

イベント名の別名

次のテーブルは、 Performance Counters Library (libpmc, -lpmc) と使用される基本的なハードウェアイベントによってサポートされた PMC から独立している別名の間のマッピングを表示しています。
Alias Event
instructions RET
branches BR
branch-mispredicts BS

歴史

pmc ライブラリは、 FreeBSD 6.0 ではじめて登場しました。

作者

Performance Counters Library (libpmc, -lpmc) ライブラリは、 Joseph Koshy <jkoshy@FreeBSD.org>によって書かれました。 Octeon のサポートは、 George Neville-Neil <gnn@FreeBSD.org>によって追加されました。
March 24, 2012 FreeBSD