IT用語集 › ハードウェア › 包含キャッシュ(Inclusive cache)

包含キャッシュ(Inclusive cache)

ハードウェア Svenska → 更新: 2026-10-24

下位のキャッシュ(L3など)が、その上位(L1/L2)にあるものをすべて必ず含むことを保証する方式。コヒーレンスは単純になるが、重複によって容量が「無駄」になる。反対は重複を持たない排他的キャッシュ。

包含方式では、L1/L2にあるものはすべてL3にもある。利点はコヒーレンスが単純になることだ。他のコアがあるデータラインがこのコアのプライベートキャッシュにあるか知りたければ、共有L3を調べれば足りる(そこになければコアのどこにもない)ので、各コアのプライベートキャッシュを「スヌープ」せずに済む。欠点は、同じデータが複数の階層に同時に存在するため、実効的な総キャッシュ容量が減ること(L3がL2にすでにあるものの複製に「浪費」される)。排他的キャッシュはその逆で、ラインは必ず一つの階層にだけ存在するため総容量は最大になるが、コヒーレンスの扱いは厄介になる。中間の「非包含/NINE」方式もある。

どちらを選ぶかは古典的なアーキテクチャ上のトレードオフで、コヒーレンスの単純さとレイテンシ対総容量の勝負である。Intelは長らく包含L3に傾き、AMDは排他的/ビクティム方式に傾いた。

← 用語集に戻る