情報処理試験を勉強していると、「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
計算フロー図
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の定義を理解していれば、方向が逆になっても同じ公式の変形で対応できます。