平成30年度 春期 午前Ⅱ 問2
メモリ
図に示すマルチプロセッサシステムにおいて,各 MPU のキャッシュメモリの内容を正しく保つために,共有する主記憶の内容が変化したかどうかを監視する動作はどれか。
マルチプロセッサシステムの構成図:
MPU1 ── キャッシュメモリ1 ──┐
├── バス ── 主記憶
MPU2 ── キャッシュメモリ2 ──┘- アデータハザード
- イバススヌープ
- ウライトスルー
- エライトバック
答えと解説を見る
✓ これが正解イバススヌープ
解説
バススヌープは、各キャッシュがバスを見張り内容をそろえる動作です。
複数の MPU がそれぞれキャッシュメモリを持ち、主記憶を共有する構成では、ある MPU が主記憶のデータを書き換えると、他の MPU のキャッシュに残っている古いコピーと食い違いが生じます。これを防ぐには、各キャッシュの制御回路が共有バスに流れる書込みなどのやり取りを常に見張り、自分が持っているデータに関係する変化を見つけたら、そのコピーを無効にしたり更新したりする必要があります。このバスの監視動作がバススヌープで、複数のキャッシュの内容の一貫性を保つための方式です。ほかの選択肢は、パイプラインでの命令の依存関係と、キャッシュから主記憶への書込みのタイミングの話です。見張って合わせるのがスヌープ、と覚えると区別できます。
ほかの選択肢はなぜ違うのか
- アデータハザード:データハザードは、パイプラインで前の命令の結果がまだ出ていないうちに、後の命令がその値を使おうとして待たされる問題です。一つのプロセッサ内の命令の依存関係の話で、複数のキャッシュの内容をそろえる動作ではありません。
- ウライトスルー:ライトスルーは、キャッシュに書き込むと同時に主記憶にも書き込む方式です。主記憶を常に最新に保つ書込み方の一つですが、他の MPU のキャッシュが変化を知るための監視の動作そのものではありません。
- エライトバック:ライトバックは、書込みをいったんキャッシュだけで行い、そのブロックを追い出すときにまとめて主記憶へ書き戻す方式です。書込みのタイミングの決め方であり、共有する主記憶の変化を見張る動作ではありません。
この問題の用語
- キャッシュ一度取り寄せた内容を手元に置いて、次から早く使えるようにする仕組み。CPUとメモリの間や、ブラウザ、DNSなど、さまざまな場所で使われます。
- 監視機器や利用者の動きを継続して見て、記録に残しておくこと。稼働状況や性能を見張り、異常に早く気づいて対応するために行います。
- システムの構成機器をどう組み合わせてシステムを作るかという、組み立て方です。二重にする形や、待機を置く形など、目的で選び分けます。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問19(システムの構成)
- 令和7年度 秋期 午前Ⅱ 問16:DNSSECに関する問題(キャッシュ)
- 令和7年度 秋期 午前Ⅱ 問11:クロック周波数(システムの構成)
- 平成31年度 春期 午前Ⅱ 問23:ファジングに関する問題(監視)
- 平成30年度 春期 午前Ⅱ 問6:ロードバランサに関する問題(監視)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)