目次(まとめ)
- キャッシュとは、CPUとメモリとハードディスクの間に生じる処理速度の差をやわらげるための仕組み
- キャッシュは「最近使ったデータはまた使われることが多い」ということを利用した技術
- 関連記事(キャッシュメモリの応用例)
- 参考文献
こんにちは、みっちゃんです。
今回の記事では「コンピュータ内のキャッシュの役割がよくわからない」という方向けに、"キャッシュ" メモリ、ディスク "キャッシュ" について解説します。
キャッシュとは、CPUとメモリとハードディスクの間に生じる処理速度の差をやわらげるための仕組み
コンピュータの中でデータの演算を担っている装置が、中央演算処理装置(CPU: Central Processing Unit)です。
「コンピュータの脳」と呼ばれるほど大事な装置で、コンピュータの中で最も早い速度で、さまざまな処理をこなすことができます。
しかし、演算に用いる "データ" は、CPUにあるわけではありません。
処理の流れを簡単に示すと、
❶ CPUが、メモリ上にあるデータを読み込む
❷ CPUが演算する
❸ CPUが、演算結果をメモリ上に書き込む
というようになります。
ここで、メモリの処理速度はCPUほど早くないという点が問題になります。
つまり、CPUは、メモリの読み書きの間、待ち時間が生じてしまうのです。
そこで、メモリより処理速度が速い「キャッシュメモリ」を使用します。
例えば「❶ CPUが、メモリ上にあるデータを読み込む」とき、CPUによる最初の読み込みの際には、メモリからデータを読み込みますが、その際に、キャッシュメモリにも読み込んでおいて、CPUによる次の読み込みの際には、メモリではなくキャッシュメモリから読み込むようにします。
キャッシュメモリがメモリより処理速度が速いため、CPUの待ち時間を減らすことができます。
同様に、コンピュータ内の全てのデータがメモリにあるわけではなく、メモリとハードディスクがデータをやりとりしています。
データの流れを簡単に示すと、
❶ メモリが、ハードディスク上にあるデータを読み込む
❷ メモリのデータがCPUで演算される
❸ メモリが、データをハードディスク上に書き込む
というようになります。
ここで、ハードディスクの処理速度はメモリほど早くないという点が問題になります。
つまり、メモリは、ハードディスクの読み書きの間、待ち時間が生じてしまうのです。
そこで、ハードディスクより処理速度が速い「ディスクキャッシュ」を使用します。
キャッシュは「最近使ったデータはまた使われることが多い」ということを利用した技術
キャッシュについて理解していくと「いたちごっこ」のようにも思えます。
コンピュータの部品(CPUやメモリ、ハードディスクなど)は、処理速度が速いほど小容量、処理速度が遅いほど大容量です。
したがって、処理速度や容量の違う部品を、うまく組み合わせて運用する必要があります。
上で説明したような「次にアクセスされたとき」に早く読み書きできるようにする仕組みですが、キャッシュの容量は大きくないので、もちろん全てのデータを読み込んでおくことは不可能です。
そこで、できるだけ、次にアクセスされやすいデータを読み込んでおきたいわけですが、キャッシュは「最近使ったデータはまた使われることが多い」ということを想定しています。
「本当にそうなるのか?」と思ってしまいますが、経験的にそうなるようです。
関連記事(キャッシュメモリの応用例)
参考文献
きたみりゅうじ「キタミ式イラストIT塾 応用情報技術者」技術評論社