SkillStack
テクノロジ系4 / 25問

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

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

スヌープキャッシュ方式では、各コアのキャッシュ制御回路が共有バス上の通信を常に監視します。スヌープは「のぞき見る」という意味です。あるコアが共有データを書き換えると、その情報がバスに流れ、他のコアは同じアドレスのキャッシュブロックを無効化したり、状態を更新したりします。これにより、複数のキャッシュに同じデータのコピーが存在しても内容の矛盾を防げます。したがって、共有バスを介して更新状態を管理するウが適切です。

アの独立したメモリ空間をもつ方式は誤りです。キャッシュコヒーレンシは、共有メモリ上の同一データを複数のキャッシュが保持するときに整合性を保つ仕組みです。メモリ空間を分離することはスヌープ方式の説明ではありません。

イの一つのキャッシュを共有する方式は誤りです。共有キャッシュでは同じ格納場所を参照できますが、スヌープキャッシュは各コア側のキャッシュが共有バスを監視する方式です。

エのディレクトリによる一元管理は誤りです。これは、各キャッシュブロックをどのコアが保持しているかを管理表に記録するディレクトリ方式の説明です。

【ポイント】 スヌープ方式では、MESIなどの状態管理プロトコルが用いられます。 共有バスによる監視は構成が分かりやすい一方、コア数が増えるとバス通信量が問題になります。 大規模構成ではディレクトリ方式との違いがよく問われます。

出典:令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問4
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める