ここで宿題の問題があり、開始方法が少し混乱しています。論理アドレス 0、4、9、15、30 を物理アドレスに変換する必要があります。私はオンラインで見ましたが、同様の例を見つけることができませんでした. 質問を見つけましたが、与えられた情報が大きく異なります (ページ インデックスと各論理アドレスのオフセットを提供するなど)。以下は質問です。私は m=32 と n-3 を与えるパート 1 を実行しました。正しい方向への助けは素晴らしいでしょう!
3 に答える
(1)論理空間のサイズは 32 で 5 ビットを使用し、ページサイズは 8 で 3 ビットを使用します。
問題は「必要」と述べています。これは、使用される最小ビットを意味すると思います。その場合、上位には 5-3 = 2 ビットが必要で、下位には 3 ビットが必要です。
1バイトのアドレッシングを使用しているため、5-3 = 2ビットを使用してページ番号を表すと、アドレス形式は物理アドレス形式では使用できないことがわかります。したがって、上位の 8-3 を使用できます = 5 ビットはページ番号を表し、残りの 3 ビットはページ オフセットを表します。
(2)。たとえば、論理アドレス 4 の場合、ページ番号は 0 で、ページ オフセットは 4 です。表によると、ページ 0 はフレーム 6 にマップされます。したがって、物理アドレスは次のようになります。
(00110) (100) = 6 * 8 + 4 =54
上記のページテーブル構造を理解することはほとんど不可能であり、本質的な詳細を提供していません. 私はあなたを助けようとしますが。ただし、これらの値は物理アドレスであると仮定します (おそらくそうです)。
次の詳細を考慮する必要があります。
アドレス空間: 32 バイト
総ページ数: 4
ページ サイズ: 8 バイト
アドレッシング: 1 バイト
ページ テーブル エントリ: 6 8 0 1
厳密に言えば、ページ テーブル エントリにインデックスを作成し、その結果としてオフセットを取得する必要があります。
したがって、ページ テーブル エントリ (4 エントリ) のインデックスには 2 ビットしか必要ありませんが、ページ内のオフセットには 6 ビット (8 バイト - 64 ビット) が必要です。
また、1 バイトのアドレッシングを想定する必要があります。
仮想アドレス: (8 ビット) - 合計 0 0 (2 ビット) - ページ テーブル エントリ。 0 0 0 0 0 0 (6 ビット) - ページへのオフセット。
次の問題は、論理を物理に変換することです: 0、4、9、15、30 (このような数値は常にバイナリ形式に変換することをお勧めします)
一例: PTE オフセット 0 = (0 0) (0 0 0 0 0 0) 物理アドレスが 6 である最初のページ テーブル エントリにインデックスを付けます。 オフセットは 0 です。 6 + 0 = 6 (物理アドレス)
もう一つの例: PTE オフセット 4 = (0 0) (0 0 0 1 0 0) 物理アドレスが 6 である最初のページ テーブル エントリにインデックスを付けます。 オフセットは 4 です。 6 + 4 = 10 (物理アドレス)
お役に立てば幸いです。よろしく、 Raphael S.Carvalho