MMUによるTLB管理の場合
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/08/09 14:54 UTC 版)
「トランスレーション・ルックアサイド・バッファ」の記事における「MMUによるTLB管理の場合」の解説
CPU自身が自動的にページテーブルを参照して、指定された仮想アドレスに対応するエントリがないか調べる(x86の場合は、CR3レジスタを使用)。エントリがあれば、必要な情報がTLBに読み込まれ、TLB参照を再実行し、TLBヒットとなってプログラムの実行は正常に続行される。CPU がページテーブルから対応するエントリを見つけられなかった場合ページフォールトが発生してオペレーティングシステムが例外処理を行う。その場合、必要なデータを物理メモリにロードし、ページテーブルを書き換えて例外を発生した仮想アドレスにデータをロードした物理アドレスを対応させ、プログラムの実行を再開する(詳しくはページフォールト参照)。この場合、TLBエントリの詳細なフォーマットはソフトウェアからは見えず、同じアーキテクチャであっても互換性を失わずにCPUの機種ごとに変更(最適化)することができる。
※この「MMUによるTLB管理の場合」の解説は、「トランスレーション・ルックアサイド・バッファ」の解説の一部です。
「MMUによるTLB管理の場合」を含む「トランスレーション・ルックアサイド・バッファ」の記事については、「トランスレーション・ルックアサイド・バッファ」の概要を参照ください。
- MMUによるTLB管理の場合のページへのリンク