ゼファーネットのロゴ

総合的な電力削減

日付:

デバイスの消費電力は、設計、開発、実装プロセスのあらゆる段階の影響を受けますが、電力を節約する機会を特定することは、もはやハードウェアの効率を高めることだけではありません。

ツールと 方法論 RTL から実装に至るまで、ほとんどの省電力機会に対応しており、半導体業界の一部ではすでにそれらを使用しています。 どちらも成熟していると考えられており、権力の意図を定義する基準も同様です。

電力とエネルギーをさらに節約するための大きな機会はまだ残っていますが、その多くは、何世代にもわたって盲目的に受け入れられてきたシステムレベルの決定や多くの実装ノードに疑問を投げかける必要があります。 これらの決定の中には、より大規模で複雑な設計の構築を妨げているため、再検討する必要があるものもあります。

「この組み合わせには、電力、エネルギー、熱という XNUMX つの騎士がいます」と、デジタル & サインオフ グループの製品管理ディレクター、ロブ ノース氏は言います。 ケイデンス。 「それらは常にそこにあり、おそらくパワーが最も顕著ですが、ここ数年でエネルギーが最前線に来ています。 現在、サーマル現象が発生しています。 特定のツールを使用してフロー内の特定のポイントで攻撃できるため、それらはすべて興味深いものです。」

そしてそこに問題が潜んでいます。 「アーキテクトのジレンマは、早期に見積もりを行うために低レベルの情報が必要であることです」と、ソリューションおよびビジネス開発担当バイスプレジデントのフランク・シルマイスター氏は述べています。 アルテリスIP。 「このジレンマは一度も解決されておらず、おそらく私のビジネス人生においても解決されないでしょう。 アーキテクチャに関する決定をできるだけ早く行うには、一連の情報、一連のツール、およびこれらの決定をサポートする一連の機能が必要です。 これらの決定はできるだけ早く行う必要がありますが、同時に実施の効果をできるだけ正確に反映する必要もあります。」

さらに言えば、電力は単一の数字として表すことはできません。 バッテリー寿命に影響を与える可能性があるため、総エネルギー量を心配する人もいます。 ピーク電力によりチップの動作上の問題が発生したり、時間の経過とともに電力が供給され、熱の問題が発生する可能性があるため、ピーク電力をより懸念する人もいます。

分析を行うには、システムがどのように使用されるかを正確に知る必要があります。 「100 個の異なるブロックを備えた SoC があると想像してください」と、Innergy Systems の創設者兼 CEO の Ninad Huilgol 氏は言います。 「それらはすべて相互作用しており、事前にどのように電力密度のピークを生成するかはわかりません。 シミュレーションを実行すると、それらすべてが相互作用して、突然電力密度のピークが生成されます。」

さまざまな市場がさまざまな側面に焦点を当てています。 「エッジ AI (エッジ インテリジェンス) には、データセンターのハイパースケーラー コンピューティング タイプのアプリケーションとは異なる注意事項や疑問点があります」とケイデンスの Knoth 氏は言います。 「しかし、両者はテクノロジーの特定の側面を推進する予定であり、その一部は相互に強化し、一部は別々のものになります。 Edge は、バッテリー寿命のため、エネルギーの特定の側面をより重視することになります。 そして、ソフトウェアで何を実行するのか、ハードウェアで何を実行するのかを考えることが重要です。 基地局を実行して送り返すために、基地局に何を通信しますか? IoT 業界が独自に主導し、革新するのに適している場合には、非常に難しい問題がいくつかあります。 彼らだけがリーダーというわけではありません。 大規模なハイパースケール コンピューティング データ センターを開発している人々は、まったく異なるクラスのリーダーです。 多くの場合、彼らが最も力を入れているのは、そのコンピューティングを実現するために必要なインフラストラクチャに巨額の資金が必要となるためです。」

RTL と実装テクニック
省電力技術は長年にわたって RTL および実装レベルに適用されてきましたが、さらなる電力とエネルギーの節約が可能です。 で 実装 新しいテクノロジーにより、対処しなければ電力の無駄につながる問題が増えています。

「テクノロジーが共謀して、電圧を確実に供給することがさらに困難になっています」と、同社の製品マーケティング担当ディレクター、マーク・スウィネン氏は述べています。 ANSYS。 「ある程度の電圧降下が発生しますが、多くの場合、最大 100 ミリボルトの降下が見られるかもしれないと言ってマージンを積み上げるだけの人がいます。 したがって、私のタイミングでは、すべてのセルがこれほど遅くなる可能性があると想定する必要があります。 明らかに、すべてのセルでその最大電圧降下が発生するわけではないため、実際の電圧降下をより正確にモデル化できればできるほど、この誤差を回避するように配電ネットワークをより正確に設計でき、この電圧降下マージンから身を引くことができます。 。 そのマージンを減らそうとしているのですが、それは大きな影響を与える可能性があります。」

