令和4年度 秋期 午前Ⅱ 問1
プロセッサ
スヌープキャッシュの説明
マルチコアプロセッサで用いられるスヌープキャッシュの説明として,適切なものはどれか。
- ア各コアがそれぞれ独立のメモリ空間とキャッシュをもつことによって,コヒーレンシを保つ。
- イ共有バスを介して,各コアのキャッシュが他コアのキャッシュの更新状態を管理し,コヒーレンシを保つ。
- ウ全てのキャッシュブロックを一元管理するディレクトリを用いて,キャッシュのコヒーレンシを保つ。
- エ一つのキャッシュを各コアが共有することによって,コヒーレンシを保つ。
答えと解説を見る
✓ これが正解イ共有バスを介して,各コアのキャッシュが他コアのキャッシュの更新状態を管理し,コヒーレンシを保つ。
解説
各キャッシュが共有バスを監視し、他コアの更新に合わせて一貫性を保ちます。
マルチコアプロセッサでは、コアごとにキャッシュを持つため、主記憶の同じデータの写しが複数のキャッシュに置かれることがあります。あるコアがデータを書き換えたときに、他のコアの古い写しをそのままにすると内容が食い違うので、内容をそろえる仕組み、つまりコヒーレンシの維持が必要です。スヌープキャッシュは、各コアのキャッシュが共有バスに流れるアクセスを監視し、他のコアによる書込みを検知すると自分の写しを無効にしたり更新したりして一貫性を保つ方式です。共有バスを見張り、各キャッシュが自分で対処する、という点がこの方式のポイントです。
ほかの選択肢はなぜ違うのか
- ア各コアがそれぞれ独立のメモリ空間とキャッ…:各コアが独立のメモリ空間とキャッシュを持つ構成では、そもそも同じデータの写しを共有しないので、一貫性を保つ仕組みの説明になっていません。共有バスを監視して他のキャッシュの更新に追従するという中身も含まれていません。
- ウ全てのキャッシュブロックを一元管理するデ…:全てのキャッシュブロックの状態を一つのディレクトリで集中して管理するのは、ディレクトリを用いる別の一貫性の保ち方です。各キャッシュが共有バスを監視して自分で対処するスヌープキャッシュとは、管理の仕方が違います。
- エ一つのキャッシュを各コアが共有することに…:一つのキャッシュを全てのコアで共有すれば写しが一つしかないので食い違いは起きませんが、それは共有キャッシュという構成の話です。各コアが自分のキャッシュを持ったまま共有バスを監視するスヌープキャッシュの説明ではありません。
この問題の用語
- キャッシュ一度取り寄せた内容を手元に置いて、次から早く使えるようにする仕組み。CPUとメモリの間や、ブラウザ、DNSなど、さまざまな場所で使われます。
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問16:DNSSECに関する問題(キャッシュ)
- 令和7年度 秋期 午前Ⅱ 問9:DRAMの特徴(キャッシュ)
- 令和6年度 秋期 午前Ⅱ 問3:キャッシュメモリに関する問題(キャッシュ)
- 令和3年度 秋期 午前Ⅱ 問3:メモリインタリーブの説明(キャッシュ)
- 令和2年度 10月 午前Ⅱ 問5:キャッシュメモリの問題(キャッシュ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)