キャッシュの詳細(特にコア間で共有されるキャッシュと共有されていないキャッシュ)を見つけようとしましたが、不一致が見つかりました。
sudo lshw
説明する
*-cache:0
description: L1 cache
physical id: a
slot: Internal Cache
size: 64KiB
capacity: 64KiB
capabilities: synchronous internal write-back
*-cache:1
description: L2 cache
physical id: b
slot: External Cache
size: 8MiB
capabilities: synchronous internal write-back
しかし、lscpu
主張
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
命令とデータキャッシュの組み合わせについてはあまり心配しませんが、L2はどこに行きますか?
Ubuntu 10.10を実行しているシステムで観察するか、以下を実行しますuname -a
。
Linux name 2.6.35-32-generic #66-Ubuntu SMP Mon Feb 13 21:04:32 UTC 2012 x86_64 GNU/Linux
これは一般的な質問ですが、最も正確な質問はありません。メーカー仕様私も見つけることができません。ウィキペディア実際に必要な詳細があります。
無関係なボーナスの質問:External Cache
キャッシュが(4つの)コア間で共有されるという意味ですか(その逆も同じですか?Internal Cache
)
答え1
質問にプロセッサに関する追加情報を追加していただきありがとうございます。投稿した例を知ることが役に立ちます。Intel Core i7-920 Processor
。
提供される情報lscpu
には、L1、L2、およびL3の3つのキャッシュレベルがすべて含まれているため、より正確です。lshw
Intelが自社CPUにL3キャッシュを追加したことを反映して最小限に修正したものと見られる。 L3キャッシュサイズに関する情報は、3つのキャッシュレベルに関するすべての情報を表示するのではなく、L2キャッシュとして報告されているようです。
私はあなたが見ている仕様にL1とL2キャッシュが含まれていないと仮定します。どちらも、与えられたマイクロアーキテクチャで同じであるからです。例えばニハレムの場合これは」64KB L1キャッシュ/コア(32KB L1データ+ 32KB L1命令)と256KB L2キャッシュ/コア。」。
私は各コアに独自のL1とL2を提供し、より大きな汎用L3を提供することが次のようになると思います。Nehalem(マイクロアーキテクチャ)(2008年11月?)
なぜこの単語がL3を指すのにlshw
使われるのかわかりません。External Cache
しかし、L3キャッシュが私が考慮したのではなくCPUチップにあるため、誤解を招くようです。外部。繰り返しますが、これはソフトウェアを最小限に変更しながら、古いソフトウェアを使用して新しいハードウェアを説明したいのと同じです。
(実際のソースコードを見るともっと学ぶことができますが、試してみる時間はありません。)
最後に、L3キャッシュはコア/スレッド間で共有されます。次の引用は、上記のWikipediaの記事からのものです。ハイパースレッディングが再導入され、L2が減少し、L2がL3キャッシュにマージされました。すべてのコアを使用できます。。」