キャッシュコヒーレンシとスヌープ方式とは?きゃっしゅこひーれんしとすぬーぷほうしき
キャッシュコヒーレンシとスヌープ方式とは、複数のプロセッサが同じ番地の写しをそれぞれのキャッシュに持つとき、片方の更新が他方へ伝わらず内容が食い違うのを防ぐ制御。各キャッシュが共有バス上の読み書きを監視し、自分の写しを無効化または更新する方式をスヌープ方式という。
最終更新:2026-10-06
ネットワークSPを最短で暗記・合格する →背景
コアを増やせば処理量が比例して増えるという前提は、同じデータを複数のコアが触った瞬間に崩れる。整合をソフトウェアの約束事に任せると誤りが避けられないため、ハードウェア側で写しを揃える仕組みが必要になった。バスを全員で監視する方式はコア数が増えると監視自体が飽和するので、大規模構成ではどのキャッシュが写しを持つかを集中管理するディレクトリ方式へ移る。
具体例
汎用サーバでソフトウェアルータやファイアウォールを動かすとき、受信キューをコアごとに分け、同じフローが常に同じコアへ届くようにする。セッション表のカウンタを複数コアが同時に更新する作りにすると、無効化のやり取りが往復し、コアを増やしても転送性能が伸びなくなる。
試験での引っ掛け
別々の変数でも同じキャッシュラインに載ると無効化が飛び交って性能が落ちる(フォルスシェアリング)。またハードウェアが整合性を保つことと、プログラム側の排他制御が要らなくなることは別で、コヒーレンシは競合状態そのものを解決しない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。