キャッシュメモリとアクセス時間

キャッシュメモリとアクセス時間: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)。
  • 使用されるメモリ
    • 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)