キャッシュメモリ (キャッシュメモリ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

キャッシュメモリ (キャッシュメモリ) の読み方

日本語表記

キャッシュメモリ (キャッシュメモリ)

英語表記

cache memory (キャッシュメモリ)

キャッシュメモリ (キャッシュメモリ) の意味や用語解説

キャッシュメモリとは、CPUがデータを処理する際に、主記憶装置(メインメモリ)へのアクセス速度の遅さを補うために利用される、高速かつ小容量のメモリのことである。現代のコンピュータシステムにおいて、CPUの処理速度は飛躍的に向上しているが、主記憶装置のアクセス速度はそれに追いついていない。この速度差がシステムのボトルネックとなり、CPUが主記憶からのデータ待ちでアイドル状態になる「ウェイティング」が発生する原因となる。キャッシュメモリは、この速度差を埋め、CPUが待つ時間を最小限に抑えることで、システム全体の処理性能を大幅に向上させる重要な役割を担っている。 詳細を述べると、キャッシュメモリはCPUと主記憶装置の間に配置され、CPUが頻繁にアクセスするデータや命令の一時的な保管場所として機能する。CPUが何らかのデータや命令を必要とした際、まず主記憶にアクセスする前にキャッシュメモリ内を検索する。この検索の結果、必要なデータがキャッシュメモリ内に存在する場合、これを「キャッシュヒット」と呼ぶ。キャッシュヒットが発生した場合、CPUは主記憶にアクセスするよりもはるかに高速にデータを受け取ることができ、処理を滞りなく続行できる。一方、必要なデータがキャッシュメモリ内に見つからない場合、これを「キャッシュミス」と呼ぶ。キャッシュミスが発生すると、CPUは主記憶装置に直接アクセスしてデータを読み込むことになる。この際、読み込んだデータは将来の再利用に備えて、キャッシュメモリにもコピーされる。これは、プログラムの実行において、一度アクセスしたデータやその周辺のデータが再び参照される可能性が高いという「参照の局所性」(時間的局所性と空間的局所性)という特性に基づいている。キャッシュメモリは、この特性を効率的に利用することで、高いキャッシュヒット率を実現し、システムのパフォーマンス向上に貢献している。 キャッシュメモリは通常、複数の階層で構成されている。最もCPUコアに近い高速なキャッシュを「L1キャッシュ(レベル1キャッシュ)」と呼ぶ。L1キャッシュは非常に高速だが容量は小さく、CPUのクロックサイクルとほぼ同じ速度で動作する。L1キャッシュはさらに、命令を格納する「L1命令キャッシュ」とデータを格納する「L1データキャッシュ」に分かれていることが多い。L1キャッシュでキャッシュミスが発生した場合、次に「L2キャッシュ(レベル2キャッシュ)」が検索される。L2キャッシュはL1キャッシュよりも容量が大きく、L1よりは低速だが主記憶よりはるかに高速である。そして、L2キャッシュでもミスが発生した場合、さらに「L3キャッシュ(レベル3キャッシュ)」が存在することがある。L3キャッシュはL2よりも容量が大きく、複数のCPUコアで共有されることもあるが、L1やL2よりは低速である。このようにキャッシュを階層化する理由は、高速なメモリは製造コストが高く、大容量化が難しいという経済的・物理的制約の中で、速度と容量のバランスを取りながらシステム全体の性能を最適化するためである。 キャッシュメモリへのデータの書き込みには、主に「ライトスルー」と「ライトバック」という二つの方式がある。ライトスルー方式では、CPUがキャッシュメモリにデータを書き込む際、同時に主記憶装置にも同じデータを書き込む。これにより、常にキャッシュメモリと主記憶の内容が一致している状態が保たれるため、データの整合性は高いが、主記憶への書き込みが常に発生するため処理速度が若干低下する可能性がある。一方、ライトバック方式では、CPUがデータを書き込む際、まずキャッシュメモリにのみ書き込み、主記憶装置への書き込みは、そのデータがキャッシュから追い出される際や、特定のタイミングでまとめて行われる。この方式は書き込み性能が高いが、キャッシュと主記憶の間でデータが一時的に不整合になる可能性があるため、より複雑なキャッシュ管理機構が必要となる。 キャッシュメモリは、現代のコンピュータシステムにおいて、CPUがその高速な処理能力を最大限に発揮するために不可欠な要素である。この技術がなければ、CPUは常に低速な主記憶のデータ待ちで時間を浪費し、システム全体の性能は著しく低下することになる。キャッシュメモリの存在と適切な管理は、アプリケーションの実行速度、OSの応答性、データ処理能力など、コンピュータシステムのあらゆる側面に直接的な影響を与え、今日の高性能なコンピューティング環境を実現する上で中心的な役割を担っている。

キャッシュメモリ (キャッシュメモリ) とは | 意味や読み方など丁寧でわかりやすい用語解説