情報処理試験を勉強していると、「MIPSって結局どうやって計算するの?」「ナノ秒とか百万とか単位が混ざって混乱する…」とつまずきやすいポイントです。この記事では、MIPSの意味から試験で出る計算パターンまでを一気に整理します。

対象試験と出題頻度

MIPSは、基本情報技術者試験(FE)・応用情報技術者試験(AP)で出題されるテーマです。

CPUの性能指標に関する計算問題として定番化しており、クロック周波数・命令ミックスと組み合わせた数値計算が問われます。

詳細をクリックして確認
対象試験:
基本情報技術者
応用情報技術者
出題頻度:
★★★★☆
ランクA(重要)必ず覚えておくべき

用語の定義

MIPS(ミップス / Million Instructions Per Second)とは、一言で言うと

 「CPUが1秒間に実行できる命令の数を、百万(10⁶)単位で表した性能指標

のことです。

イメージとしては、工場の生産ラインです。

「この工場は1秒間に何百万個の製品を作れますか?」と聞かれたときの回答が、MIPSに該当します。

数字が大きいほど、その工場(=CPU)の処理能力が高いということです。

📊 MIPSの基本情報

項目 内容
正式名称 Million Instructions Per Second
読み方 ミップス
単位の意味 1秒間に実行できる命令数(百万単位)
50MIPS → 1秒間に5,000万回の命令を実行可能
分類 CPU性能の定量的指標(整数演算向け)

解説

CPUの性能を比較する場面では、「速い」「遅い」という感覚的な表現では判断できません。

異なるCPU同士を客観的に比べるために、1秒あたりの命令実行回数を数値化した指標が必要になりました。これがMIPSの登場理由です。

基本の計算式

計算の核となる公式は次の1つです。ここだけは確実に押さえてください。

MIPS の基本公式

MIPS = 1秒間の命令実行回数 ÷ 10⁶

※ 10⁶ = 1,000,000(百万)

たとえば、平均命令実行時間が 20ナノ秒 のCPUの場合、次のように求めます。

📝 計算例:平均命令実行時間が20ナノ秒の場合

ステップ1:1秒間に実行できる命令数を求める

1秒 ÷ 20ナノ秒 = 1,000,000,000 ÷ 20 = 50,000,000回

ステップ2:百万単位に変換する

50,000,000 ÷ 1,000,000 = 50 MIPS

命令ミックスとの組み合わせ

実際のCPUは1種類の命令だけを実行するわけではありません。演算命令・転送命令・分岐命令など、種類によって実行時間が異なります。

そこで、命令種別ごとの出現頻度(割合)を使って「加重平均」で平均命令実行時間を出し、そこからMIPSを算出する手順が「命令ミックス」です。

📝 計算例:命令ミックスが与えられた場合

命令種別 実行時間 出現頻度
演算命令 10ナノ秒 50%
転送命令 40ナノ秒 30%
分岐命令 40ナノ秒 20%

ステップ1:平均命令実行時間を加重平均で求める

10×0.5 + 40×0.3 + 40×0.2 = 5 + 12 + 8 = 25ナノ秒

ステップ2:1秒間の命令実行回数を求める

1,000,000,000 ÷ 25 = 40,000,000回

ステップ3:百万単位に変換する

40,000,000 ÷ 1,000,000 = 40 MIPS

計算フロー図

各命令の(実行時間 × 出現頻度)を合計
平均命令実行時間(ナノ秒)
1秒 ÷ 平均命令実行時間 = 命令実行回数
命令実行回数 ÷ 10⁶ = MIPS値

FLOPSとの違い

MIPSと混同しやすい指標にFLOPS(Floating-point Operations Per Second)があります。MIPSは「整数命令を含む一般的な命令の実行回数」を測るのに対し、FLOPSは「浮動小数点演算(小数の計算)の実行回数」に特化した指標です。科学技術計算やスーパーコンピュータの性能比較にはFLOPSが使われます。

指標 測定対象 主な用途
MIPS 汎用命令の実行回数(百万単位/秒) 一般的なCPU性能の比較
FLOPS 浮動小数点演算の実行回数(/秒) 科学技術計算・スパコンの性能比較

では、この指標が試験でどのように出題されるか見ていきましょう。

💡 MIPSの核心を3行で

・CPUが1秒間に実行できる命令数を百万単位で表す性能指標
・基本公式は「1秒 ÷ 平均命令実行時間 ÷ 10⁶」
・命令ミックスが出たら、加重平均で平均実行時間を出してからMIPSに変換する


試験ではこう出る!

