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

名称

pmc.corei7ucIntel Core i7 との Xeon 5500 ファミリ CPU のための uncore 測定イベント

ライブラリ

Performance Counters Library (libpmc, -lpmc)

書式

#include < pmc.h>

解説

Intel Core i7 CPU は、 Intel 性能測定アーキテクチャのバージョン 2 に準拠した PMC を含んでいます。これらの CPU は、2 つのクラスの PMC を含んでいます:
PMC_CLASS_UCF
1 つのカウンタごとに 1 つのハードウェアイベントだけカウントする固定関数カウンタ。
PMC_CLASS_UCP
定義されたハードウェアイベントのセットの 1 つをカウントするために設定されるプログラマブルカウンタ。

各クラスで利用可能な PMC の数とそれらの幅は、 pmc_cpuinfo(3) を呼び出すことによって実行時に決定される必要があります。

Intel Core i7 と Xeon 5500 PMC は、次に文書化されています。 Volume 3B: System Programming Guide, Part 2, Intel(R) 64 and IA-32 Architectures Software Developes Manual, Order Number: 253669-033US, Intel Corporation, December 2009.

COREI7 と XEON 5500 UNCORE 固定関数 PMC

これらの PMC とそれらのサポートイベントは、 pmc.ucf(3) に文書化されています。

COREI7 と XEON 5500 UNCORE プログラマブル PMC

プログラマブル PMC は、次のケーパビリティをサポートしています:
Capability Support
PMC_CAP_CASCADE No
PMC_CAP_EDGE Yes
PMC_CAP_INTERRUPT No
PMC_CAP_INVERT Yes
PMC_CAP_READ Yes
PMC_CAP_PRECISE No
PMC_CAP_SYSTEM No
PMC_CAP_TAGGING No
PMC_CAP_THRESHOLD Yes
PMC_CAP_USER No
PMC_CAP_WRITE Yes

イベント修飾子

これらの PMC のためのイベント指定子は、次の共通の修飾子をサポートしています:
cmask= value
1 つのサイクルで測定される設定されたイベントの数が、 value 以上の場合のみ、増加するように PMC を設定します。
edge
他の修飾子によって表現された状態のアサートされた遷移をアサート停止する数をカウントするように PMC を設定します。指定されているなら、状態が真のままで残っている間クロックの数にかかわらず、状態が真になるときはいつも、カウンタは一度だけ増加します。
inv
cmask”修飾子が存在しているとき、比較の意味を逆にし、サイクルごとのイベントの数が、“ cmask”修飾子によって指定された値より小さいときに、カウンタを増加します。

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

