第517回:MIPS値 とは

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我 ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連の Q&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら
(イラスト : 高橋哲史)


 「MIPS値」とは、コンピュータのCPUの性能指標の1つです。この値が大きければ大きいほど高性能なCPUであると言えます。

 MIPSという名前は、毎秒あたりの“100万の命令”を意味する英語「Million Instructions Per Second」の略です。CPUが1秒間に最大で実行できる命令の回数を示したもので、たとえば、あるCPUのMIPS値が“88MIPS”であれば、そのCPUは1秒間に最大で88×100万=8800万個の命令を実行することができる性能をもっている、ということになります。

CPUの整数演算の性能を示す数値

 コンピュータの黎明期、1970年代に米国のディジタルイクイップメントコーポレーション(DEC、後にコンパックに吸収。コンパックはヒューレートパッカードに吸収合併)の製造していた大型コンピュータ「VAX 11/780」が「1MIPSマシン」として宣伝されて販売されたことを受け、「VAX 11」で1MIPSを記録したベンチマークプログラムを実行して「このコンピュータは何MIPS」と表現されていました。

 ただし、当初のMIPS値は、単純に命令をメモリのアドレスに対して直線的に並べて実行させたもので、条件分岐などが多用される実際にはアプリケーションソフトを実行させたときの体感とかけ離れていることが多かったり、実行する命令が単純すぎてベンチマークの値のみを上げる対策が簡単にできてしまったりするなど、課題が指摘され始めました。

 そこで、MIP値を測定するのにはドライストン(Dhrystone)ベンチマークプログラムが利用されるようになりました。ドライストンベンチマークは、米国で開発されたプログラムです。このプログラムが開発された1984年当時における、一般的な複数のアプリケーションプログラムの構造を分析し、その構造と実行時の負荷を再現できるように作られました。ただし、当時のアプリケーションプログラムとしては、比較的単純な用途のアプリケーションを元に開発されています。主に整数演算を行うプログラムで、この演算ループを何回行えたかがをベンチマーク値となります。現在、1MIPSというと、このドライストンベンチマークを「VAX 11」で実行して測定された性能を指すのが一般的です。

 なお、大型コンピュータでよく使われる複雑な演算の計算速度を見るためには、ウェットストーン(Whetstone)ベンチマークというプログラムも存在します。こちらは主に浮動小数点演算を行い、浮動小数点演算の性能を現すには「MFLOPS」という値も使われます。MFLOPSの“FLOPS”とは、毎秒あたりの浮動少数演算を意味する英語「Floating point number Operations Per Second」の略で、その前に付く“M”はメガという意味ですから、「MFLOPS」は、命令を何百万回実行したか意味する値です。これは、主にスーパーコンピュータなど、大規模なコンピュータの性能をあらわす数値として利用されることが多いのです。

 コンピュータの性能測定という意味では、「SPEC値」という数値もよく使われます。SPECという名前は“普遍的パフォーマンス測定”を意味する英語「Standard Performance Evaluation Corporation」に由来しています。これは、コンピュータの実行速度を測定するSPECベンチマークを作成し,またその結果を公表する団体の名称です。

 SPECは、さまざまなベンチマークプログラムを公表しており、ドライストンと同様に整数を主に使用した計算実行性能を示す「SPECint」、ウェットストーンと同様に浮動小数点数を使った計算実行性能を示す「PECfp」などをCPUのカタログ性能比較に使う場合もあります。SPECは、単純なCPUの性能だけでなく、さらに複雑なデータ圧縮やデータベース、物理シミュレーション、画像処理など、よくコンピュータで使われる処理を模してベンチマークを行う「SPEC CPU2000」、Java仮想計算機の性能を測定する「SPECjbb2000」などの応用ベンチマークを提供しています。

 応用ベンチマークに関しては他にも主にPC用などに使われているものも多数ありますが、CPU性能に関してはドライストン、ウェットストーン、SPECint、それにπの計算などが主に使われると考えて良いでしょう。

携帯電話のMIPS値

 携帯電話にもさまざまなアプリケーションプログラムを実行するためのアプリケーションプロセッサが搭載されており、これらのMIPS値が公表されているものがあります。

 たとえば、スマートフォンで利用されているチップセットSnapdragon(CPUは1GHz)では、クアルコムによると2100ドライストンMIPS(DMIPS)であると公表されています。また、Optimus Padなどで利用されている「Tegra 2」(CPUは1GHz、デュアルコア)は4600MIPSであるとされています。

 同じCPUでも、ドライストンベンチマークの値は実際の計算をした結果で、CPUのクロックによってMIPS値は変わります。1GHz駆動のもの比べ、800MHz駆動のものは、単純に考えれば2割減となります。Tegra 2のようにCPUコアを複数搭載している場合、MIPS値はほぼこのコア数に比例します。これは、CPUコアが複数あり、もし並列に実行できる命令が並んでいれば、それぞれのコアに実行を振り分けるので、早く命令を行えるからです。実際には振り分けられない命令などもありますので、デュアルコアであれば2倍、というわけにはいきませんが、それに近い値が出せると期待できます。

 

(大和 哲)

2011/5/31 12:17