午前問65
CPUに搭載された1次と2次のキャッシュメモリに関する記述のうち、適切なものはどれか。
| 1次キャッシュメモリは、2次キャッシュメモリよりも容量が大きい。 | |
| 2次キャッシュメモリは、メインメモリよりも読み書き速度が遅い。 | |
| CPUがデータを読み出すとき、まず1次キャッシュメモリにアクセスし、データが無い場合は2次キャッシュメモリにアクセスする。 | |
| 処理に必要な全てのデータは、プログラム開始時に1次又は2次キャッシュメモリ上に存在しなければならない。 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- ウ
解説
キャッシュメモリは、主記憶とは異なる半導体を用いた高速なメモリで、CPUと主記憶の速度差を埋めて処理効率を高めるために搭載されます。現在は1次キャッシュ・2次キャッシュ・3次キャッシュのように複数段で構成する階層構造が一般的で、CPUに近い層ほど高速・小容量になります(容量は「1次<2次」)。CPUはデータ参照時に、まず最も近い1次キャッシュを確認し、なければ2次、さらに3次キャッシュへと段階的に探し、いずれにも無ければ主記憶にアクセスします。なお2次キャッシュもキャッシュである以上、主記憶より高速です。キャッシュには一度使った、または近く使いそうなデータが載るため、プログラム開始時点で全データがキャッシュ上にある必要はありません。
| ア. | 1次キャッシュメモリは、2次キャッシュメモリよりも容量が大きい。 |
| 誤りです。CPUに近いほど高速・小容量であるため、1次キャッシュは2次キャッシュより小容量です。 | |
| イ. | 2次キャッシュメモリは、メインメモリよりも読み書き速度が遅い。 |
| 誤りです。2次キャッシュもキャッシュメモリであり、主記憶より高速に読み書きできます。 | |
| ウ. | CPUがデータを読み出すとき、まず1次キャッシュメモリにアクセスし、データが無い場合は2次キャッシュメモリにアクセスする。 |
| 正しいです。CPUはまず1次キャッシュを参照し、見つからなければ2次キャッシュ(→必要に応じて3次)へ、いずれにも無ければ主記憶にアクセスします。 | |
| エ. | 処理に必要な全てのデータは、プログラム開始時に1次又は2次キャッシュメモリ上に存在しなければならない。 |
| 誤りです。必要な全データが開始時に1次や2次キャッシュ上に存在する必要はありません。キャッシュには直近で使用した、または今後使用しそうなデータが格納されます。 |