スポンサーリンク

【応用情報技術者試験】キャッシュを5分で理解!

キャッシュは、再び使う可能性が高いデータなどを近くに置き、取り出す時間を減らす仕組みです。この記事ではCPUのキャッシュメモリを中心に、ヒット・ミス・局所性を整理します。

基本の意味をつかんだ後、ヒット率とアクセス時間を使う計算は、最後の無料noteで例題に進めます。

1.CPUと主記憶の速度差を補う

CPUが主記憶からのデータを待つ時間を減らすために、小容量で高速なキャッシュメモリを使います。よく使う資料を本棚から机の上へ出しておくイメージです。

2.ヒットとミスを分ける

キャッシュにデータがあればヒット、なければミスとなり主記憶から取得する
キャッシュにデータがあればヒット、なければミスとなり主記憶から取得する
状態意味データ取得先の基本
ヒット必要なデータがキャッシュにあるキャッシュ
ミス必要なデータがキャッシュにない主記憶など下位の記憶階層

100回のアクセスで90回ヒットなら、ヒット率は90÷100=0.9、百分率では90%です。ミス率はこの例で10%。割合を使う計算では90ではなく0.9に直す必要があります。

3.局所性がキャッシュを有効にする

時間的局所性は、最近使ったデータを再び使う傾向です。空間的局所性は、アクセスした場所の近くのデータも使う傾向です。同じ変数の繰返しや、配列の連続アクセスをイメージしましょう。

4.階層とWebキャッシュの違い

一般的にはL1 → L2 → L3 → 主記憶のような階層があります。CPUに近い階層ほど高速・小容量になる傾向がありますが、実装はCPUにより異なります。ブラウザのキャッシュも再利用のための保存ですが、CPUキャッシュとは保存対象や仕組みが異なります。

理解を確かめる確認問題

キャッシュメモリを利用する主な目的はどれでしょうか。
ア:主記憶容量を増やす イ:データを圧縮する ウ:CPUと主記憶の速度差を補う エ:通信速度を上げる

解答・解説を見る

正解はウです。必要なデータを高速に取り出し、CPUの待ち時間を減らします。

まとめ:ヒットとミスでは、かかる時間が違う

ヒット率が高いほど、速い記憶階層からデータを取り出せる機会が増えます。次は割合と各アクセス時間から、平均の時間を求める練習へ進めます。

コメント