令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問4
【問題4】
マルチコアプロセッサで用いられるスヌープキャッシュの説明として、適切なものはどれか。
各コアがそれぞれ独立のメモリ空間とキャッシュをもつことによって、コヒーレンシを保つ。
各コアが一つのキャッシュを共有することによって、コヒーレンシを保つ。
共有バスを介して、各コアのキャッシュが他コアのキャッシュの更新状態を管理し、コヒーレンシを保つ。
全てのキャッシュブロックを一元管理するディレクトリを用いて、キャッシュのコヒーレンシを保つ。
【解説】
ア: 各コアがそれぞれ独立のメモリ空間とキャッシュをもつことによって、コヒーレンシを保つ。
誤り。スヌープキャッシュは、キャッシュのコヒーレンシを共有バスを使用して管理する方式であり、独立したメモリ空間ではなく、キャッシュ間の一貫性を保つ仕組みです。
イ: 各コアが一つのキャッシュを共有することによって、コヒーレンシを保つ。
誤り。キャッシュを共有するのではなく、各コアが個別にキャッシュを持ちながら、コヒーレンシを保つ仕組みがスヌープキャッシュです。
ウ: 共有バスを介して、各コアのキャッシュが他コアのキャッシュの更新状態を管理し、コヒーレンシを保つ。
正しい。スヌープキャッシュは、共有バスを使用して、キャッシュ間の更新状況を監視(スヌープ)し、一貫性(コヒーレンシ)を保つ仕組みです。
エ: 全てのキャッシュブロックを一元管理するディレクトリを用いて、キャッシュのコヒーレンシを保つ。
誤り。ディレクトリベースの方式は別のキャッシュコヒーレンシの方法であり、スヌープキャッシュには該当しません。
【答え】
ウ: 共有バスを介して、各コアのキャッシュが他コアのキャッシュの更新状態を管理し、コヒーレンシを保つ。
出典:令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問4