の続きです。
MIPS(Million Instructions Per Seconde)
1秒間に実行できる命令の数を表したものです。
Million Instructions Per Seconde
百万 命令 / 秒
数字が大きくなりがちのため、命令の数は百万単位であらわします。
20MIPS(1秒間に2000万個の命令を実行)
遅い
|
|
|
|
|
|
早い
100MIPS(1秒間に10000万個の命令を実行)
数が大きい方が命令を処理できて高速です。
何度も書きますが、1秒間に実行できる百万単位の命令数がMIPSです。
例えば2分間に6億個の命令を実行できるコンピュータの処理は、何MIPSですか?という問題が出たとします。
2分 = 120秒
600,000,000 / 120
ですが、MIPSは100万単位で考える必要があります。
100万は指数で表すと10⁶です。
6億個 / 120秒
= 600 * 10⁶ / 60
= 5 * 10⁶
= 5MIPS
上記が答えとなります。
5MIPSは1秒間に5 * 10⁶の命令を実行できます。
1秒の10億分の1(10⁻⁹秒)がナノ秒です。
1秒 / (5 * 10⁶)
= 1 / 5,000,000
= 0.0000002
= 200 * 10⁻⁹(200ナノ秒)
計算方法は色々あると思いますが、上記で考えてみました。
命令ミックス
CPUの基本的な命令実行手順は「命令の取り出し→命令の解読→対象データ読み出し→命令実行」の流れとなります。
しかし「対象データ読み出し」を必要としない命令だと、上記の手順は必要となりません。
命令は、その種類によって実行が必要なクロックサイクル数が異なっていたりするようです。
命令ミックスというのが出てきます。命令ミックスは、よく使われている命令を
一つのセットにしたものです。
標準的な命令ミックスは、科学技術計算で使われるギブソンミックス
事務計算で使われるコマーシャルミックスの2つがあります。
1GHzのCPUが下記の命令セットで出来ていた場合、処理能力は何MIPSになるか計算してみます。
命令種別 | 実行時間(クロック) | 出現頻度(%) |
---|---|---|
命令1 | 10 | 60 |
命令5 | 5 | 40 |
1GHzは毎秒10億回を意味します。
1秒 / 1GHz = 10⁻⁹ = 1ナノ秒
命令1 = 10クロック * 1ナノ秒
命令5 = 5クロック * 1ナノ秒
(10ナノ秒 * 0.60)
(5ナノ秒 * 0.40)
----------------
8ナノ秒
1秒 / 8ナノ秒 = 1 / 8 * 10⁻⁹秒
= 0.125 * 10⁹秒
= 125000000
= 125MIPS
となります。
まとめ
ひたすら要計算。