MIPS(Million Instructions Per Second)についての詳細
MIPSとは、「Million Instructions Per Second」の略で、
コンピュータが1
秒間に実行できる命令の数を示す性能指標です。この指標は、
コンピュータのパフォーマンスを測るために広く利用されており、特にピーク性能を表すために、分岐のない命令列を実行した場合の値が用いられます。ただし、MIPS値は実際のアプリケーションの性能を正確に反映していないことが多いことに注意が必要です。
コンピュータ性能に対するMIPSの影響は、メモリ階層に大きく関わっています。プログラムのサイズがキャッシュメモリに収まらない場合、実行速度は
CPUの性能よりもメモリとバスの性能に依存します。そのため、MIPSは通常、1次キャッシュに収まるプログラムで測定されることが原則となっています。これによって、キャッシュ外のデータを扱う際のパフォーマンスが考慮され、より現実的な数値が得られます。
加えて、MIPSは同一の命令セットを用いる
CPU同士の性能比較に意味を持つ指標です。なぜなら、異なる
CPUが同じ操作を実現するために必要とする命令の数は異なるからです。命令セットが少なく、効率的に命令を利用するRISC(Reduced Instruction Set Computer)プロセッサは、同じ技術レベルのCISC(Complex Instruction Set Computer)プロセッサと比べて高いMIPS値を持つことがしばしばあります。別のプロセッサアーキテクチャ間での性能比較には、SPECなどのベンチマークが用いられます。
MIPSに関連する他の用語として、以下のようなものがあります:
- - KIPS(Kilo Instructions Per Second):1000命令毎秒
- - BIPS(Billion Instructions Per Second):10億命令毎秒
- - TIPS(Trillion Instructions Per Second):1兆命令毎秒
- - QIPS(Quadrillion Instructions Per Second):1000兆命令毎秒
これらの指標は、特定の
コンピュータやその性能を表現するために使用されます。特に古い
コンピュータのパフォーマンスはKIPSで表されることが多いです。2011年の時点で、1 TIPSを超える
CPUは登場していないものの、TIPSやQIPSは研究予測や統計状況の指標として利用されることがあります。
1980年代末からは、VAX MIPSという指標が登場しました。この指標は、共通のベンチマークプログラムを用いて、VAX 11/780の性能を「1 VAX MIPS」として表現したものです。この数値はVAX 11/780が1 MIPSだったわけではなく、他のシステムの性能比較に用いられました。後に、Dhrystoneと呼ばれるプログラムが頻繁に使用されるようになり、Dhrystoneによって測定されたVAX MIPSは「Dhrystone MIPS」または「DMIPS」として知られるようになりました。
初期の8ビットや16ビットマイクロプロセッサの性能はKIPSで表現されます。例えば、Intel 8080は640 KIPS、Intel 8086は800 KIPSという性能でした。また、初期の32ビットパーソナル
コンピュータはおおよそ3 MIPSでした。しかし、近年では組み込み用途の
マイクロコントローラでも数MIPSの性能があります。コストも下がり、大量購入時には1個あたり100円以下での取得が可能な時代となりました。
IBMのzMIPSは同社の
メインフレームの性能を示すために用いられる指標であり、特にSystem zに関連しています。
コンピュータ性能の比較や評価には、このような様々な指標が用いられます。MIPS値は、
コンピュータ技術の進化に伴い変遷しながら現在に至っており、今後の発展にも引き続き注目されます。