この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

CPU の命令実行性能を計算する問題です。1 GHz のクロックとは、1秒間に 10⁹(10億)回のクロック信号が発生することを意味します。この CPU は機械語の1命令を平均0.8クロックで実行できるので、1秒間に実行できる命令数は「1秒間のクロック数 ÷ 1命令当たりのクロック数」で求められます。計算すると 10⁹ ÷ 0.8 = 1.25 × 10⁹ 命令、すなわち12.5億命令です。問題は「何万命令か」と問うているので、1.25 × 10⁹ を万(10⁴)単位に換算すると 1.25 × 10⁹ ÷ 10⁴ = 1.25 × 10⁵ = 125,000万命令となり、エが正解です。この問題のポイントは2つあります。1つ目は「1命令0.8クロック」なら1クロックで1命令以上実行できる(スーパースカラなどの技術)ため、クロック数を0.8で「割る」と命令数はクロック数より多くなること。2つ目は最後の単位換算(万)を落ち着いて処理することです。MIPS(百万命令毎秒)換算なら1,250 MIPS に相当します。

なぜ他の選択肢は違うのか

選択肢 ア
125 という値は、正しい計算結果 1.25 × 10⁹ 命令を万(10⁴)単位ではなく、誤って 10⁷ で割るなど単位換算を取り違えた場合に出てくる桁です。計算の本体(10⁹ ÷ 0.8)が正しくても、最後の「何万命令か」への換算で桁を3つ落とすとこの値になります。指数表記のまま 1.25 × 10⁹ = 1.25 × 10⁵ × 10⁴ と分解して確かめるのが確実です。
選択肢 イ
250 は、クロック数や命令当たりクロックの扱いと単位換算の両方を誤った場合に現れる値で、正しい手順(10⁹ ÷ 0.8 ÷ 10⁴)からは導かれません。例えば0.8の代わりに0.4で割ったうえに桁を落とすなど、複数の誤りが重なった結果です。計算問題では式を立ててから数値を代入する習慣をつけると、こうした混乱を防げます。
選択肢 ウ
80,000 は 10⁹ × 0.8 ÷ 10⁴ = 8 × 10⁴、つまり0.8で「割る」べきところを「掛けて」しまった場合の値です。「1命令に0.8クロックかかる」のだから命令数はクロック数より多くなるはず、という大小関係の感覚をもっていれば、クロック数(10⁹=100,000万)より小さいこの値はおかしいと気づけます。割るか掛けるか迷ったら単位(クロック/命令)で確認しましょう。

解くときのポイント

性能計算は「クロック数 ÷ 命令当たりクロック = 命令数」。0.8クロック/命令ならクロック数より命令数が多くなる、という大小感覚で掛け算・割り算の取り違えを検出できる。