本文へスキップ

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


Since 2016.4.19

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

W−11

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

 

@ 0x46d3  A 0x56d3  B 0xba46  C 0xba56

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


正解

@


解説

仮想ページが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 である。

W−10 目次 W−12