キャッシュメモリとアクセス時間:CPU高速化の要
概要と特徴
- 概要 (Overview)
- CPU (Central Processing Unit) と 主記憶装置 (Main Memory / RAM) の間に配置される、高速で小容量の記憶装置。
- CPUが頻繁にアクセスするデータや命令を一時的に保持し、処理速度の向上を図る。
- アクセス時間 (Access Time)
- CPUが記憶装置にデータの読み書きを行うのに要する時間。キャッシュメモリのアクセス時間は、主記憶装置に比べて非常に短い(ナノ秒単位)。
- 実効アクセス時間 (Effective Access Time)
- キャッシュメモリを導入した場合の、データアクセスにかかる平均時間を示す指標。
- ヒット率 (Cache Hit Rate)
- CPUが必要とするデータがキャッシュメモリ内に存在している確率。この率が高いほど、実効アクセス時間は短縮され、性能が向上する。
分類
- 階層による分類
- L1キャッシュ (Level 1 Cache):
- CPUコアに最も近く、最速。容量は最小(数十KB程度)。命令とデータに分かれていることが多い。
- L2キャッシュ (Level 2 Cache):
- L1よりやや遅いが、容量は大きい(数百KB〜数MB)。CPUコアごとに設けられることが多い。
- L3キャッシュ (Level 3 Cache):
- L2より遅いが、容量は最大(数MB〜数百MB)。複数のコアで共有されることが多い (LLC: Last Level Cache)。
- L1キャッシュ (Level 1 Cache):
- 使用されるメモリ
- SRAM (Static RAM):キャッシュメモリに使用されるメモリタイプ。フリップフロップ回路を使用し、高速だが高コスト。
上位概念・下位概念
- 上位概念
- 記憶階層 (Memory Hierarchy): 速度、容量、コストに基づき、レジスタ、キャッシュ、主記憶、補助記憶と階層化された記憶装置の構造全体。
- 主記憶装置 (Main Memory / RAM): キャッシュメモリよりも低速で大容量の揮発性メモリ。
- 下位概念
- レジスタ (Register): CPU内部にあり、キャッシュメモリよりもさらに高速で極小容量の記憶領域。
メリット
- 高速化: 高速なキャッシュが主記憶へのアクセスを肩代わりし、CPUの実効アクセス時間が短縮される。
- 効率化: CPUと主記憶装置の間に存在する速度差を埋め合わせる。
デメリット
- 高コスト: 高速な SRAM を使用するため、製造コストが高くなる。
- 容量制限: 高コストと集積度の観点から、大容量化が困難。
- 複雑な制御: 複数のコアやキャッシュ間でデータの一貫性(コヒーレンシ)を保つための制御が必要となる。
既存との比較
| 記憶装置の種類 | アクセス時間(特徴) | 容量(特徴) | コスト |
|---|---|---|---|
| レジスタ | 最速(サブナノ秒) | 最小 | 最高 |
| キャッシュメモリ (L1, L2, L3) | 非常に高速(ナノ秒) | 小 | 高 |
| 主記憶装置 (RAM) | 高速(ナノ秒) | 大 | 中 |
| 補助記憶装置 (SSD/HDD) | 低速(マイクロ秒~ミリ秒) | 最大 | 低 |
導入ポイント
- 局所性の活用: データや命令の局所性 (Locality of Reference)(時間的・空間的)を最大限に引き出すように、キャッシュの容量やブロックサイズを設計する。
- 格納方式の選択:
- ダイレクトマップ方式: 実装が単純。
- フルアソシアティブ方式: ヒット率が高い。
- セットアソシアティブ方式: 両者の中間的なバランスを持つ。
注意点
- 実効アクセス時間の計算: キャッシュの性能評価において最も重要。計算にはヒット率が不可欠。
- 実効アクセス時間の計算式(プレーンテキスト変換)
- 実効アクセス時間 = (キャッシュのアクセス時間 × ヒット率) + (主記憶のアクセス時間 × (1 - ヒット率))
今後
- 大容量化: CPUのマルチコア化に伴い、特にL3キャッシュなど共有キャッシュの大容量化が継続。
- 低レイテンシ: アクセス遅延 (latency) のさらなる短縮を目指した技術開発が進む。
関連キーワード
- SRAM
- DRAM
- 局所性の原理 (Principle of Locality)
- キャッシュライン (Cache Line)
- ミス率 (Miss Rate)
- キャッシュコヒーレンシ (Cache Coherency)
- ライトスルー方式 (Write-Through)
- ライトバック方式 (Write-Back)