キャッシュ_(コンピュータシステム)
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

ウィキペディアのサーバ上にある、高速に表示させるためのキャッシュについて、

詳細についてはmeta:ウィキメディアのサーバを、

破棄する方法についてはHelp:キャッシュ破棄を、

ウェブブラウザ側のキャッシュを消す方法についてはWikipedia:キャッシュを消すをごらんください。

この項目では、メモリやレジスタなどのハードウエアに限らず、システム全体でのキャッシュについて説明しています。キャッシュ用メモリについては「キャッシュメモリ」をご覧ください。
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "キャッシュ" コンピュータシステム ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2020年9月)

キャッシュ(英語: 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."を発表。そのなかで初めてキャッシュという用語が使用された

参考文献

出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。記事の信頼性向上にご協力をお願いいたします。(2023年5月)


ジョン・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

関連項目

CPU

レジスタ

キャッシュメモリ

トランスレーション・ルックアサイド・バッファ


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:15 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef