キャッシュメモリ

CPUと主記憶の速度差を埋めるキャッシュの仕組みを学びます。

キャッシュメモリは、CPUとメモリの速度差を埋める高速な小容量メモリ。効果的なヒット率向上が性能のカギ。

日野 こむぎ(普段) 日野 こむぎ

キャッシュメモリってよく聞くけど、何のためにあるんだろ?

藤森 さやか 先生(笑顔) 藤森 さやか 先生

CPUと主記憶 (メモリ) の速度差を埋めるための高速バッファよ。
キャッシュメモリは階層構造になっていて、L1が最も近く高速、L2、L3 と遠ざかるにつれ大容量だけど低速になるの。

青木 澪(普段) 青木 澪

性能の鍵はヒット率。
アクセスしたデータがキャッシュにある確率ね。
ヒット率が高いほど性能が出るわ。

桃井 すみれ(普段) 桃井 すみれ

ミスしちゃったらどうなるんですかぁ?

青木 澪(普段) 青木 澪

主記憶まで取りに行く必要があるから、ヒット時の100倍以上の時間がかかってしまうの。
だからミス率を減らすことがとても重要ね。

藤森 さやか 先生(普段) 藤森 さやか 先生

書き込み方式にはライトスルーとライトバックがあるの。
書き込みのタイミングが違うのよ。

青木 澪(普段) 青木 澪

ライトスルーは書き込みのたびにキャッシュと主記憶を両方更新、整合性は高いけど遅い。
ライトバックはキャッシュだけ更新して、後でまとめて主記憶に反映、高速だけど整合性管理が必要。

日野 こむぎ(普段) 日野 こむぎ

何か計算式とかあるの?

藤森 さやか 先生(笑顔) 藤森 さやか 先生

実効アクセス時間 = ヒット率 × キャッシュアクセス時間 + (1 - ヒット率) × 主記憶アクセス時間。
これは試験頻出よ。

確認クイズ

キャッシュメモリのヒット率が95%、キャッシュアクセスが10ns、主記憶アクセスが100nsの時、実効アクセス時間はどれか。

  1. 10ns
  2. 14.5ns
  3. 55ns
  4. 100ns
こたえを見る

正解: 2. 14.5ns

実効アクセス時間 = 0.95 × 10 + 0.05 × 100 = 9.5 + 5 = 14.5ns です。ヒット率が高いほど主記憶アクセスのペナルティを受けにくくなります。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。