一般にクロック周波数が高いほど処理速度は高くなります。
パソコンの内部で、CPUなどに、動作のタイミングを指定するために、電圧の高・低を繰り返すクロック信号を与えます。
電圧の高・低でCPU内部の部品同士やメモリとのタイミングを同期させたクロック信号は、「1秒間に何回」というクロック周波数で速度が表現されます。
コンピュータが1秒間に何百万回命令を実行できるか(処理速度)を示す単位。
1MIPSのコンピュータは、1秒間に100万回の命令を処理できます。
※ 平均命令実行時間は、1命令を実行するのにかかる平均時間
50MIPSのコンピュータで、3,000万個の命令を実行する場合の予想処理時間は何秒か(小数第3 位を四捨五入する)。
ここで、プロセッサの使用率は70%とし、OS
のオーバヘッドは考えないものとする。
50MIPSでは、1秒間に5,000万個もの命令を実行できる能力を持っていることになる。
プロセッサの使用率は70%なので、1秒間に実行できる命令数は、
50,000,000[命令/秒]×0.70 =35,000,000[命令/秒]
したがって、3,000万個の命令を実行するための時間は、
30,000,000[命令/秒]÷35,000,000[命令/秒]=0.857・・・[秒]
CPUの処理速度を表す単位。
CPIとは、クロック周波数とMIPSを結びつけたもので、1命令の実行に要する平均クロック数を表します。
CPUの命令実行時間を求める式:
CPUの1クロックあたりの処理時間×1命令あたりのクロック数
CPU 時間 = 実行命令数 × CPI × クロック・サイクル時間
CPU 時間 = 実行命令数 × CPI / クロック周波数
同じ命令セットをもつコンピュータAとBがある。
それぞれのCPUクロック周期と、あるプログラムを実行したときのCPIは、表のとおりである。コンピュータAがこのプログラムを実行したときの処理時間はコンピュータBの処理時間の何倍になるか。
CPUクロック周期 | CPI | |
---|---|---|
コンピュータA | 1ナノ秒 | 4 |
コンピュータB | 4ナノ秒 | 0.5 |
① CPUクロック周期とは1秒当たりに1回の振幅が起こる時間。
② コンピュータAは1クロックあたり1ナノ秒(1秒に10億)で、約1MHzのCPU。
③ コンピュータBは4ナノ秒(1秒間に2500万)で、約250MHzのCPU。
④ CPIとは何クロックで命令が処理できたかなので、コンピュータAでの4クロック分とは、1クロックに1ナノ秒かかるので、4ナノ秒かかる。
⑤ コンピュータBでの0.5クロック分とは、1クロックに4ナノ秒かかるので0.5クロックは2ナノ秒分である。
⑥ つまりコンピュータAの処理時間はコンピュータBの2倍となる。
よく使用される命令の使用頻度と実行時間を設定して、CPUのMIPS値を求める手法。
命令ミックスとは、コンピュータやCPUの処理能力の計測に用いる計算や入出力などの命令の組み合わせのことです。
表は、あるコンピュータの命令ミックスである。このコンピュータの処理性能は約何MIPS か。
命令種別 | 実行速度 (マイクロ秒) |
出現頻度(%) | 実行時間 |
---|---|---|---|
整数演算命令 | 1.0 | 50 | 1.0×0.5=0.5(マイクロ秒) |
移動命令 | 5.0 | 30 | 5.0×0.3=1.5(マイクロ秒) |
分岐命令 | 5.0 | 20 | 5.0×0.2=1.0(マイクロ秒) |
0.5+1.5+1.0=3.0(マイクロ秒)となり、1命令を実行するのに平均3.0(マイクロ秒)。
MIPSは、1秒間に平均何百万回(106)の命令を実行できるかを表すので、
MIPS=1÷(3×10-6)=0.3×106(0.3MIPS)
CPUが1秒間に処理できる浮動小数点演算の回数。