ページテーブルのエントリサイズは物理アドレスが22、ダーティビットなどが26ビットしか必要ではないという問題を解決しました。しかし、それは32に丸められました。なぜなら、26は2の累乗ではないからです。私が紛失している単純なものでなければならないのですが、なぜそれをしなければならないのですか?ありがとう!ページテーブルエントリサイズ - なぜ2の累乗ですか?
0
A
答えて
1
ここでは、ページテーブルエントリに他のデータと同様にアクセスする必要があることを理解する必要があります。通常、これはバイトまたはワードに収まる必要があることを意味します。
バイトは8ビットしか保持しないため、十分なスペースがありません。多くのマシン(と私はあなたのマシンもそうだと思う)では、単語は32ビットです。
したがって、ページテーブルエントリには32ビットのスペースが割り当てられます。
0
ページテーブルエントリのエントリ数とサイズは2つのものです。明らかに、サイズは、エントリの数と単一のエントリのサイズとの比に等しい。どの仮想ページがどの物理ページにマップされているかを示すページテーブルエントリがあります。つまり、ページテーブルエントリに必要なエントリ数は、所有している仮想ページの数です。これは総アドレス可能スペースをページのサイズで割ることによって計算することができる。 (例えば、32ビットのアドレスと4kのページサイズは、2をパワー20のエントリに与えます)、エントリの仮想部分は20ビットになります。物理的な部品エントリのサイズは、利用可能な物理メモリによって決まります。通常、ページサイズは変わりません。このようにして、1つのエントリに必要なビットを計算することができます。次に、これにエントリーの数を掛けることができ、合計サイズが得られます。
関連する問題
- 1. Python:0から16の累乗で2の累乗
- 2. JavaScriptでの最速の累乗累乗
- 3. バイト数が2の累乗で表されるのはなぜですか?
- 4. 2の累乗でループをインクリメントする
- 5. 2の累乗数を確認する
- 6. なぜInSampleSizeは2の累乗でなければならないのですか?
- 7. iOSの2つのテクスチャの非累乗
- 8. [InterviewBit] 2つの整数の累乗
- 9. テクスチャは2の特定の累乗ですか?
- 10. べき乗累乗再帰
- 11. VBA - モジュラ累乗
- 12. イメージは2の累乗ではありませんか?
- 13. リングバッファサイズを2の累乗にする必要があるのはなぜですか?
- 14. NumericUpDownコントロールで2の累乗しか受け付けないようにする
- 15. numpyに、0の累乗から0の累乗で累乗したベクトルの各行の行列を返す関数がありますか?
- 16. なぜHashMapは初期容量が2の累乗であることを要求しますか?
- 17. OCamlで整数累乗
- 18. z3実数累乗
- 19. 2の累乗で最後の要素のバイナリ検索
- 20. Math.powを使用せずに再帰的な方法(2の累乗を2のx乗に戻す)
- 21. 2の累乗で予期しない動作が発生する
- 22. GMP整数を2の累乗(2n)の和に変換する
- 23. 番号2の累乗を理解する
- 24. 高速行列累乗
- 25. SMLオーバーフロー:累乗手続き
- 26. 再帰的な累乗法を固定しますか?
- 27. 2の累乗で除算をビット単位でシフトする方法は?
- 28. Python、文字列入力からの排他的な累乗
- 29. C++大量の10の累乗
- 30. マージソートは2の累乗であるサイズを持つベクトルを返します。