差分

移動先: 案内検索

記憶管理

115 バイト除去, 2010年11月11日 (木) 14:26
/* 局所参照性 */
== 局所参照性 ==
[[File:Memory_fig4.png|thumb|left|300px|キャッシュのモデル]]
局所参照性とは「プログラムは同じ場所を繰り返しアクセスする性質を持ちやすい」というものです。常に成立するわけではありません。もしプログラムがランダムにメモリ空間全域をアクセスする性質を一般に持っていたならば、たぶん仮想記憶のようなシステムは無意味だったでしょう。なぜならば大量のページイン・ページアウトが発生しまうからです。このように大量のページイン・ページアウトが発生してしまう状態をスラッシングと呼びます。しかし殆んどのプログラムは局所参照性を持つので、使われていない部分を外部に移しても全体としてみた場合、リーズナブルなパフォーマンスが得られているのです。
この考え方は仮想記憶に限らずCPUのキャッシュメモリなどでも使われています。最近のCPUはキャッシュが512KB、1MB、2MBとどんどん増えています。これはメモリからデータをフェッチしてきて、CPU内のキャッシュにおき、そこをアクセスします。当然、外にあるメモリよりCPU内のキャッシュの方がアクセス速度は格段に良いですから、それだけ速度が出るということになります。
 
 
+------+ +----------+ +------------------------+
| CPU |<->|キャッシュ|<---->| メインメモリ |
+------+ +----------+ +------------------------+
匿名利用者