いちいちデータを取りに行かない【キャッシュメモリ】

キャッシュメモリ


コンピュータの記憶装置としては、メインメモリやUSBメモリ、ハードディスクやSSDなどを挙げることができます。

そして、じつはCPUにも小容量ながら記憶領域が内蔵されていて、それがキャッシュメモリと呼ばれるものです。この記事ではキャッシュメモリについて解説していきます。

キャッシュメモリとは?


キャッシュメモリとは、CPUとメインメモリとの間でデータをやり取りする際に中継ぎの役割を担う記憶装置のことです。メインメモリよりも高速にデータを扱うことができます。

そして、CPUがデータそのものにアクセスするまでの時間を実効アクセス時間といいます。キャッシュメモリを中継ぎとして利用することで実効アクセス時間を短縮することができるわけです。

複数のキャッシュメモリ:n次キャッシュ


CPUとメインメモリとのアクセス時間でのギャップをできる限り埋めるために複数のキャッシュメモリが設けられることがあります。n次キャッシュとはいえ、たいていは多くても3次キャッシュまでです。

キャッシュメモリの数が多いほどキャッシュメモリ全体の容量が大きくなり、そのぶんメインメモリへのアクセスを減らすことができます。つまり、実効アクセス時間を短縮する効果が高まるわけです。

キャッシュメモリのアクセス順


CPUが最初にアクセスするのが1次キャッシュ、その次が2次キャッシュ、そして3次キャッシュ……と続いていき、キャッシュメモリにデータがない場合にようやくメインメモリにアクセスされます。

つまり、

  CPU
→ 1次キャッシュ
→ 2次キャッシュ
→ 3次キャッシュ
メインメモリ


……といった具合ですね。そしてCPUに近いキャッシュメモリほど高速にデータを扱うことができます。つまり1次キャッシュ最も高速なのです。

キャッシュメモリの動作方式


ここからはキャッシュメモリにデータを書き込む方式についての説明です。これには2つの方式が存在し、それぞれライトスルー方式ライトバック方式と呼ばれます。

キャッシュメモリにも同時に書き込む:ライトスルー方式


キャッシュメモリとメインメモリの両方にデータを同時書き込みする方式をライトスルー方式といいます。


この方式ではキャッシュメモリとメインメモリの両方にデータを書き込むため、データの整合性を保ちやすく制御も容易です。しかし「両方同時に」書き込むためアクセス速度の高速化にはあまり寄与しません。そのため後述のライトバック方式より処理速度が遅くなります。

キャッシュメモリには後から書き込む:ライトバック方式


先にキャッシュメモリにだけデータが書き込まれ、後からまとめてメインメモリにデータを書き込む方式をライトスルー方式といいます。


ライトスルーとは異なりキャッシュメモリとメインメモリを別々のタイミングアクセスするため、整合性を保つために制御が複雑になります。ただライトスルー方式と比べてメインメモリにアクセスする回数が減るため処理速度は高速となります。






それでは、今回はここまでといたします。
最後までお読みいただきありがとうございます。


キャッシュメモリ
最新情報をチェックしよう!