x86アーキテクチャ(Say Xeon X5660)でのキャッシュレベルの違いによるキャッシュミスの関係について質問があります。
いくつかのパフォーマンスカウンターで、OpenCLアプリケーション(Blackscholes)のプロファイリングを行いました。カウンターごとに、すべてのコアのすべての値を合計して、次の結果を取得します。
instructions #: 493167746502.000000
L3_MISS #: 1967809.000000
L1_MISS #: 2344383795.000000
L2_DATA_MISS #: 901131.000000
L2_MISS #: 1397931.000000
memory loads #: 151559373227.000000
問題は、なぜL3ミスの数がL2ミスの数よりも多いのかということです。(私はプロファイリングを何度も再実行し続けますが、差異は重要ではありません)。私が基本的に考えたのは:
L2ミス=L3ヒット+L3ミス
誰かがここで何が悪いのか説明してもらえますか、私は何かを逃しましたか?
もう少し言えば、CPUの最後のレベルのキャッシュ(CPU)のキャッシュ読み取りの原因は何ですか?それは単にL2からのデータミスですか?
ありがとう