メモリ階層とキャッシュ

レジスタ→キャッシュ→主記憶→補助記憶の階層と、ヒット率からの実効アクセス時間計算を整理。

メモリ階層は『速度・容量・コスト』のトレードオフを可視化した設計思想。レジスタ→キャッシュ→主記憶→補助記憶の各層を理解しましょう。

鳴海 理央(普段) 鳴海 理央

メモリ階層 は速度順に: レジスタ → キャッシュメモリ (L1/L2/L3) → 主記憶 → SSD → HDD → テープ。
上に行くほど速く、容量は小さく、コストは高い。

砂原 ニコ(普段) 砂原 ニコ

ねぇ、キャッシュってなんであるの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

CPU と主記憶の速度差を埋めるためなのよ。
CPU が ns 単位で動くのに対して、DRAM は数十 ns もかかるでしょう? その間に SRAM のキャッシュを挟むことで、ヒット率 95% 以上なら実効アクセス時間を劇的に縮められるの。

藤咲 まりあ(普段) 藤咲 まりあ

ライトスルー と ライトバック って何が違うんですかぁ?

鳴海 理央(普段) 鳴海 理央

ライトスルーは書き込みのたびに主記憶へも書く方式で、整合性は高いんですが速度は遅めです。
一方ライトバックはキャッシュにだけ書いて、追い出し時に主記憶へ反映する方式なので高速ですが、障害時の整合性には注意が必要ですね。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

AP では『実効アクセス時間 = ヒット率×キャッシュ時間 + (1-ヒット率)×主記憶時間』の計算問題が頻出なのよ。
本番では自分の電卓は持ち込めず、使えるのは試験画面の電卓機能とメモ用紙だけだから、手を動かして練習しておきましょうね。

確認クイズ

ヒット率 95%、キャッシュアクセス時間 10ns、主記憶アクセス時間 100ns のとき、実効アクセス時間はおよそいくらか。

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

正解: 2. 14.5ns

実効アクセス時間 = 0.95×10 + 0.05×100 = 9.5 + 5.0 = 14.5ns。ヒット率が 95% でも、ミス時のペナルティ (90ns 差) が効いて、純粋なキャッシュアクセスより 4.5ns 遅くなります。

🔖 この記事の関連書籍

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