RTレベル, クロックゲーティング & パワーゲーティング 長い間使用されてきました。 定義されたタスクに関連する電力とエネルギーは最適化されますが、実行される機能に対して電力の観点からタスクが最適であるかどうかを特定するのには役立ちません。

「理想的な電力という用語があります」とノース氏は言います。 「これは無駄な活動を特定する試みです。 たとえば、クロックがフリーランニングしているブロックがあり、実際にはリセットされている場合、そのクロックをゲートすることができます。 そのブロック内で行われているトグルを分析し、その階層からのトグルによる電力を合計し、電力が浪費されている場所を示すレポートに表示できます。 この方法論を使用して、ハードウェア エンジニアが設計方法論の観点から自分たちが行っていることを改善していることがわかりました。 他にも使用できるより深いスクラブテクニックがたくさんあります。」

RTL を調べると、他の電力節約が実現できる可能性があります。 「パワー アーティストは、ユーザーのやり方を見て、RTL への編集を提案します」と Ansys の Swinnen 氏は言います。 「ある機能をこの方法で実装したかもしれませんが、同じ機能を別の方法で実装すると、電力を節約し、同じ機能を実現できます。 RTL を自動的にスキャンし、RTL をより電力効率の高い実装にアップグレードできる各場所を特定する最適化ライブラリがあります。 見積もりに基づいてどれくらいの電力を節約できるかを示し、承認すれば実際にそれを実行します。」

早期見積もり
トレードオフを早期に評価できるほど、その影響が大きくなる可能性があることに異論を唱える人はほとんどいないでしょう。 「範囲が広がれば広がるほど、より多くの当事者を交渉の場に持ち込むことができます。一歩下がって早い段階で検討すればするほど、より大きなチャンスが見え始めます」とノース氏は言います。 「これらは、制作している XNUMX つのウィジェットをより良くすることを超えた、より大きなトレンドです。 そのウィジェットがギズモ内にどのように収まるか、水力発電所や太陽光発電所に接続されるデータセンター内の製品内にどのように収まるかを実際に検討する必要があります。」

問題は、十分に正確な見積もりがなければ、誤った決定が行われる可能性があることです。 「設計が大規模かつ複雑になるにつれて、正確な見積もりを作成することがますます困難になってきています」とシルマイスター氏は言います。 「たとえば、シリコン上のパスに必要なレジスタの数を見積もるには、フロアプラン情報が必要です。これは、大きなチップ サイズにわたって信号を伝播するのは非常に困難であり、XNUMX クロック サイクルでは実行できないためです。 NoC の場合、レジスタ数の最適化を試みますが、これは消費電力とチップ上で持ち歩く相互接続の量に影響します。 .lib から NoC 世代まで遡って、パスの長さの初期推定値に注釈を付けます。 後から改良する必要があるのでしょうか? 絶対。 問題の多次元的な現実により、特に垂直方向の依存関係がある場合には、それが非常に難しくなります。」

熱の解析を実行できるようにするには、長い時間枠を考慮する必要があり、現実的なワークロードを検討する必要があります。 それはおそらく、実際のソフトウェアを実行することを意味します。 「業界のほとんどは、エミュレータにマッピングされた RTL コードを使用し、そのプラットフォーム上で実際のソフトウェア ワークロードを実行し、電力推定を行うためのベクトルを取得しています」と Knoth 氏は言います。 「XNUMX 日に複数回繰り返すことで、ハードウェアの強力な機能をより効果的に使用できるようにソフトウェアを調整できます。 彼らは一夜にしてハードウェアを微調整することができます。 これで、無駄な電力を探し出し、可能な限り最適なシステムを確実に構築できるように、システムレベルでの協調最適化が可能になります。」

業界は常に、RTL を使用する代わりに抽象モデルを挿入する方法を模索してきました。その理由は、より高速に実行できることと、RTL の準備が整う前に解析を実行できるためです。 「ソフトウェア実行の消費電力の分析は、これまでエミュレーション プラットフォームに任せられていました」と Innergy の Huilgol 氏は言います。 「役立つテクニックの XNUMX つは、ソフトウェア環境でシミュレートできるハードウェアの電力モデルを構築することです。 これらのモデルは、ソフトウェア実行時のさまざまなハードウェア モジュールの平均消費電力と瞬間消費電力の両方について正確なフィードバックを提供できます。 これにより、テープアウト前の電力のハードウェアとソフトウェアの協調最適化が可能になります。」

