2

これらは Accessed ビットと Dirty ビットとして知られているかもしれません。現在、x86 PTEにはこれらのビットが含まれています。TLBにもこれらのビットが含まれているとしましょう。TLB ヒットの場合、参照しているページ フレームがアクセスまたは変更されると、これらのビットはハードウェアによって設定されます。私の質問は、ハードウェアによってこれらのビットがいつ PTE にコピーされ、これがどのように正確に達成されるか (特にソフトウェア管理の TLB の場合) です。

PS - ページ置換アルゴリズムを設計およびテストしようとしているので、これを知りたいです。

4

1 に答える 1

1

x86 CPU には、ソフトウェア管理の TLB がありません。そのようなことをシミュレートしたい場合は、物理ページを仮想アドレス空間にマッピングおよびマッピング解除するのと同じように、通常の TLB の上に実装する必要があります。ページ フォールト ハンドラでページ アクセスをインターセプトし、PDEs/ PTE は、必要に応じて TLB エントリを無効にし、マルチプロセッサ システムの場合は特別な注意を払います。

CPU によるアクセス済みビットとダーティ ビットの 1 への設定は、ソフトウェアに対して透過的に行われるため、ページがアクセスされると、すぐに変更が表示されます。

詳細については、「Intel® 64 and IA-32 Architectures Software Developer's Manual」を参照してください。第 1 巻から第 3 巻までをまとめた PDF を入手して、必要な情報をすべて 1 か所にまとめてください。

于 2013-01-20T22:31:01.267 に答える