MIPSは、FE・APの午前問題でCPU性能の計算問題として繰り返し出題されています。単なる知識問題ではなく、数値を使った計算が求められるのが特徴です。

📊 過去問での出題実績

試験回 出題内容 問われたポイント
FE R4年
免除 問11
命令ミックス表からMIPSを算出する問題 ・3種類の命令の加重平均を求め、25ナノ秒→40MIPSを導く
・正解は「ウ」
AP R3春
午前 問9
上記FE R4問11と同一構成の命令ミックス問題(流用) ・FEとAPで同じ問題が出回る典型例
・数値も選択肢もほぼ同一
FE H22秋
午前 問9
平均命令実行時間(20ナノ秒)からMIPSを求める問題 ・命令ミックスなしのシンプルな変換
・1,000,000,000÷20÷1,000,000=50MIPS
FE H29秋
午前 問9
H22秋問9と同一の流用問題 ・同じ問題が複数回出題されるパターン
・平均命令実行時間20ナノ秒→50MIPS

📝 IPA試験での出題パターン

パターン1:平均命令実行時間 → MIPS変換
「平均命令実行時間が○○ナノ秒のCPUは何MIPSか」というシンプルな計算。ナノ秒を秒に変換する際の桁の扱いで正解が分かれる。10⁹(10億)ナノ秒=1秒を覚えておけば確実に解ける。

 

パターン2:命令ミックス表 → 加重平均 → MIPS算出
命令種別ごとの実行時間と出現頻度の表が与えられ、加重平均で平均命令実行時間を求めてからMIPSに変換する。計算ステップが1つ増えるだけで、本質はパターン1と同じ。

 

試験ではここまででOKです。「MIPSが高いほど高性能か」「MIPSの限界は何か」といった議論は出題されないので、深追いは不要です。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. 平均命令実行時間が25ナノ秒のCPUの性能は何MIPSか。

  • A. 25MIPS
  • B. 250MIPS
  • C. 40MIPS

正解と解説を見る

正解:C

解説:
1秒(=1,000,000,000ナノ秒)を25ナノ秒で割ると、1秒間に40,000,000回の命令を実行できます。これを百万単位に変換すると 40,000,000 ÷ 1,000,000 = 40MIPS です。

選択肢Aの25MIPSは、平均命令実行時間の数値をそのままMIPS値として誤答するパターンです。「ナノ秒の値=MIPS値」ではないので注意してください。選択肢Bの250MIPSは、1秒を10⁹ナノ秒ではなく10⁸ナノ秒と誤って計算した場合に出る値であり、単位変換のミスによる誤答です。


よくある質問(FAQ)

Q. MIPSの値が高ければ、そのCPUは必ず高性能と言えますか?

言い切れません。MIPSは「命令の数」を数えているだけで、「1命令あたりの処理の複雑さ」を反映していません。命令セットが異なるCPU同士を単純にMIPS値で比較すると、命令が単純なCPUの方が見かけ上のMIPS値が高くなります。同じアーキテクチャ内での世代間比較には有効ですが、異なるアーキテクチャ間の比較にはベンチマークテスト(SPECなど)が使われます。

Q. 「ナノ秒」の変換がいつも混乱します。覚え方はありますか?

1ナノ秒 = 10⁻⁹秒です。つまり1秒 = 10⁹ナノ秒(10億ナノ秒)です。「ナノ=10億分の1」と丸暗記するのが最も確実です。試験の計算では「1秒 ÷ ○ナノ秒」を「10⁹ ÷ ○」と機械的に置き換えれば、桁のミスを防げます。同様に、1マイクロ秒=10⁻⁶秒、1ミリ秒=10⁻³秒もセットで整理しておくと安心です。

Q. CPI(Cycles Per Instruction)とMIPSはどう関係しますか?

CPIは「1命令の実行に必要なクロックサイクル数」を表します。クロック周波数をCPIで割ると、1秒間の命令実行回数が求まり、それを百万で割ればMIPS値になります。式にすると「MIPS = クロック周波数(MHz) ÷ CPI」です。応用情報の問題では、クロック周波数とCPIの両方が与えられてMIPSを算出させるパターンも出るため、この関係式も頭に入れておくと有利です。

Q. MIPSを使って「プログラムの実行時間」を求める問題は出ますか?

出ます。「○MIPSのCPUで、命令数が△百万のプログラムを実行すると何秒かかるか」という逆方向の計算です。式は「実行時間(秒)= 命令数 ÷(MIPS × 10⁶)」です。MIPSの定義を理解していれば、方向が逆になっても同じ公式の変形で対応できます。