OSとハードウェア
仮想アドレスのうち48ビットを使い、ページサイズ4 KB、各段の表が512項目(9ビット)の多段ページテーブルでは、何段の表をたどる必要があるか。
- A2段
- B3段
- C4段
答えと解説を見る
正解:C. 4段
ページサイズ4 KB = 2¹² なので、下位12ビットがページ内のオフセットです。残りの 48 − 12 = 36ビットがページ番号で、各段で9ビットずつ使うので 36 ÷ 9 = 4段になります。各段の表は 512項目 × 8バイト = 4 KBで、ちょうど1ページに収まるように作られています。TLBミスのときは最大4回メモリを読む必要があるため、TLBやページテーブルの項目をキャッシュする工夫が重要です。3段は39ビットの場合の段数です。
- A. 2段では18ビットしか表せません。
- B. 3段は仮想アドレスが39ビットの場合です。
- C. 正しい。(48 − 12) ÷ 9 = 4段です。