Core i7 と Xeon 5500 uncore プログラマブル PMC は、次のイベントをサポートします:
GQ_CYCLES_FULL.READ_TRACKER
(Event 00H, Umask 01H) Uncore サイクル Global Queue 読み込みトラッカがフルです。
GQ_CYCLES_FULL.WRITE_TRACKER
(Event 00H, Umask 02H) Uncore サイクル Global Queue 書き込みトラッカがフルです。
GQ_CYCLES_FULL.PEER_PROBE_TRACKER
(Event 00H, Umask 04H) Uncore サイクル Global Queue プローブ (probe) トラッカがフルです。ピアプローブトラッカキューは、IOH とリモートソケットから snoop を追跡します。
GQ_CYCLES_NOT_EMPTY.READ_TRACKER
(Event 01H, Umask 01H) Uncore サイクル Global Queue 読み込みトラッカには、少なくとも 1 つの有効なエントリがあります。
GQ_CYCLES_NOT_EMPTY.WRITE_TRACKER
(Event 01H, Umask 02H) Uncore サイクル Global Queue 書き込みトラッカには、少なくとも 1 つの有効なエントリがあります。
GQ_CYCLES_NOT_EMPTY.PEER_PROBE_TRACKER
(Event 01H, Umask 04H) Uncore サイクル Global Queue ピアプローブトラッカには、少なくとも 1 つの有効なエントリがあります。ピアプローブトラッカキューは、IOH とリモートソケットから snoop を追跡します。
GQ_ALLOC.READ_TRACKER
(Event 03H, Umask 01H) エントリを割り付け解放するために割り付けられた tread トラッカの数をカウントします。占有カウントを割り付け解放するために割り付けられた GQ 読み込みトラッカは、平均読み込みトラッカのレイテンシを取得するために、カウントによって、割り算されます。
GQ_ALLOC.RT_L3_MISS
(Event 03H, Umask 02H) フルキャッシュ線読み込みが、L3 をミスした GQ 読み込みトラッカのエントリの数をカウントします。占有カウントを満たすための GQ 読み込みトラッカ L3 ミスは、平均キャッシュ線読み込み L3 ミスのレイテンシを取得するためにこのカウントによって割り算されます。レイテンシは、L3 がキャッシュ線がミスされたことを決定した後の時間を表します。 GQ 読み込みトラッカ割り付けとキャッシュ線がミスされたことを決定する L3 の間の時間は、平均した L3 ヒットレイテンシです。合計の L3 キャッシュ線読み込みミスレイテンシは、ヒットレイテンシ + L3 ミスレイテンシです。
GQ_ALLOC.RT_TO_L3_RESP
(Event 03H, Umask 04H) L3 をヒットするか、またはミスする読み込みトラッカキューに割り付けられる GQ 読み込みトラッカエントリの数をカウントします。 GQ 読み込みトラッカ L3 ヒット占有カウントは、平均 L3 ヒットレイテンシを取得するために、このカウントによって割り算されます。
GQ_ALLOC.RT_TO_RTID_ACQUIRED
(Event 03H, Umask 08H) L3 でミスされ、Request Transaction ID を獲得できなかった、読み込みトラッカキューに割り付けられる GQ 読み込みトラッカエントリの数をカウントします。 RTID 獲得占有カウントへの GQ 読み込みトラッカ L3 ミスは、 RTID を獲得する読み込み L3 ミスのための平均レイテンシを取得するためにこのカウントによって割り算されます。
GQ_ALLOC.WT_TO_RTID_ACQUIRED
(Event 03H, Umask 10H) L3 でミスされ、Request Transaction ID を獲得できなかった、書き込みトラッカに割り付けられる GQ 書き込みトラッカエントリの数をカウントします。 RTID 占有カウントへの GQ 書き込みトラッカ L3 ミスは、 RTID を獲得する書き込み L3 ミスのための平均レイテンシを獲得するためにこのカウントによって割り算されます。
GQ_ALLOC.WRITE_TRACKER
(Event 03H, Umask 20H) L3 をミスした書き込みトラッカキューに割り当てられる GQ 書き込みトラッカエントリの数をカウントします。 GQ 書き込みトラッカ占有カウントは、平均 L3 書き込みミスレイテンシを獲得するために、このカウントによって割り算されます。
GQ_ALLOC.PEER_PROBE_TRACKER
(Event 03H, Umask 40H) L3 をミスしたピアプローブトラッカキューに割り当てられる GQ ピアプローブトラッカ (snoop) エントリの数をカウントします。 GQ ピアプローブ占有カウントは、平均 L3 ピアプローブミスレイテンシを獲得するために、このカウントによって割り算されます。
GQ_DATA.FROM_QPI
(Event 04H, Umask 01H) Cycles Global Queue Quickpath Interface 入力データポートは、 Quickpath Interface からのインポートデータでビジーです。入力ポートの各サイクルは、8 バイトまたは 16 バイトのデータを転送することができます。
GQ_DATA.FROM_QMC
(Event 04H, Umask 02H) Cycles Global Queue Quickpath Memory Interface 入力データポートは、 Quickpath Memory Interface からのインポートデータでビジーです。入力ポートの各サイクルは、8 バイトまたは 16 バイトのデータを転送することができます。
GQ_DATA.FROM_L3
(Event 04H, Umask 04H) Cycles GQ L3 入力データポートは、Last Level Cache からのインポートデータでビジーです。入力ポートの各サイクルは、32 バイトのデータを転送することができます。
GQ_DATA.FROM_CORES_02
(Event 04H, Umask 08H) Cycles GQ Core 0 と 2 入力データポートは、プロセッサコア 0 と 2 からのインポートデータでビジーです。入力ポートの各サイクルは、32 バイトのデータを転送することができます。
GQ_DATA.FROM_CORES_13
(Event 04H, Umask 10H) Cycles GQ Core 1 と 3 入力データポートは、プロセッサコア 1 と 3 からのインポートデータでビジーです。入力ポートの各サイクルは、32 バイトのデータを転送することができます。
GQ_DATA.TO_QPI_QMC
(Event 05H, Umask 01H) Cycles GQ QPI と QMC 出力ポートは、Quickpath Interface または Quickpath Memory Interface への送信データでビジーです。出力ポートの各サイクルは、32 バイトのデータを転送することができます。
GQ_DATA.TO_L3
(Event 05H, Umask 02H) Cycles GQ L3 出力ポートは、Last Level Cache への送信データでビジーです。出力ポートの各サイクルは、32 バイトのデータを転送することができます。
GQ_DATA.TO_CORES
(Event 05H, Umask 04H) Cycles GQ Core 出力ポートは、Cores への送信データでビジーです。出力ポートの各サイクルは、32 バイトのデータを転送することができます。
SNP_RESP_TO_LOCAL_HOME.I_STATE
(Event 06H, Umask 01H) L3 に参照されるキャッシュ線がないローカルホームへの snoop 応答の数。
SNP_RESP_TO_LOCAL_HOME.S_STATE
(Event 06H, Umask 02H) L3 に S 状態でキャッシュされた参照される線があるローカルホームへの snoop 応答の数。
SNP_RESP_TO_LOCAL_HOME.FWD_S_STATE
(Event 06H, Umask 04H) コードへの応答または L3 に E 状態で参照されたキャッシュ線があるローカルホームへのデータ読み込み snoop の数。 L3 キャッシュ線状態は、S 状態に変更され、線は、S 状態のローカルホームへ転送されます。
SNP_RESP_TO_LOCAL_HOME.FWD_I_STATE
(Event 06H, Umask 08H) L3 に M 状態の参照されたキャッシュ線あるローカルホームへの読み込み無効の snoop の応答の数。 L3 キャッシュ線状態は、無効にされ、線は、M 状態のローカルホームへ転送されます。
SNP_RESP_TO_LOCAL_HOME.CONFLICT
(Event 06H, Umask 10H) ローカルホームに送信される競合 snoop 応答の数。
SNP_RESP_TO_LOCAL_HOME.WB
(Event 06H, Umask 20H) コードまたは L3 に M 状態の参照されたキャッシュ線あるローカルホームへのデータ読み込み snoop の応答の数。
SNP_RESP_TO_REMOTE_HOME.I_STATE
(Event 07H, Umask 01H) L3 に参照されたキャッシュ線がないリモートホームへの snoop 応答の数。
SNP_RESP_TO_REMOTE_HOME.S_STATE
(Event 07H, Umask 02H) L3 に S 状態のキャッシュされた参照された線があるリモートホームへの snoop 応答の数。
SNP_RESP_TO_REMOTE_HOME.FWD_S_STATE
(Event 07H, Umask 04H) コードまたは L3 に E 状態の参照されたキャッシュ線があるリモートホームへのデータ読み込み snoop の応答の数。 L3 キャッシュ線状態は、S 状態に変更され、線は、S 状態のリモートホームへ転送されます。
SNP_RESP_TO_REMOTE_HOME.FWD_I_STATE
(Event 07H, Umask 08H) L3 に M 状態の参照されたキャッシュ線があるリモートホームへの読み込み無効の snoop の応答の数。 L3 キャッシュ線状態は、無効にされ、線は、M 状態のリモートホームへ転送されます。
SNP_RESP_TO_REMOTE_HOME.CONFLICT
(Event 07H, Umask 10H) ローカルホームに送信される競合 snoop 応答の数。
SNP_RESP_TO_REMOTE_HOME.WB
(Event 07H, Umask 20H) コードまたは L3 に M 状態の参照されたキャッシュ線があるリモートホームへのデータ読み込み snoop の応答の数。
SNP_RESP_TO_REMOTE_HOME.HITM
(Event 07H, Umask 24H) リモートホームへの HITM snoop 応答の数。
L3_HITS.READ
(Event 08H, Umask 01H) L3 でヒットするコード読み込み、データ読み込みと RFO 要求の数。
L3_HITS.WRITE
(Event 08H, Umask 02H) L3 でヒットする書き戻し (writeback) 要求の数。 cores からの書き戻しは、常に L3 の包括的なプロパティのための L3 ヒットの結果となります。
L3_HITS.PROBE
(Event 08H, Umask 04H) L3 でヒットする IOH からの snoop またはリモートソケットの数。
L3_HITS.ANY
(Event 08H, Umask 03H) L3 でヒットする読み込みと書き込みの数。
L3_MISS.READ
(Event 09H, Umask 01H) L3 をミスするコード読み込み、データ読み込みと RFO 要求の数。
L3_MISS.WRITE
(Event 09H, Umask 02H) L3 をミスする書き戻し (writeback) 要求の数。 core からの書き戻しのように常に 0 であれば、常に L3 の包括的なプロパティのための L3 ヒットの結果となります。
L3_MISS.PROBE
(Event 09H, Umask 04H) L3 をミスする IOH からの snoop またはリモートソケットの数。
L3_MISS.ANY
(Event 09H, Umask 03H) L3 をミスする読み込みと書き込みの数。
L3_LINES_IN.M_STATE
(Event 0AH, Umask 01H) M 状態で割り付けられた L3 線の数をカウントします。線が M 状態で転送されたとき、時間キャッシュ線のみが M 状態で割り付けられ、 Snoop Read Invalidate Own 要求のために転送されます。
L3_LINES_IN.E_STATE
(Event 0AH, Umask 02H) E 状態で割り付けられた L3 線の数をカウントします。
L3_LINES_IN.S_STATE
(Event 0AH, Umask 04H) S 状態で割り付けられた L3 線の数をカウントします。
L3_LINES_IN.F_STATE
(Event 0AH, Umask 08H) F 状態で割り付けられた L3 線の数をカウントします。
L3_LINES_IN.ANY
(Event 0AH, Umask 0FH) 任意の状態で割り付けられた L3 線の数をカウントします。
L3_LINES_OUT.M_STATE
(Event 0BH, Umask 01H) M 状態で犠牲にされた L3 線の数をカウントします。犠牲のキャッシュ線が M 状態であるとき、線は、ローカルか、またはリモートとなることができるホームキャッシュエージェントに書き込まれます。
L3_LINES_OUT.E_STATE
(Event 0BH, Umask 02H) E 状態で犠牲にされた L3 線の数をカウントします。
L3_LINES_OUT.S_STATE
(Event 0BH, Umask 04H) S 状態で犠牲にされた L3 線の数をカウントします。
L3_LINES_OUT.I_STATE
(Event 0BH, Umask 08H) I 状態で犠牲にされた L3 線の数をカウントします。
L3_LINES_OUT.F_STATE
(Event 0BH, Umask 10H) F 状態で犠牲にされた L3 線の数をカウントします。
L3_LINES_OUT.ANY
(Event 0BH, Umask 1FH) 任意の状態で犠牲にされた L3 線の数をカウントします。
QHL_REQUESTS.IOH_READS
(Event 20H, Umask 01H) IOH からの Quickpath Home Logic 読み込み要求の数をカウントします。
QHL_REQUESTS.IOH_WRITES
(Event 20H, Umask 02H) IOH からの Quickpath Home Logic 書き込み要求の数をカウントします。
QHL_REQUESTS.REMOTE_READS
(Event 20H, Umask 04H) リモートソケットからの Quickpath Home Logic 読み込み要求の数をカウントします。
QHL_REQUESTS.REMOTE_WRITES
(Event 20H, Umask 08H) リモートソケットからの Quickpath Home Logic 書き込み要求の数をカウントします。
QHL_REQUESTS.LOCAL_READS
(Event 20H, Umask 10H) ローカルソケットからの Quickpath Home Logic 読み込み要求の数をカウントします。
QHL_REQUESTS.LOCAL_WRITES
(Event 20H, Umask 20H) ローカルソケットからの Quickpath Home Logic 書き込み要求の数をカウントします。
QHL_CYCLES_FULL.IOH
(Event 21H, Umask 01H) IOH がフルである Quickpath Home Logic の uclk サイクルのすべてのエントリをカウントします。
QHL_CYCLES_FULL.REMOTE
(Event 21H, Umask 02H) リモートトラッカがフルである Quickpath Home Logic の uclk サイクルのすべてのエントリをカウントします。
QHL_CYCLES_FULL.LOCAL
(Event 21H, Umask 04H) ローカルトラッカがフルである Quickpath Home Logic の uclk サイクルのすべてのエントリをカウントします。
QHL_CYCLES_NOT_EMPTY.IOH
(Event 22H, Umask 01H) IOH がビジーである Quickpath Home Logic の uclk サイクルのすべてのエントリをカウントします。
QHL_CYCLES_NOT_EMPTY.REMOTE
(Event 22H, Umask 02H) リモートトラッカがビジーである Quickpath Home Logic の uclk サイクルのすべてのエントリをカウントします。
QHL_CYCLES_NOT_EMPTY.LOCAL
(Event 22H, Umask 04H) ローカルトラッカがビジーである Quickpath Home Logic の uclk サイクルのすべてのエントリをカウントします。
QHL_OCCUPANCY.IOH
(Event 23H, Umask 01H) 割り付け解放のために割り付けられた QHL IOH トラッカは、占有を読み込みます。
QHL_OCCUPANCY.REMOTE
(Event 23H, Umask 02H) 割り付け解放のために割り付けられた QHL リモートトラッカは、占有を読み込みます。
QHL_OCCUPANCY.LOCAL
(Event 23H, Umask 04H) 割り付け解放のために割り付けられた QHL ローカルトラッカは、占有を読み込みます。
QHL_ADDRESS_CONFLICTS.2WAY
(Event 24H, Umask 02H) 2 つ競合の最大に会う QHL Active Address Table (AAT) エントリの数をカウントします。 AAT は、競合中である要求を追跡する構造です。要求自体は、ホームトラッカエントリにあります。カウントは、AAT エントリが割り付け解放されるとき、報告されます。
QHL_ADDRESS_CONFLICTS.3WAY
(Event 24H, Umask 04H) 3 つの競合の最大に会う QHL Active Address Table (AAT) エントリの数をカウントします。 AAT は、競合中である要求を追跡する構造です。要求自体は、ホームトラッカエントリにあります。カウントは、AAT エントリが割り付け解放されるとき、報告されます。
QHL_CONFLICT_CYCLES.IOH
(Event 25H, Umask 01H) アドレス競合がある 2 つ以上の要求を含むサイクル Quickpath Home Logic IOH Tracker をカウントします。 3 つの要求の最大は、競合中であるかもしれません。
QHL_CONFLICT_CYCLES.REMOTE
(Event 25H, Umask 02H) アドレス競合がある 2 つ以上の要求を含むサイクル Quickpath Home Logic Remote Tracker をカウントします。 3 つの要求の最大は、競合中であるかもしれません。
QHL_CONFLICT_CYCLES.LOCAL
(Event 25H, Umask 04H) アドレス競合がある 2 つ以上の要求を含むサイクル Quickpath Home Logic Local Tracker をカウントします。 3 つの要求の最大は、競合中であるかもしれません。
QHL_TO_QMC_BYPASS
(Event 26H, Umask 01H) Quickpath Home Logic をバイパスする Quickpath Memory Controller までの数または要求をカウントします。すべてのローカルアクセスがバイパスされるかもしれません。リモート要求において、読み込み専用の要求がバイパスされるかもしれません。
QMC_NORMAL_FULL.READ.CH0
(Event 27H, Umask 01H) DRAM チャネル 0 媒体または低い優先順序のキューのすべての Uncore サイクルエントリは、読み込み要求に占有されます。
QMC_NORMAL_FULL.READ.CH1
(Event 27H, Umask 02H) DRAM チャネル 1 媒体または低い優先順序のキューのすべての Uncore サイクルエントリは、読み込み要求に占有されます。
QMC_NORMAL_FULL.READ.CH2
(Event 27H, Umask 04H) DRAM チャネル 2 媒体または低い優先順序のキューのすべての Uncore サイクルエントリは、読み込み要求に占有されます。
QMC_NORMAL_FULL.WRITE.CH0
(Event 27H, Umask 08H) DRAM チャネル 0 媒体または低い優先順序のキューのすべての Uncore サイクルエントリは、書き込み要求に占有されます。
QMC_NORMAL_FULL.WRITE.CH1
(Event 27H, Umask 10H) DRAM チャネル 1 媒体または低い優先順序のキューのすべての Uncore サイクルエントリは、書き込み要求に占有されます。
QMC_NORMAL_FULL.WRITE.CH2
(Event 27H, Umask 20H) DRAM チャネル 2 媒体または低い優先順序のキューのすべての Uncore サイクルエントリは、書き込み要求に占有されます。
QMC_ISOC_FULL.READ.CH0
(Event 28H, Umask 01H) DRAM チャネル 0 のすべてサイクルエントリをカウントし、高い優先順序のキューは、アイソクロナス読み込み要求に占有されます。
QMC_ISOC_FULL.READ.CH1
(Event 28H, Umask 02H) DRAM チャネル 1 のすべてサイクルエントリをカウントし、高い優先順序のキューは、アイソクロナス読み込み要求に占有されます。
QMC_ISOC_FULL.READ.CH2
(Event 28H, Umask 04H) DRAM チャネル 2 のすべてサイクルエントリをカウントし、高い優先順序のキューは、アイソクロナス読み込み要求に占有されます。
QMC_ISOC_FULL.WRITE.CH0
(Event 28H, Umask 08H) DRAM チャネル 0 のすべてサイクルエントリをカウントし、高い優先順序のキューは、アイソクロナス書き込み要求に占有されます。
QMC_ISOC_FULL.WRITE.CH1
(Event 28H, Umask 10H) DRAM チャネル 1 のすべてサイクルエントリをカウントし、高い優先順序のキューは、アイソクロナス書き込み要求に占有されます。
QMC_ISOC_FULL.WRITE.CH2
(Event 28H, Umask 20H) DRAM チャネル 2 のすべてサイクルエントリをカウントし、高い優先順序のキューは、アイソクロナス書き込み要求に占有されます。
QMC_BUSY.READ.CH0
(Event 29H, Umask 01H) Quickpath Memory Controller には、少なくとも 1 つの DRAM チャネル 0 への未解決の (outstanding) 読み込み要求があるところのサイクルをカウントします。
QMC_BUSY.READ.CH1
(Event 29H, Umask 02H) Quickpath Memory Controller には、少なくとも 1 つの DRAM チャネル 1 への未解決の (outstanding) 読み込み要求があるところのサイクルをカウントします。
QMC_BUSY.READ.CH2
(Event 29H, Umask 04H) Quickpath Memory Controller には、少なくとも 1 つの DRAM チャネル 2 への未解決の (outstanding) 読み込み要求があるところのサイクルをカウントします。
QMC_BUSY.WRITE.CH0
(Event 29H, Umask 08H) Quickpath Memory Controller には、少なくとも 1 つの DRAM チャネル 0 への未解決の (outstanding) 書き込み要求があるところのサイクルをカウントします。
QMC_BUSY.WRITE.CH1
(Event 29H, Umask 10H) Quickpath Memory Controller には、少なくとも 1 つの DRAM チャネル 1 への未解決の (outstanding) 書き込み要求があるところのサイクルをカウントします。
QMC_BUSY.WRITE.CH2
(Event 29H, Umask 20H) Quickpath Memory Controller には、少なくとも 1 つの DRAM チャネル 2 への未解決の (outstanding) 書き込み要求があるところのサイクルをカウントします。
QMC_OCCUPANCY.CH0
(Event 2AH, Umask 01H) IMC チャネル 0 通常読み込み要求占有。
QMC_OCCUPANCY.CH1
(Event 2AH, Umask 02H) IMC チャネル 1 通常読み込み要求占有。
QMC_OCCUPANCY.CH2
(Event 2AH, Umask 04H) IMC チャネル 2 通常読み込み要求占有。
QMC_ISSOC_OCCUPANCY.CH0
(Event 2BH, Umask 01H) IMC チャネル 0 issoc 読み込み要求占有。
QMC_ISSOC_OCCUPANCY.CH1
(Event 2BH, Umask 02H) IMC チャネル 1 issoc 読み込み要求占有。
QMC_ISSOC_OCCUPANCY.CH2
(Event 2BH, Umask 04H) IMC チャネル 2 issoc 読み込み要求占有。
QMC_ISSOC_READS.ANY
(Event 2BH, Umask 07H) IMC issoc 読み込み要求占有。
QMC_NORMAL_READS.CH0
(Event 2CH, Umask 01H) Quickpath Memory Controller チャネル 0 媒体と低い優先順序の読み込み要求の数をカウントします。このカウントによって割り算される QMC チャネル 0 通常読み込み占有は、平均 QMC チャネル 0 読み込みレイテンシを提供します。
QMC_NORMAL_READS.CH1
(Event 2CH, Umask 02H) Quickpath Memory Controller チャネル 1 媒体と低い優先順序の読み込み要求の数をカウントします。このカウントによって割り算される QMC チャネル 1 通常読み込み占有は、平均 QMC チャネル 1 読み込みレイテンシを提供します。
QMC_NORMAL_READS.CH2
(Event 2CH, Umask 04H) Quickpath Memory Controller チャネル 2 媒体と低い優先順序の読み込み要求の数をカウントします。このカウントによって割り算される QMC チャネル 2 通常読み込み占有は、平均 QMC チャネル 2 読み込みレイテンシを提供します。
QMC_NORMAL_READS.ANY
(Event 2CH, Umask 07H) Quickpath Memory Controller 媒体と低い優先順序の読み込み要求の数をカウントします。このカウントによって割り算される QMC 通常読み込み占有は、平均 QMC 読み込みレイテンシを提供します。
QMC_HIGH_PRIORITY_READS.CH0
(Event 2DH, Umask 01H) Quickpath Memory Controller チャネル 0 と高い優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_HIGH_PRIORITY_READS.CH1
(Event 2DH, Umask 02H) Quickpath Memory Controller チャネル 1 と高い優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_HIGH_PRIORITY_READS.CH2
(Event 2DH, Umask 04H) Quickpath Memory Controller チャネル 2 と高い優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_HIGH_PRIORITY_READS.ANY
(Event 2DH, Umask 07H) Quickpath Memory Controller と高い優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_CRITICAL_PRIORITY_READS.CH0
(Event 2EH, Umask 01H) Quickpath Memory Controller チャネル 0 とクリティカル優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_CRITICAL_PRIORITY_READS.CH1
(Event 2EH, Umask 02H) Quickpath Memory Controller チャネル 1 とクリティカル優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_CRITICAL_PRIORITY_READS.CH2
(Event 2EH, Umask 04H) Quickpath Memory Controller チャネル 2 とクリティカル優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_CRITICAL_PRIORITY_READS.ANY
(Event 2EH, Umask 07H) Quickpath Memory Controller とクリティカル優先順序のアイソクロナス読み込み要求の数をカウントします。
QMC_WRITES.FULL.CH0
(Event 2FH, Umask 01H) DRAM チャネル 0 へのフルキャッシュ線書き込みの数をカウントします。
QMC_WRITES.FULL.CH1
(Event 2FH, Umask 02H) DRAM チャネル 1 へのフルキャッシュ線書き込みの数をカウントします。
QMC_WRITES.FULL.CH2
(Event 2FH, Umask 04H) DRAM チャネル 2 へのフルキャッシュ線書き込みの数をカウントします。
QMC_WRITES.FULL.ANY
(Event 2FH, Umask 07H) DRAM へのフルキャッシュ線書き込みの数をカウントします。
QMC_WRITES.PARTIAL.CH0
(Event 2FH, Umask 08H) DRAM チャネル 0 への部分的なキャッシュ線書き込みの数をカウントします。
QMC_WRITES.PARTIAL.CH1
(Event 2FH, Umask 10H) DRAM チャネル 1 への部分的なキャッシュ線書き込みの数をカウントします。
QMC_WRITES.PARTIAL.CH2
(Event 2FH, Umask 20H) DRAM チャネル 2 への部分的なキャッシュ線書き込みの数をカウントします。
QMC_WRITES.PARTIAL.ANY
(Event 2FH, Umask 38H) DRAM への部分的なキャッシュ線書き込みの数をカウントします。
QMC_CANCEL.CH0
(Event 30H, Umask 01H) DRAM チャネル 0 キャンセル要求の数をカウントします。
QMC_CANCEL.CH1
(Event 30H, Umask 02H) DRAM チャネル 1 キャンセル要求の数をカウントします。
QMC_CANCEL.CH2
(Event 30H, Umask 04H) DRAM チャネル 2 キャンセル要求の数をカウントします。
QMC_CANCEL.ANY
(Event 30H, Umask 07H) DRAM キャンセル要求の数をカウントします。
QMC_PRIORITY_UPDATES.CH0
(Event 31H, Umask 01H) DRAM チャネル 0 優先順序アップデートの数をカウントします。 ISOC の高いまたはクリティカルな要求が QHL によって受信され、既に QMC に発行された通常の優先順位があるマッチイング要求があるとき、優先順位のアップデートは起こります。この場合、QHL は、要求を促進するために優先順序アップデートを QMC に送信します。
QMC_PRIORITY_UPDATES.CH1
(Event 31H, Umask 02H) DRAM チャネル 1 優先順序アップデートの数をカウントします。 ISOC の高いまたはクリティカルな要求が QHL によって受信され、既に QMC に発行された通常の優先順位があるマッチイング要求があるとき、優先順位のアップデートは起こります。この場合、QHL は、要求を促進するために優先順序アップデートを QMC に送信します。
QMC_PRIORITY_UPDATES.CH2
(Event 31H, Umask 04H) DRAM チャネル 2 優先順序アップデートの数をカウントします。 ISOC の高いまたはクリティカルな要求が QHL によって受信され、既に QMC に発行された通常の優先順位があるマッチイング要求があるとき、優先順位のアップデートは起こります。この場合、QHL は、要求を促進するために優先順序アップデートを QMC に送信します。
QMC_PRIORITY_UPDATES.ANY
(Event 31H, Umask 07H) DRAM 優先順序アップデートの数をカウントします。 ISOC の高いまたはクリティカルな要求が QHL によって受信され、既に QMC に発行された通常の優先順位があるマッチイング要求があるとき、優先順位のアップデートは起こります。この場合、QHL は、要求を促進するために優先順序アップデートを QMC に送信します。
QHL_FRC_ACK_CNFLTS.LOCAL
(Event 33H, Umask 04H) Quickpath Home Logic によってローカルホームに送信された Force Acknowledge Conflict メッセージの数をカウントします。
QPI_TX_STALLED_SINGLE_FLIT.HOME.LINK_0
(Event 40H, Umask 01H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 HOME バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.SNOOP.LINK_0
(Event 40H, Umask 02H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 SNOOP バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.NDR.LINK_0
(Event 40H, Umask 04H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 データなし応答バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.HOME.LINK_1
(Event 40H, Umask 08H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 HOME バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.SNOOP.LINK_1
(Event 40H, Umask 10H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 SNOOP バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.NDR.LINK_1
(Event 40H, Umask 20H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 データなし応答バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.LINK_0
(Event 40H, Umask 07H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_SINGLE_FLIT.LINK_1
(Event 40H, Umask 38H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.DRS.LINK_0
(Event 41H, Umask 01H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 Data ResponSe バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.NCB.LINK_0
(Event 41H, Umask 02H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 Non-Coherent Bypass バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.NCS.LINK_0
(Event 41H, Umask 04H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 Non-Coherent Standard バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.DRS.LINK_1
(Event 41H, Umask 08H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 Data ResponSe バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.NCB.LINK_1
(Event 41H, Umask 10H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 Non-Coherent Bypass バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.NCS.LINK_1
(Event 41H, Umask 20H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 Non-Coherent Standard バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.LINK_0
(Event 41H, Umask 07H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 0 バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_STALLED_MULTI_FLIT.LINK_1
(Event 41H, Umask 38H) VNA と VN0 クレジットの不足のためにストール (stall) される、サイクル Quickpath アウトバウンドリンク 1 バーチャルチャネルをカウントします。別のバーチャルチャネルが調停されているので、フリット (flit) が調停のために選択されていないとき、このイベントは、フィルタされないことに注意してください。
QPI_TX_HEADER.BUSY.LINK_0
(Event 42H, Umask 02H) Quickpath Interface アウトバウンドリンク 0 のヘッダバッファがビジーであるサイクルの数。
QPI_TX_HEADER.BUSY.LINK_1
(Event 42H, Umask 08H) Quickpath Interface アウトバウンドリンク 1 のヘッダバッファがビジーであるサイクルの数。
QPI_RX_NO_PPT_CREDIT.STALLS.LINK_0
(Event 43H, Umask 01H) GQ Peer Probe Tracker (PPT) には利用可能なエントリがないので、 Quickpath Interface リンク 0 への snoop パケット着信がストール (stall) され、 GQ に送信されない、サイクルの数。
QPI_RX_NO_PPT_CREDIT.STALLS.LINK_1
(Event 43H, Umask 02H) GQ Peer Probe Tracker (PPT) には利用可能なエントリがないので、 Quickpath Interface リンク 1 への snoop パケット着信がストール (stall) され、 GQ に送信されない、サイクルの数。
DRAM_OPEN.CH0
(Event 60H, Umask 01H) 読み込み、または書き込みのいずれかのために発行された DRAM Channel 0 オープンコマンドの数をカウントします。データを読み込むか、または書き込むために、参照された DRAM ページは、最初にオープンされなければなりません。
DRAM_OPEN.CH1
(Event 60H, Umask 02H) 読み込み、または書き込みのいずれかのために発行された DRAM Channel 1 オープンコマンドの数をカウントします。データを読み込むか、または書き込むために、参照された DRAM ページは、最初にオープンされなければなりません。
DRAM_OPEN.CH2
(Event 60H, Umask 04H) 読み込み、または書き込みのいずれかのために発行された DRAM Channel 2 オープンコマンドの数をカウントします。データを読み込むか、または書き込むために、参照された DRAM ページは、最初にオープンされなければなりません。
DRAM_PAGE_CLOSE.CH0
(Event 61H, Umask 01H) ページアイドルタイマの期限切れのために 1 ページを CLOSE するために発行された DRAM チャネル 0 コマンド。 1 つのページをクローズすることは、プリチャージ (precharge) を発行することによって行われます。
DRAM_PAGE_CLOSE.CH1
(Event 61H, Umask 02H) ページアイドルタイマの期限切れのために 1 ページを CLOSE するために発行された DRAM チャネル 1 コマンド。 1 つのページをクローズすることは、プリチャージ (precharge) を発行することによって行われます。
DRAM_PAGE_CLOSE.CH2
(Event 61H, Umask 04H) ページアイドルタイマの期限切れのために 1 ページを CLOSE するために発行された DRAM チャネル 2 コマンド。 1 つのページをクローズすることは、プリチャージ (precharge) を発行することによって行われます。
DRAM_PAGE_MISS.CH0
(Event 62H, Umask 01H) ページミスがあったので、DRAM チャネル 0 に発行されたプリチャージ (precharge) (PRE) の数をカウントします。ページミスは、1 つのページが現在、オープンされている状況を参照し、同じバンクの別のページは、オープンされている必要があります。新しいページは、ページミスに直面します。古いページのクローズは、プリチャージ (precharge) を発行することによって行われます。
DRAM_PAGE_MISS.CH1
(Event 62H, Umask 02H) ページミスがあったので、DRAM チャネル 1 に発行されたプリチャージ (precharge) (PRE) の数をカウントします。ページミスは、1 つのページが現在、オープンされている状況を参照し、同じバンクの別のページは、オープンされている必要があります。新しいページは、ページミスに直面します。古いページのクローズは、プリチャージ (precharge) を発行することによって行われます。
DRAM_PAGE_MISS.CH2
(Event 62H, Umask 04H) ページミスがあったので、DRAM チャネル 2 に発行されたプリチャージ (precharge) (PRE) の数をカウントします。ページミスは、1 つのページが現在、オープンされている状況を参照し、同じバンクの別のページは、オープンされている必要があります。新しいページは、ページミスに直面します。古いページのクローズは、プリチャージ (precharge) を発行することによって行われます。
DRAM_READ_CAS.CH0
(Event 63H, Umask 01H) DRAM チャネル 0 で発行された読み込み CAS コマンドの回数をカウントします。
DRAM_READ_CAS.AUTOPRE_CH0
(Event 63H, Umask 02H) コマンドが、自動プリチャージ (自動ページクローズ) モードを使用して発行された DRAM チャネル 0 で発行された読み込み CAS コマンドの回数をカウントします。
DRAM_READ_CAS.CH1
(Event 63H, Umask 04H) DRAM チャネル 1 で発行された読み込み CAS コマンドの回数をカウントします。
DRAM_READ_CAS.AUTOPRE_CH1
(Event 63H, Umask 08H) コマンドが、自動プリチャージ (自動ページクローズ) モードを使用して発行された DRAM チャネル 1 で発行された読み込み CAS コマンドの回数をカウントします。
DRAM_READ_CAS.CH2
(Event 63H, Umask 10H) DRAM チャネル 2 で発行された読み込み CAS コマンドの回数をカウントします。
DRAM_READ_CAS.AUTOPRE_CH2
(Event 63H, Umask 20H) コマンドが、自動プリチャージ (自動ページクローズ) モードを使用して発行された DRAM チャネル 2 で発行された読み込み CAS コマンドの回数をカウントします。
DRAM_WRITE_CAS.CH0
(Event 64H, Umask 01H) DRAM チャネル 0 で発行された書き込み CAS コマンドの回数をカウントします。
DRAM_WRITE_CAS.AUTOPRE_CH0
(Event 64H, Umask 02H) コマンドが、自動プリチャージ (自動ページクローズ) モードを使用して発行された DRAM チャネル 0 で発行された書き込み CAS コマンドの回数をカウントします。
DRAM_WRITE_CAS.CH1
(Event 64H, Umask 04H) DRAM チャネル 1 で発行された書き込み CAS コマンドの回数をカウントします。
DRAM_WRITE_CAS.AUTOPRE_CH1
(Event 64H, Umask 08H) コマンドが、自動プリチャージ (自動ページクローズ) モードを使用して発行された DRAM チャネル 1 で発行された書き込み CAS コマンドの回数をカウントします。
DRAM_WRITE_CAS.CH2
(Event 64H, Umask 10H) DRAM チャネル 2 で発行された書き込み CAS コマンドの回数をカウントします。
DRAM_WRITE_CAS.AUTOPRE_CH2
(Event 64H, Umask 20H) コマンドが、自動プリチャージ (自動ページクローズ) モードを使用して発行された DRAM チャネル 2 で発行された書き込み CAS コマンドの回数をカウントします。
DRAM_REFRESH.CH0
(Event 65H, Umask 01H) DRAM チャネル 0 のリフレッシュ (refresh) コマンドの数をカウントします。 DRAM は、時間がたてば、データの内容を失います。データの内容を正しく保つために、データ値は、一定期間ごとにリフレッシュされなければなりません。
DRAM_REFRESH.CH1
(Event 65H, Umask 02H) DRAM チャネル 1 のリフレッシュ (refresh) コマンドの数をカウントします。 DRAM は、時間がたてば、データの内容を失います。データの内容を正しく保つために、データ値は、一定期間ごとにリフレッシュされなければなりません。
DRAM_REFRESH.CH2
(Event 65H, Umask 04H) DRAM チャネル 2 リフレッシュコマンドの数を数えます。 DRAM は、時間がたてば、データの内容を失います。データの内容を正しく保つために、データ値は、一定期間ごとにリフレッシュされなければなりません。
DRAM_PRE_ALL.CH0
(Event 66H, Umask 01H) ランク内のすべてのオープンされているページをクローズする DRAM DRAM Channel 0 プリチャージ-all (PREALL) コマンドの数をカウントします。 PREALL は、DRAM が、リフレッシュされる必要があるか、または電源切断モードに入る必要があるとき、発行されます。
DRAM_PRE_ALL.CH1
(Event 66H, Umask 02H) ランク内のすべてのオープンされているページをクローズする DRAM DRAM Channel 1 プリチャージ-all (PREALL) コマンドの数をカウントします。 PREALL は、DRAM が、リフレッシュされる必要があるか、または電源切断モードに入る必要があるとき、発行されます。
DRAM_PRE_ALL.CH2
(Event 66H, Umask 04H) ランク内のすべてのオープンされているページをクローズする DRAM DRAM Channel 2 プリチャージ-all (PREALL) コマンドの数をカウントします。 PREALL は、DRAM が、リフレッシュされる必要があるか、または電源切断モードに入る必要があるとき、発行されます。

歴史

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

作者

Performance Counters Library (libpmc, -lpmc) ライブラリは、 Joseph Koshy <jkoshy@FreeBSD.org>によって書かれました。
March 24, 2010 FreeBSD