L1 および L2 キャッシュ (データ キャッシュ) のサイズと連想性の順序を (OS にクエリするのではなく) プログラムで測定するにはどうすればよいですか?
システムに関する前提:
- L1 と L2 キャッシュ (L3 の場合もあれば、キャッシュ共有の場合もあります) を持ち、
- ハードウェア プリフェッチ ユニットがある場合があります (P4+ と同様)。
- 安定したクロックソース (tickcounter または gettimeofday 用の優れた HPET) があります。
OS に関する仮定はなく (Linux、Windows、またはその他のものである可能性があります)、POSIX クエリを使用することはできません。
言語は C であり、コンパイラの最適化は無効になっている可能性があります。