1

だから私は本当にこれを理解していません。誰でもこれらの問題を解決する方法を説明できますか?

ページングベースのメモリシステムを備えた 32 ビット CPU があるとします。ページのサイズは 4KB(2^12) です。ここで、CPU は仮想アドレス 0x0000AAA を生成します

1.) この仮想アドレスの仮想ページ番号は? ページオフセットとは何ですか?

2.) 以下のページ テーブルを使用して、上記の仮想アドレスを 16 進数表記の物理アドレスに変換します。ページ テーブルには、最初の 5 つのエントリが表示されます。

0 - 0xAAAAA 1 - 0xBBBBB 2 - 0xCCCCC 3 - 0xDDDDD 4 - 0xEEEEEE

4

2 に答える 2

2

ページのサイズが4KB(= 4096バイト)の場合、0から4095(0x00000fff)までのすべてのアドレスが最初のページにあることを意味します。

0x0000aaaは0x00000fff未満であるため、これはまだ最初のページ(ページ#0)にあります。

仮想アドレス0x00000aaaに対応する物理アドレスを取得するには、ページ#0のプレフィックスである0xAAAAAを検索します。

于 2012-12-14T19:24:36.807 に答える
1

ページ サイズが 4 KB であるため、ページには 4K のアドレスがあることを意味します。したがって、ページ内のすべてのアドレスに到達するには 12 ビットが必要です。
したがって、ページ オフセット = 12 ビット .
システムは 32 ビットであるため、20 ビットがページ番号として使用されます。
ページ サイズはフレーム サイズと等しいため、フレーム オフセット = 12 ビットです。
次に、ページ テーブルを使用して物理アドレスを取得します。

于 2016-10-28T08:09:30.387 に答える