Как я могу программно измерить (не запрашивать ОС) размер и порядок ассоциативности кешей L1 и L2 (кэши данных)?
Предположения о системе:
- У этого есть кеш L1 и L2 (может также быть L3, может быть совместное использование кеша),
- Он может иметь аппаратную часть предварительной выборки (как и P4 +),
- У него стабильный источник синхронизации (tickcounter или хорошая HPET для gettimeofday).
Нет предположений об ОС (это может быть Linux, Windows или что-то еще), и мы не можем использовать запросы POSIX.
Язык - это C, и оптимизация компилятора может быть отключена.