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