基本情報技術者 2009年 秋期 午前(科目A) 問17
問題文
オンラインシステムにおいて、1トランザクションの処理に平均60万命令を実行し、平均2回のファイルアクセスが必要であるとき,CPU性能が30MIPSであるコンピュータの1トランザクションの平均処理時間は何ミリ秒か。ここで、ファイルの平均アクセス時間は30ミリ秒とし、当該トランザクション以外の処理は発生しないものとする。
選択肢
ア:8
イ:40
ウ:62
エ:80(正解)
トランザクションの平均処理時間計算【午前2 解説】
要点まとめ
- 結論:1トランザクションの平均処理時間はCPU実行約20msとファイルアクセス合計60msで合計80msになります。
- 根拠:命令数60万÷30MIPSでCPU時間20ms、ファイルアクセスは平均2回×30msで60ms、これらを単純合算します。
- 差がつくポイント:MIPSの単位(秒当たり百万命令)をmsに直す計算と、ファイルアクセス回数を漏れなく加算することが重要です。
正解の理由
CPU時間は命令数を性能で割って求めます。
CPU時間 = 命令数 ÷ CPU性能 = .
ファイルアクセス時間は平均2回で、1回あたり30msなので合計 。
よって合計処理時間は 。したがって正解は エ(80 ms)です。
CPU時間 = 命令数 ÷ CPU性能 = .
ファイルアクセス時間は平均2回で、1回あたり30msなので合計 。
よって合計処理時間は 。したがって正解は エ(80 ms)です。
よくある誤解
- MIPS を「1ミリ秒当たりの命令数」と誤解してms換算を間違える。
- ファイルアクセス回数を1回と見なしてしまい、I/O時間を過小評価するケースが多い。
解法ステップ
- 命令数とCPU性能の単位をそろえる(秒ベースにする)。
- CPU実行時間を計算する:命令数 ÷ CPU性能で秒→msに変換する。
- ファイルアクセスの合計時間を計算する:平均アクセス時間 × 回数。
- CPU時間とファイルアクセス時間を合算して総処理時間を求める。
選択肢別の誤答解説
- ア: 8 ms — 明らかに数値が小さすぎます。CPU時間だけでも であり、8ms は単位換算や割り算を誤った結果です。
- イ: 40 ms — CPU時間20msにファイルアクセスを1回分(20ms相当)しか加算していないなど、回数やアクセス時間を誤認した可能性があります。
- ウ: 62 ms — CPU時間20msは合っていても、ファイルアクセス合計を42msとするなど四則演算や単位の読み違いが考えられます。正しくは60msのファイル時間です。
- エ: エ(80 ms) — CPU20ms + ファイル60ms の正しい合算で、与件通りの計算結果になります。
補足コラム
- MIPS(Million Instructions Per Second)は単純評価に便利ですが、命令の種類による実行時間差やキャッシュ効果を無視するため実測値と乖離することがあります。
- ファイルアクセス時間(I/O時間)は通常CPUとは重複せず待ち時間として発生するため、単純に加算するのが基本。I/OとCPUが並列化可能な場合は重複を考慮する必要があります。
- 実務では平均応答時間だけでなくスループット(単位時間当たり処理件数)や同時実行数も重要です。Littleの法則などで関連評価が行えます。
FAQ
Q: MIPS を ms に変換するにはどう考えればよいですか?
A: 30 MIPS は 30×10^6 命令/秒、すなわち 1 ms あたり 30,000 命令です。命令数を 1 ms あたり命令数で割れば ms が得られます。
A: 30 MIPS は 30×10^6 命令/秒、すなわち 1 ms あたり 30,000 命令です。命令数を 1 ms あたり命令数で割れば ms が得られます。
Q: ファイルアクセスが並列に行われる場合はどう計算しますか?
A: 問題文に「当該トランザクション以外の処理は発生しない」とあるため加算で扱いますが、実際にI/OとCPUが同時並行可能なら重複分を差し引いて計算します。
A: 問題文に「当該トランザクション以外の処理は発生しない」とあるため加算で扱いますが、実際にI/OとCPUが同時並行可能なら重複分を差し引いて計算します。
関連キーワード: MIPS、平均応答時間、ファイルアクセス、CPU時間、I/O待ち、スループット

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

