マナビング基本情報技術者

クロック周波数と平均クロック数から命令数を求める

基本情報技術者試験 令和元年度秋期 午前 問12 / コンピュータ構成要素 › プロセッサ

過去問にチャレンジ

令和元年度秋期 午前 問12

1GHzのクロックで動作するCPUがある。このCPUは,機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。

  1. ア

    125

  2. イ

    250

  3. ウ

    80,000

  4. エ

    125,000

会話形式の解説

講師講師
注目するのは、1秒間に進むクロック数と、1命令に使うクロック数です。命令数を求めるには、どう計算しますか。
受験者受験者
0.8を掛けそうになりましたが、それでは命令数になるのか迷います。
講師講師
単位で確かめましょう。「クロック/秒」を「クロック/命令」で割ると「命令/秒」になります。
受験者受験者
1GHzは1秒間に10億クロックなので、10億を0.8で割るのですね。
講師講師
はい。10億÷0.8=12億5,000万命令です。0.8は1より小さいので、命令数が10億を超えることとも合います。
受験者受験者
80,000万命令は、10億に0.8を掛けた結果ですね。計算の向きが逆でした。
講師講師
そのとおりです。次に、設問の「何万命令」に合わせると、12億5,000万命令はいくつになりますか。
受験者受験者
125,000万命令です。これが計算結果と一致します。
講師講師
125万命令は、その値の1,000分の1です。単位を直すときに桁を落としていないか確認したいところです。
受験者受験者
250万命令も、0.8で割って求めた値より小さく、一致しません。
講師講師
はい。選択肢は125,000万命令を選びます。計算の前に単位で割り算を確かめ、最後に「万命令」へ直すと判断しやすくなります。

まとめ

1GHzは、1秒間に10億クロック進むことを表します。1命令に平均0.8クロック使うため、10億÷0.8=12億5,000万命令を実行できます。設問の単位に直すと125,000万命令で、正解はエです。0.8を掛ける計算と、万単位への換算での桁のずれに注意します。

解答・解説

正解はエです

この問題のテーマ

クロック周波数と1命令当たりの平均クロック数から、1秒間の平均命令実行数を求める問題です。

解き方の考え方

1GHzは、1秒間に10億クロック進むことを表します。1命令に平均0.8クロック使うので、命令実行数は10億÷0.8=12億5,000万命令です。これを万単位で表すと125,000万命令となり、エと一致します。

選択肢ごとの解説

  1. ×ア  125
    アの125万命令は、計算で求めた125,000万命令の1,000分の1です。1秒間に進むクロック数と、答えの「万命令」という単位を照合すると一致しません。
  2. ×イ  250
    イの250万命令は、1命令当たり0.8クロックとして求めた値と一致しません。万単位に直しても、求める実行数より小さい値です。
  3. ×ウ  80,000
    ウの80,000万命令は、10億クロックに0.8を掛けると得られる値です。0.8クロックは1命令当たりに使う量なので、命令数を求めるときは総クロック数をその量で割ります。
  4. ○エ  125,000
    エの125,000万命令は、計算結果を設問の単位で表した値です。したがって、1秒間に平均して実行できる命令数として適切です。

POINT

  • 「クロック/秒」を「クロック/命令」で割ると、「命令/秒」になります。
  • 1命令当たりの平均クロック数が1未満なら、平均命令実行数は1秒間のクロック数より大きくなります。
  • 計算後は、設問が求める「万命令」に単位を直して選択肢と照合します。

※出典:令和元年度秋期 基本情報技術者試験 午前 問12