令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問1
マルチコアプロセッサで用いられるスヌープキャッシュの説明として,適切なものはどれか。
解答・解説
正解: イ. 共有バスを介して,各コアのキャッシュが他コアのキャッシュの更新状態を管理し,コヒーレンシを保つ。
スヌープキャッシュ(snoopy cache)は、マルチコアプロセッサなどにおいて、各コアがもつキャッシュメモリ間のデータの一貫性(キャッシュコヒーレンシ)を保つための方式です。
各コアのキャッシュコントローラは、共有バス上の通信を常に監視(スヌープ)しています。他のコアがデータを更新したことを検知すると、自身のキャッシュ内の該当データを無効化または更新し、常に最新のデータが参照できるようにします。
したがって、共有バスを介して他コアのキャッシュの更新状態を管理する「イ」が適切な説明となります。
各選択肢の解説
- ア: 各コアが独立のメモリ空間をもつアーキテクチャ(分散メモリ型など)の説明であり、スヌープキャッシュの説明ではありません。
- イ: 正解です。 スヌープキャッシュ方式の適切な説明です。
- ウ: ディレクトリ(管理表)を用いて一元管理する方式は、ディレクトリ方式と呼ばれ、スヌーピング方式とは異なります。
- エ: 一つのキャッシュを各コアが共有するのは共有キャッシュ方式であり、各コアが個別のキャッシュをもつスヌープ方式とは異なります。