エンベデッドシステムスペシャリスト 2022年 午前2 問05
問題文
主記憶への1回のアクセスが200ナノ秒で、ページフォールトが発生すると1回当たり更に100ミリ秒のオーバーヘッドが生じるコンピュータがある。ページフォールトが主記憶アクセスの50万回中に1回発生する場合、ページフォールトは1秒当たり最大何回発生するか。ここで、ページフォールトのオーバーヘッド以外の要因は考慮しないものとする。
選択肢
ア:3
イ:4
ウ:5(正解)
エ:6
🔒 解説は解答すると表示されます
ページフォールト発生率の計算【午前2解説】
正解の理由
ウの「5回」が正しいです。
ページフォールト1回ごとに、主記憶へのアクセス500,000回分の時間と、ページフォールトのオーバーヘッドがかかります。
- 主記憶アクセスにかかる時間
- ページフォールトのオーバーヘッド
したがって、ページフォールト1回当たりの所要時間は合計で です。1秒間に発生できる回数は、
となります。
解法ステップ
- 主記憶アクセス500,000回分の所要時間を求めます。
です。 - ページフォールトのオーバーヘッドを加えます。
です。 - 1秒をページフォールト1回当たりの時間で割ります。
回です。
選択肢別の誤答解説
- ア(3回):ページフォールト1回当たりの所要時間を正しく計算すると、1秒間にあと2回発生できるため、最大回数ではありません。
- イ(4回):4回では所要時間は です。残りの時間で5回目も発生できるため、最大回数ではありません。
- ウ(5回):1回当たり なので、1秒間にちょうど5回発生できます。
- エ(6回):6回発生するには かかり、1秒を超えてしまいます。
よくある誤解
- ページフォールトのオーバーヘッドだけで計算しないようにします。主記憶アクセスにかかる時間も必要です。
- 200ナノ秒を200ミリ秒と読み違えないようにします。単位をそろえて計算することが大切です。
- 「500,000回に1回」は発生頻度を表します。500,000回分のアクセス時間と、ページフォールトのオーバーヘッドを合わせて考えます。
補足コラム
1回のページフォールトにかかるオーバーヘッドを、500,000回のアクセスに均等に割り振る方法でも確認できます。
オーバーヘッド分は1アクセス当たり、
です。通常のアクセス時間200ナノ秒と合わせると、1アクセス当たりの実質的な所要時間は400ナノ秒です。1秒間のアクセス回数は2,500,000回となり、その500,000回に1回がページフォールトなので、ページフォールトは5回発生します。
FAQ
Q. ページフォールトのオーバーヘッドは、アクセス時間に含めて考えますか?
A. この問題では「更に」生じる時間なので、主記憶アクセスにかかる時間へ加算します。
A. この問題では「更に」生じる時間なので、主記憶アクセスにかかる時間へ加算します。
Q. 500,000回のアクセス時間は、なぜ100ミリ秒なのですか?
A. 200ナノ秒を500,000倍すると100,000,000ナノ秒になり、これは100ミリ秒です。
A. 200ナノ秒を500,000倍すると100,000,000ナノ秒になり、これは100ミリ秒です。
関連キーワード: ページフォールト、主記憶アクセス時間、オーバーヘッド、処理性能

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

