応用情報技術者 2011年 秋期 午前2 問11
問題文
プロセッサにデータを読み込むときにキャッシュメモリにヒットしなかった場合、キャッシュメモリ制御装置が行う動作はどれか。
選択肢
ア:キャッシュメモリから所要のデータをブロック転送し、磁気ディスクに書き込む。
イ:磁気ディスクから所要のデータをブロック転送し、キャッシュメモリに読み込む。
ウ:主記憶から所要のデータをブロック転送し、キャッシュメモリに読み込む。(正解)
エ:ディスクキャッシュから所要のデータをブロック転送し、主記憶に読み込む。
プロセッサにデータを読み込むときにキャッシュメモリにヒットしなかった場合の動作【午前2 解説】
要点まとめ
- 結論:キャッシュミス時は主記憶からデータをブロック単位でキャッシュに読み込む動作を行う。
- 根拠:キャッシュは主記憶の高速アクセスを補助するための高速メモリであり、主記憶からデータを取得してキャッシュに格納する必要がある。
- 差がつくポイント:磁気ディスクやディスクキャッシュから直接キャッシュに読み込むのではなく、必ず主記憶を介する点を理解することが重要。
正解の理由
ウ: 主記憶から所要のデータをブロック転送し、キャッシュメモリに読み込む。が正解です。
キャッシュメモリにデータが存在しない(キャッシュミス)場合、CPUは主記憶から必要なデータをブロック単位で読み込み、キャッシュに格納します。これにより次回以降のアクセスが高速化されます。磁気ディスクは主記憶の下位層であり、キャッシュメモリは主記憶の高速コピーとして機能するため、直接ディスクからキャッシュに読み込むことはありません。
キャッシュメモリにデータが存在しない(キャッシュミス)場合、CPUは主記憶から必要なデータをブロック単位で読み込み、キャッシュに格納します。これにより次回以降のアクセスが高速化されます。磁気ディスクは主記憶の下位層であり、キャッシュメモリは主記憶の高速コピーとして機能するため、直接ディスクからキャッシュに読み込むことはありません。
よくある誤解
キャッシュミス時に磁気ディスクから直接キャッシュにデータを読み込むと誤解しがちですが、実際は主記憶を介してデータが転送されます。
また、ディスクキャッシュは主記憶の下位層ではなく、ディスクの高速化を目的とした別のキャッシュである点も混同しやすいです。
また、ディスクキャッシュは主記憶の下位層ではなく、ディスクの高速化を目的とした別のキャッシュである点も混同しやすいです。
解法ステップ
- キャッシュメモリにデータがあるか(ヒットかミスか)を判断する。
- ミスの場合、主記憶から必要なデータをブロック単位で読み込む必要があると理解する。
- 磁気ディスクは主記憶の下位層であり、キャッシュメモリは主記憶の高速コピーであることを確認する。
- 選択肢の中で主記憶からキャッシュにデータを読み込む動作を選ぶ。
選択肢別の誤答解説
- ア: キャッシュから磁気ディスクに書き込む動作はキャッシュミス時の動作ではなく、書き込みバック時の動作に近い。
- イ: 磁気ディスクから直接キャッシュに読み込むことはなく、必ず主記憶を介するため誤り。
- ウ: 正解。主記憶からキャッシュにデータを読み込む動作を正しく表している。
- エ: ディスクキャッシュから主記憶に読み込む動作は存在するが、キャッシュメモリのキャッシュミス時の動作ではない。
補足コラム
キャッシュメモリはCPUと主記憶の速度差を埋めるために設置されており、主記憶の一部を高速にコピーしたものです。キャッシュミスが発生すると、主記憶からデータをブロック単位で読み込み、キャッシュに格納します。これにより次回以降のアクセスが高速化されます。磁気ディスクは主記憶よりもさらに遅いため、直接キャッシュにデータを読み込むことはありません。
FAQ
Q: キャッシュミス時にデータはどこから読み込まれますか?
A: 主記憶からブロック単位で読み込まれ、キャッシュに格納されます。
A: 主記憶からブロック単位で読み込まれ、キャッシュに格納されます。
Q: 磁気ディスクから直接キャッシュにデータを読み込むことはありますか?
A: いいえ。磁気ディスクからは主記憶に読み込まれ、そこからキャッシュに転送されます。
A: いいえ。磁気ディスクからは主記憶に読み込まれ、そこからキャッシュに転送されます。
関連キーワード: キャッシュメモリ、キャッシュミス、主記憶、ブロック転送、メモリ階層

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

