ディー・クルー・テクノロジーズ Blog

bookmark_borderシステムLSIのブレイクスルー技術② 動的電圧周波数スケーリング(DVFS)(2)

こんにちは。今日はDVFS機能搭載プロセッサとDVFSの動作原理についてお伝えします。

DVFS機能搭載プロセッサのブロック図

まず、DVFS機能搭載プロセッサについてです。図1に弊社が電源ICで用いているDVFS機能搭載プロセッサのブロック図を事例として示します。

図1 DVFS機能搭載プロセッサのブロック図

CPU内にクロック周波数/電源テーブルが配置され、負荷の大きさに対応するクロック周波数及び電源電圧Vddの指示情報をテーブルから出力します。

指示情報に基づきPLL及び可変電源を制御し、DVFSを実行します。すなわち、負荷の大きさに適合したクロック周波数、電源電圧を用いてDVFSが最適な値を選択実行することになります。

半導体企業の可変電源(DVFS対応電源IC)の製品例

半導体企業の可変電源(DVFS対応電源IC)の製品例を以下に示します。

半導体企業製品例
  1. TI LM25066A
  2. リニアテクノロジーLTC3886
3. ダイアログ・セミコンダクタDA9063
4. ルネサスISL69269
  5. オンセミコンダクタNCP81022
  6. ADI  LTM4680 
7. ディークルーテクノロジーズ DCT013C(開発品)
半導体企業のDVFS対応製品(2024年9月 弊社調べ)

また、Appleは、iOSなどのソフトウェアとAシリーズチップなどのハードウェアを密接に統合し、DVFSを効果的に活用しています。

Apple Mobile Processor における動的電圧スケーリング技術(DVFS)(2024年9月 弊社調べ)

  • プロセッサの負荷監視: プロセッサ内部のセンサーやモニタリング機能が、プロセッサの負荷状況を定期的に監視する。これには、タスクの実行中の処理負荷や電力消費の推定が含まれる。
  • 電圧と周波数の調整: 負荷の高い場面では、プロセッサの動作周波数を上げ、同時に電圧も増加させることで性能を最大限に引き出す。一方、負荷が低いときには、動作周波数を下げ、電圧を低く保ちながらも十分な処理能力を維持する。
  • スケーリングアルゴリズム: モバイルプロセッサには、動的電圧スケーリングを行う専用のアルゴリズムが組み込まれている。これらのアルゴリズムは、プロセッサの状態を評価し、最適な電圧と周波数の組み合わせを決定する。
  • バッテリー管理: バッテリーの残量や充電状態なども考慮に入れながら、電圧と周波数を調整する。

DVFSの動作原理

図2にDVFSの原理を示します。

図2 DVFSの原理

まず上段の説明です。一般に低消費電力化を図るため、SoCではゲーテッドクロックが用いられます。Gated Clockは負荷が軽い場合、所要の処理が終了するとクロックを止めます。これで、タスク処理割当時間後半にはクロックを止めるので、1動作時間を半分=消費電力1/2を図れます。

次に下段の説明です。DVFSではタスク処理割当時間丁度で処理が終了する様に、1/2の電源電圧、1/2のクロック周波数でSoCを動作させます。 すなわちDVFSはゲーテッドクロックに比べて、さらに1/4の消費削減を図れます。

なお、CMOSの特性から、クロック周波数に比例して電源電圧を下げる事ができます。

プロセスバラツキを考慮したDVFS機能搭載SoC/MPU/GPU

次に図3にプロセスバラツキを考慮したDVFS機能搭載SoC/MPU/GPUのブロック図を示します。

図3 プロセスバラツキを考慮したDVFS機能搭載SoC/MPU/GPUのブロック図

リングオシレータ(Ring Osc)の発振周波数からMOSトランジスタの閾値(Vth)を推定します。例えばVthが低い方向に0.05Vばらついた場合、回路の動作周波数が上がります。同一周波数で動作させる場合、電源電圧(Vdd)を下げる事ができるので、消費電力を更に低減できます。一般にVthが低下するとトランジスタのリーク電流が増加しますが、Vdd低減による低消費電力化により相殺できます。こうした工夫によりプロセスバラツキを考慮した設計ができます。

