令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問5
テクノロジ/ソフトウェア主記憶への 1 回のアクセスが 200 ナノ秒で,ページフォールトが発生すると 1 回当たり更に 100 ミリ秒のオーバーヘッドが生じるコンピュータがある。ページフォールトが主記憶アクセスの 50 万回中に 1 回発生する場合,ページフォールトは 1 秒当たり最大何回発生するか。ここで,ページフォールトのオーバーヘッド以外の要因は考慮しないものとする。
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問5
- ア3
- イ4
- ウ5
- エ6
正解:ウ
解説
ページフォールトは主記憶アクセス 50 万回に 1 回発生するので,1 回のページフォールトが起こるまでに行われる通常の主記憶アクセスの時間は,200 ナノ秒 × 500,000 = 100,000,000 ナノ秒 = 100 ミリ秒です。これに 1 回当たりのページフォールトのオーバーヘッド 100 ミリ秒を加えると,「50 万回のアクセス+ 1 回のページフォールト」を 1 サイクルとしたときの所要時間は 100 ミリ秒 + 100 ミリ秒 = 200 ミリ秒になります。1 秒(1,000 ミリ秒)はこのサイクルの 1,000 ÷ 200 = 5 倍に当たるので,1 秒当たり最大 5 回のページフォールトが発生します。
選択肢ごとの解説
- ア誤り。1 回のページフォールトサイクルにおける時間の見積りが大きすぎる(本来より短いサイクルとみなした)場合の値です。
- イ誤り。オーバーヘッド 100 ミリ秒だけに注目し,通常のアクセス時間 100 ミリ秒分を加味しなかった場合に近い値ですが,正しくは 1 サイクル 200 ミリ秒として計算する必要があります。
- ウ正しい。ページフォールトが主記憶アクセス 50 万回に 1 回発生する場合,その 50 万回のアクセスに要する時間は 200 ナノ秒 × 500,000 = 100 ミリ秒であり,これにページフォールトのオーバーヘッド 100 ミリ秒を加えた 200 ミリ秒が 1 回のページフォールトを含むサイクルの時間です。1 秒間では 1,000 ミリ秒 ÷ 200 ミリ秒 = 5 回のページフォールトが最大発生します。
- エ誤り。1 サイクルの時間を実際より短く見積もった場合の値であり,通常のアクセス時間とオーバーヘッドの合計を正しく計算できていません。