CPU cacheとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > CPU cacheの意味・解説 

キャッシュ (コンピュータシステム)

(CPU cache から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/27 01:19 UTC 版)

キャッシュ英語: cache)は、CPUバスネットワークデータベースGPUDSPなどにおいて、情報を転送する際、転送効率を向上するための記憶階層の実現手段である[要出典]ハードウェアの形態とソフトウェアの形態がある。

キャッシュ概要図

転送元と転送先の中間に位置し、データ内容の一部とその参照を保持する。

参照が既にキャッシュに格納されているデータが転送要求されたとき、転送元ではなくキャッシュが転送を代行する。これをキャッシュヒットという。所望のデータがキャッシュに存在せず元データから転送する状態をキャッシュミスという。由来は不明で和製英語と思われるが、日本の一部の文献及び資格試験において「キャッシュミスヒット」という用語が使われている。

もしくは、データを滞留させてデータ粒度を高める機能を持つ。これらにより、データの時間的局所性空間的局所性を活用し、データ転送冗長性やオーバヘッドを低減させることで、転送効率を向上させる。

基本概念

記憶階層 (Memory Hierarchy)

記憶階層の例

データを保持する記憶装置の理想は大容量×高速アクセスであるが、通常コストパフォーマンスが悪く実現困難である。そのため、小容量×高速、中容量×中速、大容量×低速など複数段階にまたがった記憶構造とすることが多い。また一般に、CPUなどバスマスタに近い側を上位レベル、遠い側を下位レベルとし、各レベルを各々下位レベルの一時記憶として用いる。この構造を記憶階層という。

小容量×高速の代表はCPUレジスタであり、大容量×低速記憶装置の代表はハードディスク磁気テープなどの補助記憶装置である。

記憶階層のうちキャッシュに該当する、L1キャッシュとL2キャッシュについて、上位のL1キャッシュに存在するデータが下位のL2キャッシュにもデータが存在する方式(インクルージョンキャッシュ)と、上位のL1キャッシュに存在するデータが下位のL2キャッシュに必ずしもデータが存在しない方式(ビクティムキャッシュ)がある。

局所性 (Locality)

時間的局所性 (Temporal Locality)

データの再利用率とその時間的特性を示す言葉。ある領域のデータ転送が行われて、同一データの転送が再度、近い時間内に行われている場合を時間的局所性があるという。CPUにおける命令キャッシュや、ウェブブラウザなどにおけるファイル単位のデータ保持などは、転送が行われた近い期間にループや戻るボタンなどによる再転送要求を期待して、アクセスがあったデータをある程度後まで保持しておく。逆に音声のようなストリームデータなどは時間的局所性はあまりなく、下記にある空間的局所性に頼った効率化を図る必要がある。

空間的局所性 (Spatial Locality)

データの格納位置に対する偏在性を示す言葉。ある領域のデータ転送が行われて、近い時間内に、連続ないし近傍領域のデータ転送が行われている場合を空間的局所性があるという。真にランダムに転送されるべきデータというのは少なく、大抵のデータには空間的局所性が存在する。一般的にデータ転送でスループットよりレイテンシ、すなわちデータ転送帯域より転送距離が問題となる場合は、小さなデータを何度も転送するよりも少ない回数でより多くのデータを転送することで効率向上する場合が多い。従って転送元は空間的局所性を期待して未要求の近傍データも同時に送り、キャッシュにより未要求データを保持することで、キャッシュ下位レベルとの転送セット回数を削減しようとする。CPUキャッシュメモリのラインサイズは、この空間的局所性に鑑みて決定される。


歴史

  • 1961年 マンチェスタ大学Tom Kilburnらが開発中のコンピュータAtlasに仮想記憶機構を搭載
  • 1962年 Kilburnらが論文"One-level storage system"を発表
  • 1965年 ケンブリッジ大学M. V. Wilkesがキャッシュに関する最初の論文"Slave Memories and Dynamic Storage Allocation"を発表(論文ではキャッシュをスレーブメモリと呼んだ)
  • 1965年 ケンブリッジ大学でGordon Scarrottがダイレクトマップ方式の命令キャッシュを実装
  • 1967年 最初のキャッシュ搭載商用マシンIBM System/360 Model 85が完成(16-32KB, 80-160ns)。1968年発売
  • 1968年 IBMのDonald H. GibsonらがIBM System/360 Model 85の性能評価に関する論文"Structural Aspects of the System/360 Model 85 I: General Organization."を発表。そのなかで初めてキャッシュという用語が使用された

参考文献

  • ジョン・L・ヘネシー / デイビッド・A・パターソン著、富田眞冶 / 村上和彰 / 新實治男訳、『コンピュータ・アーキテクチャ 設計・実現・評価の定量的アプローチ』、日経BP社、ISBN 4-8222-7152-8
  • デイビッド・A・パターソン / ジョン・L・ヘネシー著、成田光彰訳、『コンピュータの構成と設計 ハードウエアとソフトウエアのインタフェース 第2版(上/下)』、日経BP社、ISBN 4-8222-8056-X/ISBN 4-8222-8057-8
  • 山崎傑著、『オペレーティング・システムの基礎』、CQ出版社、ISBN 4-7898-3668-1
  • 中森章著、『マイクロプロセッサ・アーキテクチャ入門 RISCプロセッサの基礎から最新プロセッサのしくみまで TECHI Vol.20』、CQ出版社、ISBN 4-7898-3331-3

関連項目




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CPU cache」の関連用語


2
命令キャッシュ デジタル大辞泉
58% |||||




6
一次キャッシュ デジタル大辞泉
50% |||||

7
キャッシュ‐メモリー デジタル大辞泉
50% |||||

8
三次キャッシュ デジタル大辞泉
50% |||||

9
38% |||||

10
二次キャッシュ デジタル大辞泉
36% |||||

CPU cacheのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CPU cacheのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのキャッシュ (コンピュータシステム) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS