令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
テクノロジ/コンピュータ構成要素マルチコアプロセッサで用いられるスヌープキャッシュの説明として,適切なものはどれか。
出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
- ア各コアがそれぞれ独立のメモリ空間とキャッシュをもつことによって,コヒーレンシを保つ。
- イ各コアが一つのキャッシュを共有することによって,コヒーレンシを保つ。
- ウ共有バスを介して,各コアのキャッシュが他コアのキャッシュの更新状態を管理し,コヒーレンシを保つ。
- エ全てのキャッシュブロックを一元管理するディレクトリを用いて,キャッシュのコヒーレンシを保つ。
正解:ウ
解説
スヌープキャッシュ方式は,各コアが共有バスなどの共有された通信路を常時監視(スヌープ)し,他のコアのキャッシュにおけるデータの更新状態を把握することによって,キャッシュ間のコヒーレンシ(一貫性)を保つ方式です。バスに流れる書込みなどのトランザクションを各コアが監視し,自身のキャッシュラインが古くなっていないかを判断します。
選択肢ごとの解説
- ア誤り。各コアが独立のメモリ空間とキャッシュをもつ構成では,そもそもキャッシュ間でデータを共有しないため,コヒーレンシの維持という概念自体が当てはまりません。
- イ誤り。各コアが一つのキャッシュを共有する構成は,複数のキャッシュ間の一貫性を管理するスヌープキャッシュとは異なる構成です。
- ウ正しい。共有バスを介して各コアのキャッシュが互いの更新状態を監視(スヌープ)し合うことによってコヒーレンシを保つのが,スヌープキャッシュの仕組みです。
- エ誤り。全てのキャッシュブロックを一元管理するディレクトリを用いる方式は,ディレクトリベースのキャッシュコヒーレンシ方式の説明であり,スヌープ方式とは異なります。