パソコンやスマホがサクサク動く裏には、目に見えない「工夫」があったりする。そのひとつが「キャッシュ」という仕組み。
CPUやメモリ、ハードディスクなどの記憶装置の“速度の違い”をうまく調整する「キャッシュ」について解説!
そもそも、記憶装置ってなにがあるの?
記憶装置にはいろいろな種類があります。代表的なのは以下の3つ。
- レジスタ:CPUの中にある超高速な記憶装置
- メモリ(主記憶装置):作業中のデータを一時的に保存する
- ハードディスクなどの補助記憶装置:データを長期的に保存する
これらの装置は、データの読み書きのスピードがぜんぜん違う。
たとえばレジスタはとても速いですが、保存できる量が少ない。逆にハードディスクは大容量ですが、とても遅い。
この“速度差”がそのままだと、速い装置が遅い装置を待つことになってしまい、全体のパフォーマンスが落ちてしまう。
そこで登場!速度差を埋める「キャッシュ」
この「待ち時間によるムダ」を減らすために使われる技術が「キャッシュ」です。
キャッシュは、よく使うデータを“中間の位置”に一時保存しておく仕組みで、全体の処理をスムーズにしてくれます。
キャッシュには2つの種類がある
◆ キャッシュメモリ(CPUとメモリの間)
- どこにある?
CPUのレジスタとメモリの間に配置されます。 - なぜ必要?
CPUの処理速度に、メモリの速度が追いつかないため。 - どう使う?
よく使うデータをキャッシュメモリに保存して、次に同じデータを使うときはここから高速に読み取ります。 - 階層がある?
「一次キャッシュ」「二次キャッシュ」など、複数層で使われることもあります。
◆ ディスクキャッシュ(メモリとハードディスクの間)
- どこにある?
メモリとハードディスクの間にあります。 - なぜ必要?
ハードディスクはとても遅いので、よく使うデータをメモリ側にキャッシュしておくことで高速化できます。
主記憶装置への書き込み方式の違い
キャッシュにデータを書き込んだあと、「主記憶装置(メモリ)」にどう反映させるかにも種類があります。
🔸 ライトスルー方式
- 特徴:キャッシュと同時に主記憶装置にも書き込む
- メリット:常に最新の情報がメモリにあるので安心
- デメリット:速度はそこまで速くない
🔸 ライトバック方式
- 特徴:まずはキャッシュにだけ書き込んで、あとから主記憶装置に反映
- メリット:処理が速い!
- デメリット:タイミングの管理が難しく、整合性が崩れる可能性も
メモリインタリーブって?
「メモリインタリーブ」は、主記憶装置へのアクセスを高速化する方法のひとつ。
メモリの中を複数の区間(バンク)に分けて、並行してアクセスできるようにすることで、全体のスピードアップを図ります。
まとめ
仕組み | 役割 | メリット |
---|---|---|
キャッシュメモリ | CPUとメモリの間 | CPUの速度を活かせる |
ディスクキャッシュ | メモリとHDDの間 | データの読み書きが速くなる |
ライトスルー方式 | 同時書き込み | 常にデータが正確 |
ライトバック方式 | 遅延書き込み | 高速だが制御が複雑 |
メモリインタリーブ | 同時アクセスの工夫 | 主記憶装置の読み込みが速くなる |
コメント