OSとハードウェア
ゲストもホストも4段のページテーブルを使う入れ子ページングで、TLBミスが起きたとき、最悪で何回のメモリアクセスが必要になるか。
- A8回
- B16回
- C24回
答えと解説を見る
正解:C. 24回
ゲストのページテーブルの4段の各表の場所はゲスト物理アドレスで書かれているので、それぞれを読む前にホストの4段の表で変換する必要があります。ゲストの各段で「ホストの4回 + ゲストの表の1回」の5回、4段で20回になり、最後に得たゲスト物理アドレスのデータ自体をホストの4段で変換する4回を足して24回です。式では (4 + 1) × (4 + 1) − 1 = 24 です。8回は4段を2回たどるだけと考えた値で、表の場所の変換を見落としています。
- A. 8回はゲストの表の場所の変換を見落とした値です。
- B. 16回は4 × 4と単純に掛けた値です。
- C. 正しい。(4 + 1) × (4 + 1) − 1 = 24回です。