メモリにおけるデータの局所性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/14 14:36 UTC 版)
「参照の局所性」の記事における「メモリにおけるデータの局所性」の解説
データの局所性は普通のプログラムの典型的なメモリ参照の特徴である(ただし、典型的でないアクセスパターンも数多い)。データの局所性によって階層的なメモリ構成が性能向上に寄与することになる。コンピュータにおいてメモリはデータアクセスの速度によって階層化される。低レベルのメモリ階層は相対的に遅いが、大容量である。従って、プログラムはより上位のメモリ階層にキャッシュされることで高性能を発揮し、近い将来にアクセスされると予測されるデータをキャッシュすることでさらに高性能となる。これが理想であるが、実際には達成できないこともある。 典型的なメモリ階層は以下のようになっている(2006年現在の一般的なアクセス時間とサイズを以降の議論のために付記。個々の実際のシステムによってこれらの値は異なる): レジスタ (8~32個のレジスタ) – 高速アクセス (0~1クロックサイクル) 一次および二次キャッシュ (128Kバイト~2Mバイト) – 若干遅いアクセス(10クロックサイクル) 主記憶装置(RAM) (128Mバイト~4Gバイト) – 遅いアクセス(100クロックサイクル) ディスク(仮想記憶とファイルシステム) (1Gバイト~1Tバイト) – 非常に遅い(1,000~10,000クロックサイクル) 遠隔記憶(他のコンピュータまたはインターネット)(容量は事実上無限) – スピードは様々 最近のマシンでは、メモリ階層の下位レベルのブロックを1つ上位の階層に読み込む。これによって使用中のメモリ内容を置き換える場合、オペレーティングシステムは最もアクセスされていないと思われるデータを決定し、それを下位のメモリ階層に移す。この決定アルゴリズムはハードウェアをなるべく簡略化するために単純なものとなっていることが多いが、これも複雑化する傾向にある。
※この「メモリにおけるデータの局所性」の解説は、「参照の局所性」の解説の一部です。
「メモリにおけるデータの局所性」を含む「参照の局所性」の記事については、「参照の局所性」の概要を参照ください。
- メモリにおけるデータの局所性のページへのリンク