テクノロジ系

記憶階層の考え方

アイコン名を入力

さて、今回は記憶機能の階層について解説するよ。

アイコン名を入力

むむ、なんだか難しそう…。

アイコン名を入力

プロセッサと同様にコンピュータ全体の性能を左右する重要な要素なので、ぜひ覚えておこう。

おさらい

記憶機能とは

以前の授業で、コンピュータの五大機能の一つである記憶機能について解説しました。記憶機能とは、入力機能によって取り込んだ情報を、コンピュータ内部で処理するために保存しておく機能です。

記憶機能

記憶機能には「主記憶装置」と「補助記憶装置」があることについて軽く触れました。今回はその違いについて解説します。

記憶階層の考え方

主記憶装置と補助記憶装置

主記憶装置も補助記憶装置も、どちらもデータやプログラムを記憶しておくための装置です。演算装置(かつ制御装置)であるCPUは、処理対象のデータを記憶装置との間で読み書きします。

CPUと記憶装置の関係

コンピュータが高速に動作するためには、CPUの演算処理、およびCPU↔記憶装置間のデータの読み書きが高速で行われる必要があります。

アイコン名を入力

せっかくCPUが速くても、記憶装置が遅いと全体としては遅くなっちゃうんだね。

CPUの処理速度は非常に高速なため、CPUが直接データを読み書きする記憶装置は同等の処理速度が求められます。記憶装置は、電源を切ってもデータを保持できる機能が求められます。しかし、電源を切ってもデータが消えない不揮発性の記憶装置は、その構造上読み書きの速度があまり速くありません。

そこで、「データは保持できないが速度の速い主記憶装置」と「速度は遅いがデータを保持できる補助記憶装置」を併用する仕組みが誕生しました。

主記憶装置と補助記憶装置は、それぞれ一般的に以下のような違いがあります。

CPUがデータを読み込むとき、データは主記憶装置からCPUへ渡されます。データが主記憶装置上に存在しない場合は、補助記憶装置から主記憶装置へデータを読み込んだあと、CPUへ渡されます。

反対にCPUがデータを書き込むとき、データはCPUから主記憶装置へ渡されます。データを受け取った主記憶装置は、必要に応じてデータを補助記憶装置へ渡します。

CPU・主記憶装置・補助記憶装置の関係

このように、CPUが常に高速な主記憶装置とデータをやり取りすることで、コンピュータ全体の動作を高速化しているというわけです。

アイコン名を入力

電気とガソリンのハイブリッドカーみたいなものだね!

アイコン名を入力

そのとおり。1つの記憶装置では速さとデータ保持の特性を両立できないので、互いにカバーし合っているということだよ。

メインメモリとキャッシュメモリ

コンピュータ全体の動作を高速化するため、CPUが直接データを読み書きする記憶装置は主記憶装置であると解説しました。しかし、それでもCPUと主記憶装置の処理速度には大きな差があるため、主記憶装置だけではCPUの性能を最大限発揮することができません。

アイコン名を入力

CPUってすごいんだね…。

記憶装置に保持されているデータには、使用頻度の高いものと低いものが混在しています。そのことに着目し、使用頻度の高いデータを主記憶装置よりも高速な記憶装置にコピーし、CPUのデータの読み書きをさらに高速化する仕組みが誕生しました。

主記憶装置を「メインメモリ」と呼ぶのに対し、このさらに高速な記憶装置は「キャッシュメモリ」と呼びます。

キャッシュメモリは、CPUと主記憶装置の間に位置します。使用頻度の高いデータは、メインメモリからキャッシュメモリにコピーされます。必要なデータがキャッシュメモリにある場合は、CPUはキャッシュメモリからそのデータを読み込みます。必要なデータがキャッシュメモリにない場合は、メインメモリからキャッシュメモリへ読み込み、CPUへ渡します。こうすることで、CPUの高い処理性能を最大限発揮できるというわけです。

メインメモリとキャッシュメモリの関係
アイコン名を入力

よく使うデータを読み書きが速い場所に置いておくってことだね。

アイコン名を入力

そのとおり。メインメモリの容量も大切だけど、キャッシュメモリの容量も性能に大きく影響するよ。

まとめ

記憶階層の考え方は以下のとおり。

アイコン名を入力

なんとなく分かったよ!

アイコン名を入力

合格!