パフォーマンスが重要なコードをデバッグして逆アセンブリを確認する場合、データキャッシュ ミスによるボトルネックを見つけるのはそれほど難しくありません。
ロード/ストア命令は通常のボトルネックになる傾向があります。つまり、プログラムを停止すると、予期しないメモリ アドレスからロードするロード/ストア命令の近くでプログラムが停止する可能性があります。
同様に、分岐の予測ミスを見つける 1 つの方法は、通常、プログラムを壊すと特定のジャンプの近くでプログラムが停止するかどうかを確認し、次にコードを調べて、ジャンプが予測可能かどうかを確認することです。
(または、少なくとも、それが私がそのようなボトルネックを見つけようとする方法です。間違った症状を探している場合はお知らせください..)
しかし、他の種類のキャッシュ ミスの症状は何ですか?
それらがまれであることは知っていますが、出現した場合にそれらを見つける方法を知りたい.
「その他の」キャッシュとは、次のようなものを意味します。
- 命令キャッシュ
- 変換ルックアサイド バッファー
- 私が知っておくべき他の重要なキャッシュのボーナスポイントですが、私は気づいていません