同様のアプローチは過去にもハードウェアやソフトウェアの機能検証で行われてきましたが、現在ではそれを電力にも応用する試みが行われています。 「私たちは黒魔術を発明しているわけではありません。物理学と戦うことはできません」とヒュルゴル氏は言います。 「しかし、詳細な電力シミュレーションを常に実行する必要はありません。 ブロック レベルで小さなサンプリングを取得し、それらを組み合わせて、サブシステム レベル、システム レベル、エミュレーション、ソフトウェアなどで実行します。電力供給には 15 つの側面があります。 XNUMX つはデータ パス、もう XNUMX つは制御パスです。 主に制御パスを考慮しますが、データ パスの依存関係がある場合、データ パスを認識させる機能がモデルにあります。 これらは、トランザクション モデルで動作する統計的検出力モデルです。 どうやって解像度を上げるんですか? より小さいサイクルまたは単一サイクルを使用できます。 ただし、解像度が XNUMX サイクル以上の非常に大規模なトランザクションの場合は、何らかの統計的エラーが捕捉されるでしょう。」

過去を振り返る
以前は、ムーアの法則により、追加のゲート、より高いパフォーマンス、より低い電力を利用して、あるノードから次のノードへの移行が非常に簡単になりました。 つまり、特に既存のソフトウェアが新しいハードウェア上で動作し続けることを保証するためには、時間を超えた継続性が重要であるということです。

時間の経過とともに、非効率性が蓄積され、そこから抜け出すのは困難になります。 「以前は不可能だったことがたくさんあります」とノース氏は言います。 「おそらく、プロセス ノードがエッジに展開される半導体内のすべてのコンピューティングを収容できなかったためでしょう。 しかし今ではそれが可能です。 おそらく、適切な時間内に適切な精度で分析を行うためのツールがなかったか、パッケージング技術が利用できなかったためかもしれません。 しかし、時々、息を吸い、一歩下がって風景を再訪し、「この方程式を正しく最適化できたでしょうか、それとも最善を尽くしただけでしょうか?」と自問する必要があります。 時には科学者の帽子をかぶって、私たちが成文化した基本原則のいくつかに疑問を抱くことを恐れないことが必要です。」

統合の複雑さを考慮することが重要です。 「複雑さには XNUMX つのレベルがあります。アプリケーションの複雑さが一番上にあり、実装の複雑さが半導体テクノロジーに下降していきます」とシルマイスター氏は言います。 「それが私たちが扱っているトランジスタの数です。 アプリケーションは複雑になり、関数の数も増え続けるため、共有メモリや一貫性などに対処する必要があります。 キャッシュがない場合は、常に移動する必要があります。 キャッシュ コヒーレンシは、新たな問題を引き起こす問題の解決策でした。」

プロセッサーはパフォーマンスによって左右されてきました。 「分岐予測機能または投機的実行をプロセッサに追加すると、回路内のゲート数が増加するため、動的消費電力と静的消費電力の両方が増加します」と、Catapult HLS チームのプログラム ディレクターである Russell Klein 氏は述べています。 シーメンスEDA。 「しかし、これらの機能により、プロセッサ上で実行される計算のパフォーマンスが向上します。 したがって、電力は確実に増加しますが、電力に計算の実行に必要な時間を乗じたエネルギーは、増減する可能性があります。 それは、電力の増加に対するパフォーマンスの増加の比率によって異なります。 たとえば、電力が 20% 増加しても、パフォーマンスが 10% しか向上しない場合、計算にかかる総エネルギーは増加します。」

電力、エネルギー、熱は常に単純な方法で最適化できるわけではありません。 「直観に反するように思えるかもしれませんが、パフォーマンスを向上させると、一部のワークロードの平均エネルギー消費量を削減できます」と、Lightelligence のエンジニアリング担当副社長である Maurice Steinman 氏は述べています。 「このようなワークロードは、作業をより速く完了できれば、長時間にわたって深い省電力状態に入ることができる、いわゆる「アイドル状態への競争」の恩恵を受けることができます。 予測可能な (ただし使用率が 100% 未満である) コンピューティング需要プロファイル、たとえば利用可能なパフォーマンスの 25% を維持するワークロードを検討してください。 25 つのアプローチでは、動作周波数を 25% に下げることができます (したがって、動作電圧も低下します)。 デバイスは完全にアクティブなままになりますが、電力は低下します。 別のアプローチでは、作業を迅速に完了するように努め、大幅な省電力化を可能にします。つまり、75% オン、25% オフで、オフではエネルギー消費がゼロまたはほぼゼロになるため、75% のクロック レートで一定の動作を行うよりも平均電力が低くなります。 オーバークロック/過電圧をかけてオフ時間をさらに XNUMX% 以上に増やすと有利になる場合もあります。」

