MIPS|つまづきやすいポイントと攻略法 徹底解説!
この連載は、基本情報技術者試験の受験者を対象としたものです。
毎回1つのテーマにしぼって、多くの受験者がつまづきやすいポイントと攻略法を解説します。
今回のテーマはMIPSです。
もくじ
MIPSを攻略するための知識(その1)
MIPS(ミップス)は、Million Instructions Per Second(百万命令/秒)の略であり、CPU(プロセッサ)が1秒間に実行できる命令の数を百万単位で示します。
MIPSに関する問題を攻略するポイントは、コンピュータのハードウェアの仕組みと、命令の実行に関わる用語の意味をしっかりと理解することです。
まず、コンピュータのハードウェアの仕組みを説明しましょう。
コンピュータの内部は、CPU、メモリ、I/Oという装置から構成されています。
CPU(Central Processing Unit、シーピーユー)は、プログラムを解釈実行して他の装置を制御する機能と、データを演算する機能を持っています。
メモリーは、プログラムの命令やデータを記憶する機能を持っています。
I/O(Input/Output、アイオー)は、キーボードなどの入力装置や、液晶ディスプレイなどの出力装置とコンピュータ本体を接続する機能を持っています。
CPU、メモリ、I/Oという装置および入力装置と出力装置が連携することで、コンピュータというシステムが成り立っているのです(図1)。
【図1】コンピュータのハードウェアの仕組み
MIPSを攻略するための知識(その2)
次に、命令の実行に関わる用語の意味を説明しましょう。
CPUが解釈実行できる形式の命令を「マシン語(機械語)」と呼びます。
世の中には、C言語、Java、Pythonなど、様々なプログラミング言語がありますが、それらの言語で記述されたプログラムは、マシン語に変換されてから実行されます。
マシン語は、命令やデータを2進数で表します。
CPUは、時計のようにカチカチと電圧の高低を繰り返す「クロック信号」に合わせて動作しています。
1秒間に何個のクロック信号が与えられるかを「クロック周波数」と呼び「Hz(ヘルツ)」という単位で示します。
たとえば、クロック周波数が3GHz(3ギガヘルツ)なら、G(ギガ)は10億なので、1秒間に30億個のクロック信号がCPUに与えられます。
マシン語の命令の種類によって、それを実行するために要するクロック信号の数が決まっていて、これを「クロック数」と呼びます。
クロック信号の電圧が上がって下がっての1回分を「1サイクル」と呼ぶので、クロック数のことを「CPI(Cycles Per Instruction、サイクル/命令)」と呼ぶこともあります(図2)。
【図2】CPUに与えられるクロック信号
ここまでの知識があれば、MIPSの意味を明確に理解できるでしょう。
たとえば、100MIPSのCPUは、MIPSのMはMillion(百万)なので、1秒間に100百万命令=1億命令を実行できます。
1つの命令の実行に要する時間は、1秒÷1億=1÷100,000,000=10ナノ秒です。
MIPSに関する問題の例(その1)
MIPSに関する問題を克服するための知識が得られたので、実際の問題を見てみましょう。
以下は、MIPSを求める問題(出典:H29秋問9)です。
問題(出典:H29秋問9)
平均命令実行時間が20ナノ秒のコンピュータがある。このコンピュータの性能は何MIPSか。
ア 5 イ 10 ウ 20 エ 50
MIPSが何の略であるかを思い出してください。
Million Instructions Per Second(百万命令/秒)であり、1秒間に実行できる命令の数を百万単位で示します。
この問題では、1つの命令の実行時間が20ナノ秒なので、1秒間に実行できる命令の数は、1秒÷20ナノ秒=1,000,000,000ナノ秒÷20ナノ秒=50,000,000個=50百万個なので、50MIPSです。
したがって、選択肢エが正解です。
もしも、大きな数や小さな数を意味するメガやナノなどを使った計算が苦手なら、数を3桁ずつカンマで区切るとよいでしょう。
大きな数は、3桁上がるごとに「キロ」→「メガ」→「ギガ」となります。
小さな数は、3桁下がるごとに「ミリ」→「マイクロ」→「ナノ」となります。
たとえば、先ほどの1秒÷20ナノ秒という計算は、ナノ単位に揃えて計算するために、1秒を1000倍、1000倍、1000倍して1,000,000,000ナノ秒として、1,000,000,000ナノ秒÷20ナノ秒=50,000,000個と計算し、50,000,000個は3桁が2つあるので50メガ個と計算しました。
メガとミリオンは、どちらも100万を意味するので、50メガ個=50ミリオン個です。
MIPSに関する問題の例(その2)
MIPSに関する問題を、もう1つ見てみましょう。
以下は、マシン語の命令のクロック数からMIPSを求める問題(出典:H30秋問9)です。
問題(出典:H30秋問9)
動作クロック周波数が700MHzのCPUで、命令実行に必要なクロック数及びその命令の出現率が表に示す値である場合、このCPUの性能は約何MIPSか。
ア 10 イ 50 ウ 70 エ 100
「命令の種別」に示されているのは、マシン語の命令の種別であり、それぞれの実行に必要なクロック数と出現率が示されています。
まず、出現率から1つの命令の実行に要する平均クロック数を求めます。
これは、確率(この問題で出現率)を掛けて集計する、期待値の計算です。
平均クロック数は、4×0.3+8×0.6+10×0.1=7クロックです。
クロック周波数が700MHzなので、1秒間に700百万個のクロック信号が与えられます。
1つの命令の実行に7クロックを要するので、1秒間に700百万個のクロック信号なら、1秒間に700百万÷7=100百万個の命令を実行でき、これをMIPSで示すと100MIPSです。
したがって、選択肢エが正解です。
今回は、「MIPS」のポイントと攻略法を解説しました。
このテーマが苦手だった受験者の参考になれば幸いです。
それでは、またお会いしましょう!
label 関連タグ免除試験を受けた 74.9% の方が、科目A免除資格を得ています。
※独習ゼミは、受験ナビ運営のSEプラスによる試験対策eラーニングです。

『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”
大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。
主な著作物
- 「プログラムはなぜ動くのか」(日経BP)
- 「コンピュータはなぜ動くのか」(日経BP)
- 「出るとこだけ! 基本情報技術者」 (翔泳社)
- 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
- 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数







