第 9 章 Itanium ® 2 プロセッサ向けの最適化
11.11 システム・バス・イベント
表11-30は、システム・バス・トランザクション・モニタについてまとめたものである。表に示し
たバス・イベントの多くは、イニシエータによってイベントを制限するumaskを使用する。特に 断りのない限り、すべてのバス・イベントで「1サイクル当たり」と表現するときは、バス・ク ロック・サイクルではなく、CPUクロック・サイクルを意味するものとする。表11-31には、多 数の派生イベントが含まれている。
表 11-30. システム・バス・イベントのパフォーマンス・モニタ
シンボル名 イベント・
コード I A R
D A R
O P C
最大 インクリ
メント/ サイクル
説明
BUS_ALL 0x87 N N N 1 バス・トランザクション
BUS_BRQ_LIVE_REQ_HI 0x9c N N N 2 BRQライブ要求(5ビットの未処理
BRQ要求カウントの最上位2ビット)
BUS_BRQ_LIVE_REQ_LO 0x9b N N N 7 BRQライブ要求(5ビットの未処理
BRQ要求カウントの最下位3ビット)
BUS_BRQ_REQ_INSERTED 0x9d N N N 1 挿入されたBRQ要求
BUS_DATA_CYCLE 0x88 N N N 1 バス上の有効なデータ・サイクル
BUS_HITM 0x84 N N N 1 バス・ヒット・モディファイド・ライ
ン・トランザクション
BUS_IO 0x90 N N N 1 IA-32互換IOバス・トランザクショ
ン
BUS_IOQ_LIVE_REQ_HI 0x98 N N N 2 インオーダー・バス・キュー要求(4
ビットの未処理IOQ要求カウントの 最上位2ビット)
BUS_IOQ_LIVE_REQ_LO 0x97 N N N 3 インオーダー・バス・キュー要求(4
ビットの未処理IOQ要求カウントの 最下位2ビット)
BUS_LOCK 0x93 N N N 1 IA-32互換IOバス・ロック・トラン
ザクション
BUS_BACKSNP_REQ 0x8e N N N 1 バス・バック・スヌープ要求
BUS_MEMORY 0x8a N N N 1 バス・メモリ・トランザクション
BUS_MEM_READ 0x8b N N N 1 フル・キャッシュ・ラインD/Iメモリ
RD、RD無効化、BRIL
BUS_MEM_READ_OUT_HI 0x94 N N N 2 未処理のメモリRDトランザクション
BUS_MEM_READ_OUT_LO 0x95 N N N 7 未処理のメモリRDトランザクション
BUS_OOQ_LIVE_REQ_HI 0x9a N N N 2 アウト・オブ・オーダー・バス・
キュー要求(4ビットの未処理OOQ 要求カウントの最上位2ビット)
BUS_OOQ_LIVE_REQ_LO 0x99 N N N 7 アウト・オブ・オーダー・バス・
キュー要求(4ビットの未処理OOQ 要求カウントの最下位3ビット)
BUS_RD_DATA 0x8c N N N 1 バス読み出しデータ・トランザクショ
ン
BUS_RD_HIT 0x80 N N N 1 バス読み出しヒット・クリーン・ノン
ローカル・キャッシュ・トランザク ション
BUS_RD_HITM 0x81 N N N 1 バス読み出しヒット・モディファイ
ド・ノンローカル・キャッシュ・トラ ンザクション
BUS_RD_INVAL_ALL_HITM 0x83 N N N 1 HITMにおけるバスBRILバースト・
トランザクションの結果
BUS_RD_INVAL_HITM 0x82 N N N 1 HITMにおけるバスBILトランザク
ションの結果
BUS_RD_IO 0x91 N N N 1 IA-32互換IO読み出しトランザク
ション
BUS_RD_PRTL 0x8d N N N 1 バス読み出しパーシャル・トランザク
ション
BUS_SNOOPQ_REQ 0x96 N N N 7 バス・スヌープ・キュー要求
BUS_SNOOPS 0x86 N N N 1 バス・スヌープ・トータル
BUS_SNOOPS_HITM 0x85 N N N 1 バス・スヌープ・ヒット・モディファ
イド・キャッシュ・ライン
BUS_SNOOP_STALL_CYCLES 0x8f N N N 1 バス・スヌープ・ストール・サイクル
(任意のエージェントから)
BUS_WR_WB 0x92 N N N 1 バス・ライトバック・トランザクショ
ン
MEM_READ_CURRENT 0x89 N N N 1 バス上の現在のメモリの読み出しトラ
ンザクション 表 11-30. システム・バス・イベントのパフォーマンス・モニタ (続き)
シンボル名 イベント・
コード I A R
D A R
O P C
最大 インクリ
メント/ サイクル
説明
表 11-31. システム・バス・イベントの派生モニタ
シンボル名 説明 式
BIL_HITM_LINE_RATIO モディファイド・ラインに対す
るBILヒット率 BUS_RD_INVAL_HITM / BUS_MEMORYまたは BUS_RD_INVAL_HITM / BUS_RD_INVAL
BIL_RATIO BIL率 BUS_RD_INVAL / BUS_MEMORY
BRIL_HITM_LINE_RATIO モディファイド・ラインに対す るBRILヒット率
BUS_RD_INVAL_BST_HITM / BUS_MEMORYまたは BUS_RD_INVAL_BST_HITM / BUS_RD_INVAL
BUS_ADDR_BPRI IOエージェントによって使用さ
れるバス・トランザクション
BUS_MEMORY.*.IO
BUS_BRQ_LIVE_REQ BRQライブ要求 BUS_BRQ_LIVE_REQ_HI * 8 + BUS_BRQ_LIVE_REQ_LO
BUS_BURST フル・キャッシュ・ライン・メ
モリ・トランザクション(BRL、
BRIL、BWL)
BUS_MEMORY.EQ_128BYTE.*
BUS_HITM_RATIO バス・モディファイド・ライン・
ヒット率
BUS_HITM / BUS_MEMORYまたは BUS_HITM / BUS_BURST
BUS_HITS_RATIO 共用ラインに対するバス読み出
しヒット率
BUS_RD_HIT / BUS_RD_ALLまたは BUS_RD_HIT / BUS_MEMORY
BUS_IOQ_LIVE_REQ インオーダー・バス・キュー要
求
BUS_IOQ_LIVE_REQ_HI * 4 + BUS_IOQ_LIVE_REQ_LO BUS_IO_CYCLE_RATIO バスI/Oサイクル率 BUS_IO / BUS_ALL BUS_IO_RD_RATIO バスI/O読み出し率 BUS_RD_IO / BUS_IO BUS_MEM_READ_
OUTSTANDING
未処理のメモリRDトランザク ションの数
BUS_MEM_READ_OUT_HI * 8 + BUS_MEM_READ_OUT_LO
BUS_OOQ_LIVE_REQ アウト・オブ・オーダー・バス・
キュー要求
BUS_OOQ_LIVE_REQ_HI * 8 + BUS_OOQ_LIVE_REQ_LO
BUS_PARTIAL キャッシュ・ライン・メモリ・
トランザクション未満(BRP、
BWP)
BUS_MEMORY.LT_128BYTE.*
BUS_PARTIAL_RATIO バス・パーシャル・アクセス率 BUS_MEMORY.LT_128BYTE / BUS_MEMORY
BUS_RD_ALL フル・キャッシュ・ライン・メ
モリ読み出しトランザクション (BRL)
BUS_MEM_READ.BRL.*
BUS_RD_DATA_RATIO キャッシュ可能データ・フェッ
チ・バス・トランザクション率
BUS_RD_DATA / BUS_ALLまたは BUS_RD_DATA / BUS_MEMORY
BUS_RD_HITM_RATIO モディファイド・ラインに対す
るバス読み出しヒット率
BUS_RD_HITM / BUS_RD_ALLまたは BUS_RD_HITM / BUS_MEMORY BUS_RD_INSTRUCTIONS フル・キャッシュ・ライン命令
メモリ読み出しトランザクショ ン(BRP)
BUS_RD_ALL - BUS_RD_DATA
BUS_RD_INVAL 0バイトのメモリ読み出し無効
化トランザクション(BIL)
BUS_MEM_READ.BIL.*
BUS_RD_INVAL_BST フル・キャッシュ・ライン読み
出し無効化トランザクション (BRIL)
BUS_MEM_READ.BRIL.*
表11-32は、本節でItanium 2プロセッサのシステム・バス・トランザクション・モニタを説明す る際に使用する表記規則と、11.14節「パフォーマンス監視イベント・リスト」に示す個々のモニ タの説明をまとめたものである。
表11-32に示されていないその他のトランザクションには、遅延応答、特別トランザクション、割
り込み、割り込み通知、パージTCなどがある。プライオリティ・エージェントからの再試行応答 をトランザクションが取得した場合はモニタがカウントすることに注意する。
マルチプロセッサ・システム内のスヌープ・トラフィックの分析をサポートするため、Itanium 2 プロセッサは、ローカル・プロセッサとリモート応答モニタを備えている。ローカル・プロセッ サ・スヌープ・イベント(BUS_SNOOPS_HITM、BUS_SNOOPS、BUS_SNOOPQ_REQ)は、インバ ウンド・スヌープ・トラフィックを監視する。リモート応答イベント(BUS_RD_HIT、
BUS_RD_HITM、BUS_RD_INVAL_HITM、BUS_RD_INVAL_ALL_HITM)は、監視しているプロ セッサが発行したバス・トランザクションに対する、その他のプロセッサのスヌープ応答を監視
BUS_RD_INVAL_BST_
MEMORY
メモリにより満たされたバース ト・トランザクション内のバス 読み出し無効ライン(BRIL)
BUS_RD_INVAL_BST - BUS_RD_INVAL_BST_HITM
BUS_RD_INVAL_MEMORY メモリから満たされたバス読み 出し無効化ライン・トランザク ション(BIL)
BUS_RD_INVAL - BUS_RD_INVAL_HITM
BUS_RD_INVAL_BST_HITM HITMにおける、バースト・トラ ンザクション内のバス読み出し 無効化ライン(BRIL)
BUS_RD_INVAL_ALL_HITM - BUS_RD_INVAL_HITM
BUS_RD_PRTL_RATIO バス読み出しパーシャル・アク
セス率
BUS_RD_PRTL / BUS_MEMORY
BUS_WB_RATIO ライトバック率 BUS_WR_WB / BUS_MEMORYまたは
BUS_WR_WB / BUS_BURST CACHEABLE_READ_RATIO キャッシュ可能読み出し率 (BUS_RD_ALL +
BUS_MEM_READ.BRIL) / BUS_MEMORY
表 11-31. システム・バス・イベントの派生モニタ (続き)
シンボル名 説明 式
表 11-32. システム・バス・トランザクションの表記規則
名前 説明
BRC 現在のメモリ読み出し(128バイト・トランザクション)。ステートの変更なしの読み出し BRL メモリ読み出し(64バイト・バースト)。WBメモリからのデータ・ロードおよびコード・
フェッチを含む。
BRIL メモリ読み出しおよび無効化(64バイト・バースト)。RFO (read for ownership)とも呼ばれる。
BIL メモリ読み出しおよび無効化(0バイト・サイズ・トランザクション)。フラッシュ・キャッ シュ(fc)命令によってのみ実行される。
BWL メモリ書き込み(64バイト・バースト)。明示的なライトバック/コアレシング・ライト BRP パーシャル・メモリ読み出し(<64バイト・トランザクション)。通常は、キャッシュ不可読み
出し
BWP パーシャル・メモリ書き込み(<64バイト・トランザクション)。通常は、キャッシュ不可書き 込み
IORD パーシャルIO読み出し(<64バイト・トランザクション)。IOポート・スペースに対する キャッシュ不可読み出し
IOWR パーシャルIO書き込み(<64バイト・トランザクション)。IOポート・スペースに対する キャッシュ不可書き込み
する。表11-33は、バス・トランザクションによるリモート・スヌープ・イベントをまとめたもの である。