問題
問13 キャッシュメモリに関する記述のうち、適切なものはどれか。
ア キャッシュメモリの転送ブロックの大きさを仮想記憶のページの大きさと同じにすると、プログラムの実行効率が向上する。
イ キャッシュメモリは高速アクセスが可能なので、汎用レジスタと同じ働きをする。
ウ 主記憶のアクセス時間とプロセッサの命令実行時間の差が大きいマシンでは、多段のキャッシュ構成にすることで実効アクセス時間が短縮できる。
エ ミスヒットが発生するとキャッシュ全体は一括消去され、主記憶から最新のデータの転送処理が実行される。
解説と解答
キャッシュメモリ(cache memory)は、CPUと主記憶とのデータのやり取りを高速化するためのメモリです。CPUの高速化に伴い、主記憶の読み書きの速度がCPUの処理速度に追いつかなくなっています。そこで、CPUと主記憶の間に高速なキャッシュメモリを設けて、両者の速度差を緩衝しています。最近のCPUは、主記憶のアクセスとの速度差が極めて大きいことから高速なキャッシュメモリ(1次キャッシュ)を設けたとしても、このキャッシュメモリとメインメモリの速度差は依然として縮まりません。そこで、キャッシュメモリとメインメモリの間にさらに低速のキャッシュメモリ(2次キャッシュ)を設けることで、キャッシュメモリとメインメモリの速度差を緩衝し、全体としてのバランスをとっています。またキャッシュをさらに多段階にすることにより実効アクセス時間を短縮しています。キャッシュメモリを階層構造にする場合、CPUから遠ざかるにつれて、キャッシュメモリの速度は遅く、そして容量は大きくなるのが一般的です。
以上のことから、正解はウです。
ア キャッシュメモリの転送ブロックの大きさと仮想記憶のページの大きさは直接関係がありません。
イ レジスタはCPU内部にある、データを保持するための高速小容量の記憶装置です。その中で特定の目的を持たず、命令により各種機能を果たすレジスタを汎用レジスタといいます。キャッシュメモリとは別のものです。
エ ミスヒットとは処理に必要なデータがキャッシュメモリに存在せず、キャッシュメモリからデータを読み込むことができないことです。この場合、主記憶にデータを探しに行きます。その後に主記憶からデータを転送しますが、これは一括ではなくブロックと呼ばれる単位で行われます。