皆さん、こんにちは。
よく、レジスタとキャッシュメモリの違いが
よく分からないというご質問をいただきます。
どちらもCPUとの関わりで出てくるメモリですし、
実物を見る機会がない(想像だけで理解するしかない)ので、
なかなかイメージがわかない難解なモノですよね。
もちろん、レジスタとキャッシュメモリは異なります。
コンピュータの5大装置に当てはめるとすれば、
キャッシュメモリ:主記憶装置の一部
レジスタ:演算装置の一部
です。
私たちが入力したデータは主記憶装置に一時的に保存されます。
そして、そこから演算装置(CPU)に渡されて処理されます。
処理される途中でも、一時的に計算結果を保存する必要がある場合があります。
そのときにレジスタに保存しておきます。
また、次の処理に必要なデータが主記憶装置の
どこに保存されているかという情報もレジスタに保存されます。
キャッシュメモリはあくまでも、本来、主記憶に保存されるべきデータのうち、
よく使われるデータをCPUから読み出しやすい
(近い位置にある)場所に保存するためのメモリです。
ちなみに、ハードディスクにもキャッシュメモリが備えられており、
ハードディスクからよく読み出されるデータを一時的に保存しておいて、
またハードディスクに対して読出要求がきた場合に
ハードディスク内のキャッシュメモリからメインメモリに
転送することにより読み取り速度を上げ、全体的な処理速度を上げるためにも使われています。
以上のように、レジストとキャッシュメモリでは、
役割・位置づけともに異なります。