記憶階層
記憶階層とは
Section titled “記憶階層とは”コンピュータにはさまざまな種類の記憶装置が搭載されています。しかし、「速くて大容量で安い」記憶装置は残念ながら存在しません。速い記憶装置は容量が小さく高価であり、容量が大きく安い記憶装置は動作が遅いという関係があります。
この速度・容量・コストのトレードオフを踏まえ、複数の記憶装置を階層的に組み合わせて効率的にデータを扱う仕組みを記憶階層と呼びます。
記憶階層を構成する4つの層
Section titled “記憶階層を構成する4つの層”記憶階層は、上層ほど高速・小容量・高コスト、下層ほど低速・大容量・低コストというピラミッド構造になっています。
それぞれの層について詳しく見ていきましょう。
レジスタは、CPU(プロセッサ)の内部にある最も高速な記憶装置です。CPUが計算を行う際に、演算対象のデータや命令を一時的に保持するために使います。容量はごくわずか(数十〜数百バイト程度)ですが、CPUと同じ速度で動作するため、アクセス速度は記憶階層の中で最速です。
キャッシュメモリ(SRAM)
Section titled “キャッシュメモリ(SRAM)”キャッシュメモリは、CPUと主記憶の間に置かれる高速な記憶装置です。主記憶よりも高速なSRAM(Static RAM)という半導体メモリで構成されています。
CPUが主記憶からデータを読み出すたびに待ち時間が発生すると、処理全体が遅くなってしまいます。そこで、よく使うデータをキャッシュメモリにコピーしておき、CPUが高速にアクセスできるようにしています。キャッシュメモリにデータがあればすぐに取得でき、なければ主記憶まで取りにいくという仕組みです。
主記憶(DRAM)
Section titled “主記憶(DRAM)”主記憶(メインメモリ)は、CPUが現在実行中のプログラムやデータを保持する記憶装置です。DRAM(Dynamic RAM)という半導体メモリで構成されています。
DRAMはSRAMに比べると速度は劣りますが、構造がシンプルなため大容量化しやすく、コストも抑えられます。一般的なPCでは数GB〜数十GB程度の容量が搭載されています。なお、DRAMは電源を切るとデータが消える揮発性メモリです。
補助記憶(HDD・SSD)
Section titled “補助記憶(HDD・SSD)”補助記憶(ストレージ)は、電源を切ってもデータが消えない不揮発性の記憶装置です。代表的なものにHDD(ハードディスクドライブ)とSSD(ソリッドステートドライブ)があります。
主記憶と比べるとアクセス速度は遅いですが、大容量のデータを安価に長期保存できます。OSやアプリケーション、写真や文書などのファイルは、普段は補助記憶に保存されており、必要なときに主記憶へ読み込まれて使われます。
速度・容量・コストの関係
Section titled “速度・容量・コストの関係”記憶階層の各層の関係を表で整理します。
| 記憶装置 | 速度 | 容量 | コスト(1バイトあたり) | 特徴 |
|---|---|---|---|---|
| レジスタ | 最速 | 最小(数百バイト) | 最高 | CPU内部に搭載 |
| キャッシュメモリ(SRAM) | 非常に速い | 小(数MB) | 高い | CPUと主記憶の橋渡し |
| 主記憶(DRAM) | 速い | 中(数GB〜数十GB) | 中程度 | 実行中のデータを保持 |
| 補助記憶(HDD・SSD) | 遅い | 大(数百GB〜数TB) | 安い | データの長期保存 |
このように、速度とコストはトレードオフの関係にあります。すべてを最速のレジスタやキャッシュメモリで構成すれば理想的ですが、コストが膨大になり現実的ではありません。そこで、速い記憶装置には少量の「今すぐ必要なデータ」を、遅い記憶装置には大量の「保存しておくデータ」を置くことで、速度とコストのバランスを取っているのです。
試験で出るポイント