動作周波数とは、CPUの性能を示す指標の一つであり、別名、「クロック周波数」とも言います。クロックとは、CPUが処理を同期させるために用いる信号のことです。動作周波数・クロック周波数は、文字通り、クロックの周波数のことで、1秒当たりのクロック数(単位:Hz・ヘルツ)で表示します。
動作周波数(クロック周波数)の単位はHz(読み方:ヘルツ)
クロックとは、CPUが処理を同期させるために用いる信号
クロックとは、CPUが処理を同期させるために用いる信号のことです。
CPUの命令実行やデータの転送は、クロックに同期して行われます。クロックは、一定のテンポでオンとオフの周期を繰り返します。このクロックを波形で表すと、下記のようになります。
1クロックは、波形で表した時の1回あたりの上下動を指します。
動作周波数(クロック周波数)は値が高いほど高速に動作する
動作周波数(クロック周波数)は、1秒間に1クロックが何回繰り返されたかによって算出されます。動作周波数(クロック周波数)の単位は、Hz(読み方:ヘルツ)で表します。
例えば、1秒間に6回クロックが実行されると、6Hz 、3回クロックが実行されると3Hzになります。
この様子を波形で表すと、下記のようになります。
すでに述べた通り、CPUの命令実行やデータの転送は、クロックに同期して行われます。このため、クロック周波数が高くなると、短い時間の中で大量のクロックが出力できます。よって、1命令の実行速度が向上し、処理速度も高くなります。
現在の組込みにおける動作周波数(クロック周波数)の単位の主流はMHz(読み方:メガヘルツ)
世界初のCPUは、Intel社が1971年に発表した「4004」と言われています。4004の動作周波数は、108KHzでした。1KHzは1秒あたり1000回の振動を意味します。このため、108KHzは、1秒間につきクロックが108,000回生成されたことになります。
CPUの技術進歩により、組込み業界において、2000年以降はMHz(読み方:メガヘルツ)が、動作周波数を表す単位として主流になりました。MHzは、1秒当たり100万回の振動を意味します。
ポイント
- クロックとは、CPUが処理を同期させるために用いる信号
- 動作周波数(クロック周波数)は、1秒間に1クロックが何回繰り返されたかによって算出される
- 動作周波数(クロック周波数)の単位は、Hz(読み方:ヘルツ)で表す
- 現在の組込みにおける動作周波数(クロック周波数)の単位の主流はMHz(読み方:メガヘルツ)
動作周波数(クロック周波数)と消費電力の関係
CPUはクロックに従って処理を実行します。CPUは、1クロック出力するごとに動作電力を必要とします。よって、同じ構造のCPUであれば、動作周波数が高いと、消費電力も高くなります。
CPU名 | 最大動作周波数 | 動作時消費電力 |
---|---|---|
STM32F4 | 180MHz | 146 µA/MHz |
STM32L4 | 80MHz | 84 µA/MHz |
STM32L0 | 32MHz | 76µA/MHz |
出典:STM32 Arm Cortex 32bitマイクロコントローラ
反対に、必ずしも高い実行速度や動作周波数やを必要としない場合、動作周波数を低くすることで、消費電力を抑えることができます。
ポイント
- 同じ構造のCPUであれば、動作周波数が高いと、消費電力も高くなる
動作周波数(クロック周波数)の限界
動作周波数の増大=消費電力・発熱量の増大
従来のCPUは、動作周波数を上げることで高機能化単位時間あたりの計算量を増やし、高性能化を実現してきました。
しかし、すでに述べたとおり、動作周波数が上がると、消費電力が上がります。また、これに伴い、発熱量も増えます。
マルチコアによる消費電力・発熱量の解消
このため、単に動作周波数を上げることによる高機能化には限界があり、また、安定した動作に支障をきたす弊害がありました。
この弊害を解消するため、動作周波数をあげるのではなく、コアを増やすことによる高性能化の方法が開発されました。
その結果、コアが複数内蔵(=マルチコア)されたCPUが実用化されました。
マルチコアの詳細については、下記の記事をご覧ください。
ポイント
- 動作周波数が上がると、消費電力が上がり、発熱量も増える
- 近年ではコアを増やすことによってCPUの高性能化が実現されている
動作周波数(クロック周波数)とMIPSの計算方法
MIPS=「毎秒100万回の命令」の処理速度の単位
CPUの処理速度を表す単位として、動作周波数のほかに、MIPS(読み方:ミップス)というものがあります。MIPSとは、「毎秒100万回の命令」を意味する「Million Instructions Per Second」の略です。
例えば、1MIPSのCPUは、毎秒100万回の命令を処理できます。
動作周波数(クロック周波数)とMIPSの関係式
動作周波数とMIPSを整理すると、下記になります。
動作周波数(Hz):1秒間あたりのクロック数
MIPS:1秒間に実行可能な命令数
上記を踏まえると、動作周波数とMIPSの関係式として、次式が成り立ちます。
1回あたりの命令に必要なクロック数×MIPS=動作周波数
具体的なCPUコアの性能をもとに考えます。
ArmコアのARM922Tの性能は、下記の通りです。
MIPS :200MIPS
動作周波数:250 MHz
このため、1回あたりの命令に必要なクロック数は次式によって求められます。
250 MHz÷200MIPS=1.25
ポイント
- MIPSとは、CPUの処理速度を表す単位の一つ
- MIPSとは、「毎秒100万回の命令」のこと
- 1回あたりの命令に必要なクロック数×MIPS=動作周波数