本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成21年度 技術士第一次試験問題【専門科目】

Ⅳ-11

仮想アドレス、物理アドレスともに16ビット幅のコンピュータがある。どの仮想ページも同じページサイズであり、1つの仮想アドレス空間が64個の仮想ページを持つ。このコンピュータでは2段階のページテーブルを用いており、ページテーブルの設定が下図のようになっているとき、仮想アドレス 0xbad3 が変換される物理アドレスとして正しいものを①~⑤の中から選べ。なお、ページテーブルには物理ページ番号のみを10進数で記載してある。空欄のエントリは対応する物理ページが存在していないことを表す。また、0xで始まる表記は16進数を示す。

 

① 0x46d3  ② 0x56d3  ③ 0xba46  ④ 0xba56

⑤ 対応する物理ページは存在しない


正解


解説

仮想ページが64個 (8個×8個) ということは、3ビット×3ビットでページ番号を表現できる。
つまり、上位6ビットでページ番号を表し、16ビット - 6ビット = 10ビットで相対位置 (オフセット) を表す。

これを踏まえて、
仮想アドレス 0xbad3 は2進数で表すと
1011 1010 1101 0011 である。
最初の3ビット 101 は、10進数で5
次の3ビットは 110 は、10進数で6
であるから、そのエントリー値は図より17と判る。
17は2進数では 010001

従って、物理アドレスは
0100 0110 1101 0011 = 0x46d3 である。

Ⅳ-10 目次 Ⅳ-12