忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【コンピュータ】1つの命令をこなすのに何ステップ必要?「CPI」の定義|情報処理問題1000本ノック

CPUの計算スピードを測るための重要指標。前回の「クロック」の知識をベースに、命令1つあたりにかかるテンポの数を表す「CPI」の概念を攻略しましょう。

1. 【 問題 】:CPUの性能指標であるCPIの定義

【 問題 】 コンピュータのCPUの性能を表す指標の一つであり、「クロックあたりの実行命令回数の逆数」として定義され、CPUが「1つの命令」を実行するために平均して何周期(何クロック)必要かを表すものはどれでしょうか?

① MIPS (Million Instructions Per Second)
② CPI (Cycles Per Instruction)
③ クロック周波数 (Clock Frequency)
④ スループット (Throughput)

2. 正解:

正解: ② CPI (Cycles Per Instruction)

3. 解説:数字が「小さいほど優秀」な効率性の指標

CPUの性能は、メトロノームのテンポ(クロック周波数)だけで決まるわけではありません。「1回のテンポでどれだけ仕事をこなせるか」という効率も重要であり、それを測るのがCPIです。

【CPIの計算の仕組みと「逆数」の意味】

「クロックあたりの実行命令回数の逆数」とは?:例えば、1クロックで平均 $0.2$ 回の命令を処理できるCPUがあるとします。この「$0.2$」の逆数をとると、$$ \frac{1}{0.2} = 5 $$ となります。この「5」という数値が、「1つの命令を終わらせるのに、メトロノームを5回カチカチと刻む必要がある」という意味のCPIになります。 ← ココが問題の正解!

試験での実戦計算(MIPSとの関係)
午前試験では、「クロック周波数が $1.0\text{GHz}$(1秒間に10億クロック)で、CPIが 2 のCPUの性能は何MIPSか?」という問題が定番です。1命令に2クロックかかるので、1秒間に実行できる命令は $$ 10億 \div 2 = 5億回 $$ です。MIPSは100万回単位なので、答えは「500MIPS」となります。このようにクロック周波数、CPI、MIPSは常にセットで出題されます。
[ 選択肢のひっかけポイント(CPUの性能計算で必ず混ぜられる用語) ]
★ ① MIPS:CPUが「1秒間に何百万回の命令を実行できるか」を表す指標です。CPIの数字が小さくなる(効率が上がる)ほど、このMIPSの値は大きくなります。
★ ③ クロック周波数:前問で学んだ、1秒間に何回の電子的なメトロノーム(パルス)を刻むかというスピードそのもの(Hz)です。
★ ④ スループット:CPU単体ではなく、システム全体が単位時間あたりに処理できる仕事量(処理能力)を表す広い意味の用語です。

1. 理解のコツ: 「大工さんの作業効率」に例えてみましょう。
・大工さんがトンカチを「1回叩く」のを1クロックとします。
・「釘を1本打つ(1命令)」という仕事を終わらせるために、トンカチを平均4回叩く必要があるなら、CPIは「4」です。もし、新型の頑丈なトンカチに変えて2回叩くだけで釘が打てるようになれば、CPIは「2」に下がります。CPIの数値が小さければ小さいほど、少ないステップ数で仕事をこなせる「効率が良い優秀なCPU」ということになります。
2. 試験対策の視点: 「クロックあたりの実行命令回数の逆数」「1命令あたりに必要なクロック数」という表現が出たら「CPI」が一択です。基本情報や応用情報の午前試験では、文章題として定義を問われるだけでなく、先述したようなMIPS値や実行時間を求める計算問題のパーツとして「CPI = ○」の形で確実に登場するため、公式の分子と分母の関係を直感的に理解しておくことが合格への必須条件です。


4. まとめ

「CPUが1つのプログラム命令を処理するために、内部でメトロノームを何回カチカチと進めなければならないかという、処理効率の指標」。これがCPIです。どれだけクロック周波数(テンポ)を上げても、このCPIの数字が大きい(無駄なステップが多い)とコンピュータは速くなりません。ハードウェアの真の強さを計算する上で、絶対に欠かせない数理概念です。


PR