なお、SoCの作りに応じて、リングオシレータは複数個所に挿入されることがあります。

参考までに各CMOS世代におけるVthのプロセスバラツキを示します。

図4 各CMOS世代におけるVthのプロセスバラツキ(2024年9月 弊社調べ)

いかがでしょうか。
次は、動的電圧スケーリング(DVS)開発の背景をお伝えしようと思います。

bookmark_borderシステムLSIのブレイクスルー技術① 動的電圧周波数スケーリング(DVFS)(1)

久々にシステムLSI記事を更新します。今回は動的電圧周波数スケーリング(DVFS)の概要についてお伝えします。

DVFSとは

動的電圧周波数スケーリング(Dynamic Voltage and Frequency Scaling, DVFS)は、プロセッサの処理量(負荷)の大小に応じて、電源電圧およびクロック周波数を動的(適応的)に切り替える技術です。これにより、必要な性能を維持しつつ、消費電力を最適化し、発熱を抑えることができます。

このDVFSによるクロック周波数/電源電圧の動的切り替えについて、表1に示します。

表1 DVFSのクロック周波数/電源電圧動的切り替えとアプリケーション

各種システムLSI(SoC)やプロセッサでは低消費電力化を図るために動的電圧周波数スケーリング(DVFS)が広く導入されています。例えば、SoCの負荷が低いときには動作周波数及び電源電圧を下げ、低消費電力化を図ります。一方、高負荷時には高性能を必要とするアプリケーションに対して、周波数及び電源電圧を上げて高速処理を可能にします。DVFSは負荷の大小に応じて動的に最適な電圧/周波数を割り当て、低消費電力化を図る手法です。

各クロック周波数/電圧における具体的なアプリケーションは概ね下記の通りです。

2GHz/1.2V:AIモデルの学習や推論、ゲーム、ビデオ編集、画像認識、画像生成、画像処理タスク(高解像度)など、高負荷の作業時に切り替えます。
1.5GHz/1V:自然言語処理や音声認識など、中程度の負荷の作業時に切り替えます。
0.8GHz/0.5V:画像処理タスク(低解像度)、長時間かけて良い推論、Office作業、Web閲覧、スリープモードなど、低負荷の作業時に動的切り替えを実施します。

DVFSで用いられている負荷検出手段(MPUの例)

MPUにおいてDVFSで用いられている負荷検出手段を表2に示します。DVFSはMPUのみならず、モバイルプロセッサ、GPU, ECU 等で広く実用化されています。

表2 DVFSで用いられている負荷検出手段(MPUの例)

各半導体企業のソリューション例

各半導体企業が得意なアプリケーション、ハードウェアの競争力を高めるDVFS技術を提供しています。それぞれ簡単に説明します。

DVFSの種類概要
NVIDIA 「GPU Boost」GPUの電力管理を実現のための技術で、一部のGPUシリーズに搭載されています。
AMD GPU 「PowerTune」AMDの「PowerTune」は、エネルギー消費の削減に加え、コンピュータの冷却によって発生する騒音レベルを下げ、モバイルデバイスのバッテリー寿命を延ばすのに役立ちます。(wikipedia)
Intel MPU, GPU「DVFS」Intelは、MPU(マイクロプロセッサユニット)およびGPU(グラフィックスプロセッサユニット)においてDVFS技術を採用しています。これにより、プロセッサの動作周波数と電圧を動的に調整し、効率的な電力管理を実現しています。
Appleスマホ用プロセッサ Aシリーズ「DVFS」AppleのAシリーズプロセッサもDVFS技術を活用しています。これにより、iPhoneやiPadのパフォーマンスを最適化しつつ、バッテリー寿命を延ばすことができます。

DVFSは、現代のプロセッサにおいて不可欠な技術であり、各企業が独自のソリューションを提供しています。これにより、パフォーマンスと電力効率のバランスを取ることが可能となり、ユーザーにとって快適な使用体験を提供します。

次回はDVFSのブロック図、及び動作原理についてご説明します。