このツールでできること
MIPS(Million Instructions Per Second=百万命令毎秒)は、プロセッサのスループットを表す古典的な指標で、CPUが1秒間に何百万命令を実行できるかを示します。この変換ツールは、MIPS値を「1命令あたりの平均実行時間」に換算し、さらにその逆方向の変換も行います。コンピュータアーキテクチャ共通の指標であり、国や地域ごとの特別なルールはなく、どこでもそのまま使えます。
使い方
まず変換の方向を選びます。MIPS→時間では、MIPS値を入力すると、1命令あたりの平均時間が秒(s)・ミリ秒(ms)・マイクロ秒(us)・ナノ秒(ns)・ピコ秒(ps)で表示されます。時間→MIPSでは、平均命令実行時間とその単位を入力すると、MIPS値と、同じ時間をすべての単位で表した値が返されます。
計算式の解説
CPUがM MIPSで動作している場合、1秒間に\(M \times 10^{6}\)命令を実行します。1命令あたりの平均時間は、この処理速度の逆数で求められます。すなわち
$$t = \frac{1}{M \times 10^{6}}\ \text{秒}$$です。これを変形すると逆の関係
$$\text{MIPS} = \frac{1}{t \times 10^{6}}$$(tは秒)が得られます。値が非常に広い桁数にわたるため、結果は5つのSI単位で表示し、見やすい単位を選んで確認できるようにしています。
計算例
50 MIPSのプロセッサを例にとります。1命令あたりの時間
$$= \frac{1}{50 \times 10^{6}} = \frac{1}{5 \times 10^{7}} = 2 \times 10^{-8}\ \text{秒}$$となり、これは0.00002 ms、0.02 us、20 ns、20000 psに相当します。逆方向では、平均命令実行時間が20 nsの場合、
$$\text{MIPS} = \frac{1}{20 \times 10^{-9} \times 10^{6}} = \frac{1}{0.02} = 50\ \text{MIPS}$$となります。
よくある質問
なぜ正の値しか入力できないのですか? MIPSが0の場合、CPUは命令を一切完了しない(実行時間が無限大)ことを意味し、実行時間が0の場合はMIPSが無限大になります。どちらもゼロ除算となるため、ゼロや負の値は受け付けません。
MIPSは命令の複雑さを考慮しますか? いいえ。MIPSは各命令が行う処理内容に関わらず命令数だけをカウントするため、異なる命令セットアーキテクチャ(ISA)どうしを直接比較する用途には適しません。
MIPSとクロック周波数の関係は? \(\text{MIPS} = \dfrac{\text{クロック周波数(Hz)}}{\text{CPI} \times 10^{6}}\) で求められます。CPIは1命令あたりの平均クロックサイクル数です。この変換ツールはスループットの数値のみから計算するため、アーキテクチャに依存しません。