メモリ階層は『速度・容量・コスト』のトレードオフを可視化した設計思想。レジスタ→キャッシュ→主記憶→補助記憶の各層を理解しましょう。
メモリ階層 は速度順に: レジスタ → キャッシュメモリ (L1/L2/L3) → 主記憶 → SSD → HDD → テープ。
上に行くほど速く、容量は小さく、コストは高い。
ねぇ、キャッシュってなんであるの?
CPU と主記憶の速度差を埋めるためなのよ。
CPU が ns 単位で動くのに対して、DRAM は数十 ns もかかるでしょう? その間に SRAM のキャッシュを挟むことで、ヒット率 95% 以上なら実効アクセス時間を劇的に縮められるの。
ライトスルー と ライトバック って何が違うんですかぁ?
ライトスルーは書き込みのたびに主記憶へも書く方式で、整合性は高いんですが速度は遅めです。
一方ライトバックはキャッシュにだけ書いて、追い出し時に主記憶へ反映する方式なので高速ですが、障害時の整合性には注意が必要ですね。
AP では『実効アクセス時間 = ヒット率×キャッシュ時間 + (1-ヒット率)×主記憶時間』の計算問題が頻出なのよ。
本番では自分の電卓は持ち込めず、使えるのは試験画面の電卓機能とメモ用紙だけだから、手を動かして練習しておきましょうね。
確認クイズ
ヒット率 95%、キャッシュアクセス時間 10ns、主記憶アクセス時間 100ns のとき、実効アクセス時間はおよそいくらか。
- 10ns
- 14.5ns
- 50ns
- 100ns
こたえを見る
正解: 2. 14.5ns
実効アクセス時間 = 0.95×10 + 0.05×100 = 9.5 + 5.0 = 14.5ns。ヒット率が 95% でも、ミス時のペナルティ (90ns 差) が効いて、純粋なキャッシュアクセスより 4.5ns 遅くなります。