IPA過去問ドリル

令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1

テクノロジ/コンピュータ構成要素

マルチコアプロセッサで用いられるスヌープキャッシュの説明として,適切なものはどれか。

出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1

正解:イ

解説

スヌープキャッシュは,マルチコアプロセッサや対称型マルチプロセッサ(SMP)において,各コアが自分のキャッシュに対する他コアからのバスアクセス(書込みなど)を共有バス上で監視(スヌープ)し,他コアが保持する同じアドレスのキャッシュラインの更新を検知して自コアのキャッシュを無効化又は更新することで,コヒーレンシ(一貫性)を保つ方式です。小~中規模のマルチコアで広く用いられています。

選択肢ごとの解説

  • 誤り。各コアが独立したメモリ空間とキャッシュをもち,互いに関知しない構成では,共有データの整合性を保証できません。むしろコヒーレンシ制御が不要な非対称な構成の説明に近い記述です。
  • 正しい。共有バスを介して他コアのキャッシュの更新状態を監視し,コヒーレンシを保つ方式がスヌープキャッシュ(バススヌーピング方式)です。
  • 誤り。全キャッシュブロックの状態を一元管理するディレクトリを用いる方式は,ディレクトリ方式(ディレクトリベースのキャッシュコヒーレンシプロトコル)の説明であり,多数のコアをもつ大規模システムで用いられます。
  • 誤り。一つのキャッシュを複数のコアで共有する構成(共有キャッシュ)は,コヒーレンシの問題自体が生じにくい構成であり,スヌープによる監視の説明ではありません。
エンベデッドシステムスペシャリストの過去問を演習モードで解く