すべてのプラットフォームを歓迎します。回答にはプラットフォームを指定してください。
ベストアンサー1
Linux (比較的新しいカーネルを使用) では、/sys からこの情報を取得できます。
/sys/devices/system/cpu/cpu0/cache/
このディレクトリには、キャッシュの各レベルに対応するサブディレクトリがあります。各ディレクトリには次のファイルが含まれています。
coherency_line_size
level
number_of_sets
physical_line_partition
shared_cpu_list
shared_cpu_map
size
type
ways_of_associativity
これにより、キャッシュライン サイズ ( ) やこのキャッシュを共有する CPU など、キャッシュに関する必要な情報以上の情報が得られますcoherency_line_size
。これは、共有データを使用してマルチスレッド プログラミングを行う場合に非常に便利です (データを共有するスレッドがキャッシュも共有している場合は、より良い結果が得られます)。