News and Views 2013 Summer / Vol. 6: 上流設計&組込み

組込みシステムのパワー・コントロール

はじめに

組込みシステム開発成功の秘訣をご存知でしょうか。それはバッテリー寿命を犠牲にせずに機能を追加することです。ハードウェアを用意して、必要な機能をリストアップし、さらに使用できるパワー制限を決め、後は優れたソフトウェア開発者に頑張ってもらえれば良いのです。ですが、ちょっと待ってください。このアプローチには問題が隠れています。

図1. 組込みシステム開発の様子図1. 組込みシステム開発の様子

多くの組込みシステム開発現場では、ソフトウェア開発者は、担当ごとに、組込みシステムの異なる機能を個別にコーディングします。その際に、自分が記述したコードが実際にはどれだけのパワーを消費するのかを全く知ることができない、場合によっては考慮することがない、ということが多々あります。ソフトウェア開発者は、単に決められた納期に向かってひたすらコーディングします。パワーをどのようにコントロールすれば良いかが分からないというよりも、そもそもパワー自体がハードウェアの問題だと思っていたりもします。もちろんハードウェア設計者ですら、それを知る由はありません。やがてプロジェクトの終盤になり、すべてのコードをまとめてコンパイル、ビルドしてみたら予想外のパワーを必要とすることが発覚し、想定していたバッテリーでは競合するに足る充分なバッテリー寿命が得られなかった、などということもしばしば起きています(図1)。

これはもちろん、ソフトウェア開発者の能力不足などということではなく、単にパワーをコントロールするための道具(ツール)を持っていなかった、というだけなのです。彼らにその道具を与えれば、それこそが彼らにとっての「パワー」となります。そこでお奨めしたいのが、Nucleusリアルタイム・オペレーティングシステム(RTOS)です。

Nucleus RTOSとは

Nucleusは、メンター・グラフィックスが1993年から提供し続けているRTOSで、現在23億台ものバッテリー駆動型モバイル機器で使用されています。またAED(自動体外式除細動器)などを始めとした医療機器でも使われており、実績のある、安定したRTOSとして広く受け入れられています。

図2. Nucleusパワー・マネジメントのためのフレームワーク図2. Nucleusパワー・マネジメントのためのフレームワーク
図3. 電圧スケーリングを行うための条件図3. 電圧スケーリングを行うための条件

第三世代になった現在のNucleusは、パワー・マネジメント機能とそのAPIが充実し、ハードウェアのペリフェラルに合わせたパワーステートの管理機能や、DVFS(ダイナミックな電圧/周波数スケーリング)サービス機能、またアイドリングのスケジューラなどのサービスが充分過ぎるほど用意されています(図2)。

アイドリング・スケジューラ

アイドリング・スケジューラはDVFSと連動するためには欠かすことができません。電圧のスケーリングについて考えてみると、電圧をスケーリングさせるということは、例えば、ビジー状態の電圧値からアイドリング状態の電圧値へ、あるいはアイドリング状態の電圧値からビジー状態の電圧値へと変化させることを意味します。ここで注意しなくてはならないことは、状態遷移をさせる場合にも、付加的なエネルギーを要するということです(図3)。

遷移するのに要するエネルギーと、アイドリング状態でセーブできるエネルギーを比べ、セーブするエネルギーの方が大きくないと、電圧スケーリングさせる意味がありません。このようにアイドリング・スケジューラは、パワーをコントロールするのに重要なサービスを提供します。

システム・パワーステートの考え方

組込みシステムには、さまざまなペリフェラルが存在します。LCD表示装置、USBインタフェース、WiFi無線ネットワークなどがその一例です。組込みシステムでは、これらのペリフェラルが必ずしも一斉に使われるわけではありません。USBインタフェースなどは通常は使用せず、外部機器とのファイル転送をする場合に有効であれば、あとはUSBデバイスの抜き差しのみ監視していれば良いことになります。このような各ペリフェラルのユースケースや動作周波数などに基づいて、システムとしてのパワーの使われ方の状態を表現したものを、システム・パワーステートと呼んでいます(図4)。

組込みシステムのパワー・コントロールは、このシステム・パワーステートを使い、あらかじめ準備されたAPIをコールすることにより簡単に行うことができます。

図4. システムのユースケースに基づくパワーステート図4. システムのユースケースに基づくパワーステート

図5. Nucleusを使った組込みシステム開発の様子図5. Nucleusを使った組込みシステム開発の様子

まとめ

組込みシステム開発は競争が激化しています。より効率的にローパワー化した魅力ある製品を世の中に出すことが必要となっています。むしろ、ユーザの期待としてローパワーは当たり前の要件であるとも言えます。ソフトウェア開発者にとって、ローパワーは他人事ではなく、積極的にアプローチしていかなくてはなりません。とは言え、そのコントロールはなるべく単純化、簡易化し、さらに差別化をするためのクリエイティブな機能開発に時間を費やすべきでしょう(図5)。

Nucleus RTOSを用いたパワー・マネジメントの技術的な文献も合わせてご覧ください。

これ以上のパワー削減はあり得ない!
RTOSからのパワー・マネジメント技術文献はこちら

今すぐダウンロード