主記憶へのアクセスを1命令当たり平均2回行い,ページフォールトが発生すると1回当たり40ミリ秒のオーバヘッドを伴うシステムがある。
ページフォールトによる命令実行の遅れを1命令当たり平均0.4マイクロ秒以下にするために許容できるページフォールト発生率は最大幾らか。
ここで,他のオーバヘッドは考慮しないものとする。
正答1
解説
正解は1です。
この問題は、ページフォールトの発生率と命令実行の遅れの関係から、許容できる発生率を求めるものです。
1命令当たりの遅れは、アクセス回数×発生率×1回当たりのオーバヘッドで表されます。
【計算】
1命令当たりの遅れ:2回×p×40ミリ秒(pはページフォールト発生率)
条件:2×p×40ミリ秒≦0.4マイクロ秒
単位をそろえる:40ミリ秒=40×10^-3秒、0.4マイクロ秒=0.4×10^-6秒
式を整理する:p≦0.4×10^-6÷(2×40×10^-3)
計算する:p≦0.4×10^-6÷0.08=5×10^-6
【選択肢別解説】
1:○ 計算どおり、許容できる最大の発生率は5×10^-6です。
このとき1命令当たりの遅れは2×5×10^-6×40ミリ秒=0.4マイクロ秒となり、条件を満たします。
2:× 1×10^-5は、アクセス回数の2回を掛け忘れた値です。
この発生率では遅れが0.8マイクロ秒となり、条件を超えます。
3:× 5×10^-5は、許容値の10倍です。
遅れが4マイクロ秒となり、条件の0.4マイクロ秒を大きく超えます。
4:× 1×10^-4は、許容値の20倍です。
遅れが8マイクロ秒となるので条件を満たしません。
【ポイント】
ミリ秒(10^-3)とマイクロ秒(10^-6)の単位換算を誤らないことが重要です。
「1命令当たり平均2回アクセス」のような回数を掛け忘れる誤りにも注意しましょう。