前回の記事「ラズパイ4をアンダークロックしてみた(前編)」では、ラズパイ4をバッテリー駆動にするためにアンダークロックをやってみました。今回は、実際にアンダークロックを試した後の、CPUの性能等の変化についてまとめます。
ベンチマーク
ラズパイ4の性能がアンダークロック後、どのくらい変化したかを見るために、ベンチマークを行いました。
ベンチマーク(benchmark)という言葉には様々な意味がありますが、コンピュータ関連では、一定の負荷を掛けることで性能を測ることを指します。
ベンチマークソフトは、「UnixBench」を使って計測しました。
UnixBenchは、GitHubからラズパイ上にダウンロードするだけで使うことができます。ダウンロードのリンクは以下になります。
参照:GitHub(byte-unixbench)
実証結果
ベンチマークスコア
以下がベンチマーク終了後に示されるスコアです。
左がシングルコア、右がクアッドコアで、青色がアンダークロック時、橙色が通常時のスコアを表しています。
シングルコア、クアッドコア両方で、アンダークロックが通常時に比べて約85%のスコアダウンになりました。
アンダークロック時は、ラズパイの起動時間やプログラム実行時のラグが体感できるほどに処理能力が低下していました。IoTでは、高速処理や大容量通信は行わないため、処理能力が低下しても問題ないと思います。
実運用時は、CUIへの切替やディスプレイ出力・Bluetoothの停止などをすれば、ラズパイの処理能力が向上すると思うので試してみたいです。
温度変化
以下がベンチマーク中のCPU温度の変化を表したグラフです。
縦軸は温度[℃]、横軸は時間[秒]です。青色がアンダークロック時、橙色が通常時の温度を表しています。
前半(1500秒まで)がシングルコアでのベンチマーク、後半がクアッドコアでのベンチマークです。シングルコアとクアッドコアでは、処理する量が多いクアッドコアの方が温度が高くなっています。
また、通常時とアンダークロック時を比べると、性能が抑えられているアンダークロックの方が温度が低く安定しており、分布している幅が小さいことが分かります。
スコア、温度共に、ここまで大きな差が出た要因は何でしょうか。
前回設定時に大きく変えた値として、クロック周波数があります。
ベンチマーク中の周波数を見てみます。
周波数変化
以下がベンチマーク中のクロック周波数の変化を表したグラフです。
横軸はクロック周波数[MHz]、横軸は時間[秒]です。青色がアンダークロック時、橙色が通常時の周波数を表しています。
当然なのですが、設定したため、アンダークロック時の周波数が300[MHz]に多く見られます。
クロック周波数が性能の指標と言われている通り、クロック周波数を約85%低く設定したため、性能でも約85%低くなりました。
クロック周波数とCPU温度の関係について考えるには、そもそもCPUがなぜ発熱するのか知る必要があります。
クロック周波数は、クロック信号が1秒間に何回発信されるかの値でした。クロック信号はトランジスタによって発信されます。
そもそもトランジスタとは、n型半導体とp型半導体から作られる半導体素子のことで、電気的にスイッチングができるものです。このトランジスタ自体や周辺回路がCPU発熱の原因です。
以下の項目がCPUの発熱に関わっています。
トランジスタ間の配線
配線には微量ですが、必ず抵抗が存在します。その抵抗によってジュール熱が発生します。
スイッチング電力
トランジスタをオン/オフする際にトランジスタ自身の内部抵抗によって消費される電力のことです。
ショートサーキット電力
2つのトランジスタをオン/オフさせる際に、一瞬両方オンになるタイミングでグランドへ電流が流れ、電力が消費されます。
スイッチング電力と合わせて、ダイナミック電力、ダイナミックパワーと呼ばれることもあります。
リーク電力
トランジスタの小型化進む中で、オフの状態であるにも関わらず、完全な絶縁ができないために、電流が流れ電力が消費されます。
スイッチング電力、ショートサーキット電力、リーク電力がクロック周波数に依存します。周波数を上げると、これらの電力消費上昇によってより多くの熱が発生します。よって、クロック周波数と温度は相関が強いのです。
通常時では、CPUへの負荷が一瞬抑えられたときに周波数が下がる傾向が見られます。この周波数の細かい変化がさきほどのグラフで温度分布を広くしていると考えられます。
消費電力
アンダークロック時の消費電力は2.8[W]でした。
通常時はUSB給電では足りず、ACアダプタでの給電になってしまったので、詳細な消費電力は計測できませんでした。ただ概算値として、9[W]弱であると推測されます。
よって、消費電力はアンダークロックによって約1/3まで抑えることができました。
検証結果からバッテリーの駆動時間が十分に長くできることが分かりました!
なかひろ
最新記事 by なかひろ (全て見る)
- ラズパイ4をアンダークロックしてみた(後編) - 2020年8月24日
- ラズパイ4をアンダークロックしてみた(前編) - 2020年8月20日
- 7セグ回路作ってみた(Part3 プログラミング) - 2020年8月18日