ハードウェアとソフトウェアのバランスをとる
システムの複雑さと電力に関連する最大のバランス調整の XNUMX つは、ハードウェアとソフトウェアの境界を確立することです。 「ソフトウェアで実装された機能は、ハードウェアで実装された同等の機能よりも桁違いに遅くなります」とシーメンスのクライン氏は述べています。 「ソフトウェア内のあらゆるものは、定義上、最適ではありません。 非常に効率的なプロセッサー上で高度に最適化されたソフトウェアは、たとえ不適切なハードウェア実装の効率に近づくことはできません。」

クライン氏は、パーティショニングの決定がより容易になってきていると述べています。「何をソフトウェアに残すべきか、何をプロセッサ上で実行すべきか、そしてそのプロセッサのサイドカーであるカスタム ハードウェア アクセラレータを作成する方が合理的なのは何か。そこから、膨大な量が見え始めるのです」システムをどこで最適化しているかに応じて、100 倍、1,000 倍の時間または電力の削減が可能です。」

パフォーマンスの向上が困難になるにつれて、このようなアプローチが不可欠になります。 「結局のところ、大きなプロセッサはエネルギー効率が低いので、パフォーマンスのニーズに対応するために大きなプロセッサを入手することは、電力を気にしない場合にのみ意味があります」とクライン氏は言います。 「正しい答えは、重労働を CPU から切り離し、特注のアクセラレータに移すことです。」

このアプローチの人気は高まっています。 「専用のハードウェア アクセラレータとコプロセッサは、より高度なノードに移行することでパフォーマンスの向上が減少するため、システムのパフォーマンスを向上させることができます」と、IP セールスおよびマーケティング担当バイスプレジデントの Andy Jaros 氏は述べています。 Flex Logix。 「専用アクセラレータは、複雑なアルゴリズムを実行するために膨大な計算サイクルを費やすことによる CPU の処理負荷を軽減します。 これらの専用ハードワイヤード アクセラレータに eFPGA を利用することで、必要な電力効率を実現しながら、ワークロードが変化した場合でもプログラマビリティを維持できます。」

専門化できれば、大きな利益を得るチャンスが得られます。 「今日では、命令を追加することでプロセッサを特殊化することがずっと簡単になりました」とシルマイスター氏は言います。 「これらの命令のカスタマイズのほとんどは、低消費電力を目的として行われます。 プロセッサーに追加された命令により、メモリーの半分に留まることができるケースを見てきました。 それはパワーの観点から見ると非常に大きいです。 しかし、孤立した島でそれを行っている間に、やろうとしていることの全体的な複雑さは増大しました。」

あるいは、その機能をハードウェアに完全に組み込むこともできます。 「もう XNUMX つの解決策は、複雑な計算処理を特注のアクセラレータにオフロードすることです」とクライン氏は言います。 「高位合成 (HLS) はこれを行う簡単な方法です。 これは依然としてハードウェア設計であるため、それを機能させるには依然として賢明なエンジニアが必要です。 しかし、HLS では、ソフトウェア C または C++ アルゴリズムから始めることになります。 アルゴリズムの解釈はなく、時間がかかり、エラーが発生しやすい手動プロセスです。 また、黄金のリファレンスはソフトウェアから元の関数の形ですぐに入手できるため、検証がはるかに簡単になります。」

これらすべての選択が容易になってきています。 「これまで、アーキテクチャ レベルで意思決定を行う際の大きな問題は、プロジェクトの後半でこの決定を再評価しなければならないのに、フローがつながっていなかったことです」とシルマイスター氏は言います。 「構成可能なプロセッサーや NoC などの場合、フローは接続されています。 元に戻すと、ツールを再実行するのに時間がかかりますが、アーキテクチャ上の決定を手動で検証する必要はなくなります。 自動生成により、より多くのデータ ポイントを実行できるようになります。」

まとめ
電力、エネルギー、または熱の問題だけを最適化することは簡単ではありません。 しかし、XNUMX つの問題それぞれに対処する必要性は高まっており、これらは相互に関連し合っていますが、どれをどのように最適化する必要があるかを判断するのは必ずしも簡単ではありません。 システム全体を見て初めて意思決定を行うことができます。 以前は、モデリング、分析、設計フローにより、特にハードウェア/ソフトウェアの壁を越える場合にこれがより困難になりましたが、より多くのツールが登場しつつあります。 それはまだ簡単ではありませんが、業界の認識が高まり、問題に取り組みたいと考える人が増えるにつれて、より良いツールやフローが利用できるようになるでしょう。

スポット画像

最新のインテリジェンス

スポット画像