メモリ階層とキャッシュメモリの仕組み

前回、科目Bに戻り、再帰処理の考え方を整理しました。今回は、①に戻り、命令実行のしくみの続きとして「メモリ階層とキャッシュメモリ」を整理します。

目次

メモリ階層とは

コンピュータには、レジスタ・キャッシュメモリ・主記憶(メインメモリ)・補助記憶(HDD・SSDなど)といった、複数の種類の記憶装置があります。これらは、速度と容量のバランスによって、階層のように分けて使われています。

以前の記事で、「レジスタは小さいけど速い」「メモリは大きいけど遅い」という対比に触れましたが、この考え方をさらに細かく段階分けしたものが、メモリ階層です。

速さと容量はトレードオフ

メモリ階層を理解するうえで大事なのは、「CPUに近い記憶装置ほど速いが容量は小さく、遠い記憶装置ほど容量は大きいが速度は遅い」という関係です。

レジスタ → キャッシュメモリ → 主記憶 → 補助記憶、という順番で、CPUから遠くなるほど、容量は大きくなり、速度は遅くなっていきます。すべてを高速な記憶装置だけでまかなえれば理想的ですが、高速な記憶装置ほどコストが高いため、現実には段階的に組み合わせて使われています。

キャッシュメモリの役割

キャッシュメモリは、CPUと主記憶の間に置かれる、比較的小容量で高速な記憶装置です。CPUがよく使うデータを、あらかじめキャッシュメモリに置いておくことで、主記憶まで取りに行く回数を減らし、全体の処理速度を上げる役割を持っています。

ヒット率という考え方

キャッシュメモリの効果を測る指標として、「ヒット率」があります。ヒット率とは、CPUが必要とするデータが、キャッシュメモリの中に見つかる割合のことです。

ヒット率が高いほど、主記憶まで取りに行く回数が減るため、全体の処理は速くなります。反対に、キャッシュメモリの中にデータが見つからない場合(ミス)は、主記憶まで取りに行く必要があるため、その分時間がかかってしまいます。

科目Aでは、このヒット率を使って、平均的なアクセス時間を計算させる問題も出題されます。「キャッシュメモリのアクセス時間×ヒット率」と「主記憶のアクセス時間×(1−ヒット率)」を足し合わせる、という考え方を覚えておくと対応しやすくなります。

学習してみた感想

メモリ階層は、「なぜ複数の記憶装置を使い分けているのか」という理由を理解すると、単なる暗記ではなく、納得感を持って覚えられる単元でした。ヒット率の計算も、レジスタとメモリの対比を思い出しながら整理したことで、すんなり頭に入ってきました。

次回は、補助記憶装置(HDD・SSD)の特徴と選び方を整理します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次