Silicon Labs EFM32:低消費電力MCUの性能指標として、なぜ処理時間(Processing time)が重要なのですか?
MCUの消費電力を下げたい場合、間欠動作するようにソフト設計を行うのが一般的です。間欠動作とは、必要な処理が終わったらスリープモードに移行し、定期的に動作モードに復帰(ウェイクアップ)しては処理を行い、その処理が終わったら再びスリープモードに移行する、といった一連の動作です。MCUが処理を行わない期間に、消費電力が低いスリープモードやディープスリープモード、スタンバイモードに留まることで、消費電力の平均値を下げることができます。

動作モードにおける消費電力を考える場合、MCUのアクティブ電流値(縦軸)だけを比較してしまいがちですが、時間軸(横軸)も併せて考慮しなければなりません。
が重要なのですか?2__1.png)
つまり動作モードで処理する時間を短縮すればするほど、それに応じて平均消費電力は下がることになりますが、どうやって処理時間を短縮するか?が鍵になります。内蔵したペリフェラルを駆使しながら、如何に効率的なソフトウェア設計を行うか?も重要な要素ですが、それと同時にCPUコア自身の処理性能も大きな比重を占めます。
ソフトウェアはC言語で設計することが多いと思いますが、論理合成を行うと、CPUコアが持つ命令セットを上手く組み合わせて行いたいことを実現してくれます。CPUコアによって搭載している命令セットは異なりますので、同じことを実現する場合でも、命令数が少なく実現できるCPUと、命令数が多くなってしまうCPUとが出てきます。これはそのまま処理時間の長短に直結します。
処理時間の観点で同じクラスの8/16bit MCUと比較すると、ARM Cortex-Mは非常に命令効率の良いCPUコアです。
が重要なのですか?1__1.png)
一方で、搭載している命令数が多ければ、その分ICのダイサイズも大きくなり、コストが高くなりがちです。
EFM32では、標準的なCortex-M3、命令数を若干絞って低コスト化したCortex-M0+、逆に浮動小数点演算をサポートして高性能化したCortex-M4Fと、採用CPUにバリエーションを持たせることでバランスの良い製品群を提供しています。