(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-29
(45)【発行日】2023-07-07
(54)【発明の名称】ピーク消費電力を制御する方法及びシステム
(51)【国際特許分類】
G06F 1/3206 20190101AFI20230630BHJP
G06F 1/324 20190101ALI20230630BHJP
G06N 3/02 20060101ALI20230630BHJP
【FI】
G06F1/3206
G06F1/324
G06N3/02
(21)【出願番号】P 2021570476
(86)(22)【出願日】2019-12-02
(86)【国際出願番号】 CN2019122382
(87)【国際公開番号】W WO2020238121
(87)【国際公開日】2020-12-03
【審査請求日】2022-01-12
(31)【優先権主張番号】201910457063.2
(32)【優先日】2019-05-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】519371507
【氏名又は名称】芯原微電子(上海)股▲ふん▼有限公司
(73)【特許権者】
【識別番号】510102188
【氏名又は名称】ベリシリコン ホールディングス カンパニー, リミテッド
【住所又は居所原語表記】P.O. Box 309, Ugland House, Grand Cayman KY1-1104, Cayman Islands
(73)【特許権者】
【識別番号】521148094
【氏名又は名称】芯原微電子(南京)有限公司
【氏名又は名称原語表記】VERISILICON MICROELECTRONICS(NANJING)CO.,LTD.
【住所又は居所原語表記】22/F,Block B,Chuangzhi Building 17 Xinghuo Road,Jiangbei New District Nanjing,Jiangsu 211500 China
(74)【代理人】
【識別番号】100112737
【氏名又は名称】藤田 考晴
(74)【代理人】
【識別番号】100136168
【氏名又は名称】川上 美紀
(74)【代理人】
【識別番号】100196117
【氏名又は名称】河合 利恵
(72)【発明者】
【氏名】張慧明
【審査官】白石 圭吾
(56)【参考文献】
【文献】特開2015-130035(JP,A)
【文献】特開2018-005569(JP,A)
【文献】特開2005-196430(JP,A)
【文献】特開2004-355599(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26 - 1/3296
G06F 1/04
G06N 3/02
(57)【特許請求の範囲】
【請求項1】
ピーク消費電力を制御する方法であって、
複数の消費電力統計周期が設けられ、各消費電力統計周期はいずれも複数の監視ウィンドウを含み、現在消費電力統計周期内における制御対象モジュールの負荷を監視し、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より大きいとき、前記制御対象モジュールを最も低いピーク消費電力状態に入れ、最も低いピーク消費電力状態が対応する周波数レベルに基づいて、前記制御対象モジュールの動作クロックを制御することと、
現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも前記負荷閾値より小さく、かつ、いずれも負荷下限より大きいとき、現在消費電力負荷が正常消費電力状態にある場合、元の消費電力状態、周波数レベルを変更せずに維持することと、現在ピーク消費電力状態が正常消費電力状態より低い場合、前記制御対象モジュールを1レベル上のピーク消費電力状態に入れ、周波数レベルを1レベル上げ、1レベル上のピーク消費電力状態が対応する周波数レベルに基づいて前記制御対象モジュールの動作クロックを制御し、前記制御対象モジュールの負荷を増加させることと、
現在消費電力統計周期内における全ての監視ウィンドウの負荷がいずれも前記負荷閾値より小さいとは限らない又はいずれも前記負荷閾値より大きいとは限らないとき、元の消費電力状態、周波数レベル、及び前記制御対象モジュールの負荷を変更せずに維持することと、
後続の各消費電力統計周期内における前記制御対象モジュールの負荷を継続して監視し、各消費電力統計周期内において、負荷状況に基づき前記制御対象モジュールの動作クロックの周波数を調整することにより、前記制御対象モジュールのピーク消費電力が前記負荷閾値を超えない状況において、最も高い周波数で動作することと
を少なくとも含むことを特徴とするピーク消費電力を制御する方法。
【請求項2】
前記制御対象モジュールが複数の負荷ユニットを含むとき、前記制御対象モジュールの負荷は各負荷ユニットの負荷重みと実負荷の積の和であることを特徴とする請求項1に記載のピーク消費電力を制御する方法。
【請求項3】
前記ピーク消費電力を制御する方法はn個の消費電力状態を含み、消費電力状態が1レベル上がると、前記制御対象モジュールの負荷は前記負荷閾値の1/n倍増加し、nは正の整数であることを特徴とする請求項1に記載のピーク消費電力を制御する方法。
【請求項4】
各消費電力統計周期はいずれも監視ウィンドウをk個含み、現在消費電力統計周期中から1番目の監視ウィンドウを除去し、k+1番目の監視ウィンドウを加えることによって、次の消費電力統計周期を取得し、kは3以上の正の整数であることを特徴とする請求項1に記載のピーク消費電力を制御する方法。
【請求項5】
前記ピーク消費電力を制御する方法は、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも前記負荷下限より低いとき、現在消費電力状態が対応する周波数レベル内において、前記動作クロックの周波数の周波数帯域を1つ下げることを更に含むことを特徴とする請求項1~4のいずれか1項に記載のピーク消費電力を制御する方法。
【請求項6】
前記制御対象モジュールがアイドル状態に入るとき、前記動作クロックの周波数は最低周波数まで低下することを特徴とする請求項1~4のいずれか1項に記載のピーク消費電力を制御する方法。
【請求項7】
前記ピーク消費電力を制御する方法はAIチップの消費電力制御に用いられることを特徴とする請求項1に記載のピーク消費電力を制御する方法。
【請求項8】
請求項1~7のいずれか1項に記載のピーク消費電力を制御する方法に基づくピーク消費電力を制御するシステムであって、
複数の負荷ユニットを含む前記制御対象モジュールと、
前記制御対象モジュール及び負荷情報統計モジュールに接続され、前記制御対象モジュールに制御信号及び各負荷ユニットの負荷重み情報を提供し、前記制御対象モジュールの動作状態に基づいて前記負荷閾値を取得するグローバル制御モジュールと、
前記グローバル制御モジュール及び前記制御対象モジュールに接続され、前記制御対象モジュール中の各負荷ユニットの負荷情報を監視し、前記グローバル制御モジュール中の各負荷ユニットの前記負荷重み情報に基づいて前記制御対象モジュールの負荷を計算する負荷情報統計モジュールと、
前記負荷情報統計モジュールに接続され、前記制御対象モジュールの負荷に基づいて前記制御対象モジュールの消費電力状態を調整する
制御信号を発生させる周波数変調電圧調整制御モジュールと、
前記周波数変調電圧調整制御モジュールと前記制御対象モジュールとの間に接続され、前記周波数変調電圧調整制御モジュールが出力する
前記制御信号に基づいて相応の周波数のクロック信号を発生させ、前記制御対象モジュールを前記クロック信号に基づいて動作するように制御
し、制御対象モジュールの消費電力状態の調整を実現するクロック制御モジュールと
を少なくとも含むことを特徴とするピーク消費電力を制御するシステム。
【請求項9】
前記ピーク消費電力を制御するシステムはAIチップに適用されることを特徴とする請求項8に記載のピーク消費電力を制御するシステム。
【請求項10】
前記制御対象モジュールはプログラマブル演算ユニット、ニューラルネットワークアクセラレータ又はテンソルプロセッサを含むことを特徴とする請求項8又は9に記載のピーク消費電力を制御するシステム。
【請求項11】
前記周波数変調電圧調整制御モジュールは比較ユニット及び複数の消費電力状態制御ユニットを含み、前記比較ユニットは、各消費電力統計周期内における前記制御対象モジュールの負荷を前記負荷閾値と比較し、各消費電力状態制御ユニットは、前記比較ユニットが出力する比較結果に基づいて前記制御対象モジュールが相応の消費電力状態に入るように前記制御対象モジュールを制御することを特徴とする請求項8に記載のピーク消費電力を制御するシステム。
【請求項12】
前記クロック制御モジュールはデジタル分周ユニットを含むことを特徴とする請求項8に記載のピーク消費電力を制御するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は消費電力制御に関し、特に、ピーク消費電力を制御する方法及びシステムに関する。
【背景技術】
【0002】
人工知能(Artificial Intelligence,AI)及びモノのインターネット(Internet of Things,IoT)技術が勢いよく発展するにつれて、AI演算能力に対する要求が大きくなりつつある。演算能力が拡大するにつれて、消費電力制御はAIチップにおける極めて重要な構成部分になっている。強大な計算能力を提供すると同時に、いかにして消費電力を電源設計の閾値範囲内に制御するかは、チップ設計において解決しなければならない課題の一つになっており、チップの計算能力と動的消費電力のバランスをとることは、チップの競争力を示すことにもなる。
【0003】
従来の消費電力制御方法は周波数変調電圧調整アルゴリズムを採用している。このうち一種の周波数変調電圧調整アルゴリズムは静的に周波数変調及び電圧調整を行う方式であり、中央処理装置によって電圧及び周波数の制御レジスタの値を変更し、周波数の電圧を制御する目的を達成する。AIチップにおいて、中央処理装置の負荷は大きく、主に畳み込みネットワークのプロセス制御及びデータ同期を処理するのに用いられる。電圧及び周波数の処理に大きな遅延があると、制御効果に大きなヒステリシスが生じる。シングルコアプロセッサである場合、メカニズムを中断してなされるタスク間の切り替えには一般的に1~2ミリ秒かかる。時間遅延によって周波数及び電圧制御が遅れ、高周波数から低周波数に調整する場合、調整の遅れは消費電力過多を引き起こす。低周波数から高周波数に調整する場合、調整の遅れは性能低下を引き起こし、応用中にフリーズ現象が生じ、性能と消費電力の平衡点に達することができない。また、中央処理装置を通じて周波数及び電圧を制御する場合、中央処理装置の頻繁なタスク切り替えにおいて、主要な処理タスクの性能が低下し、中央処理装置はより多くの消費電力を消費することにもなる。
【0004】
もう一種の周波数変調電圧調整アルゴリズムは専用のマイクロプロセッサを利用して周波数及び電圧を制御する。この方式は現在、AIチップシステムにおいて一般的な方法の一つである。専用のマイクロプロセッサは消費電力及び電圧制御のプロセスのみに用いられ、制御レジスタに対する応答性能を5~10倍高めることができる。しかし、この方法は追加でマイクロプロセッサのハードウエア資源が必要であり、チップ面積の極めて大きな浪費になる。一般的に採用されているマイクロプロセッサは、28nmプロセスにおいて、面積も0.5~1平方ミリメートルになるため、チップ面積及びコストにおける大きな負担となる。マイクロプロセッサが永遠に動作状態にあることも、消費電力における大きな負担となる。
【0005】
そのため、いかにして面積の負担、コストの負担、消費電力の負担を増加させずに、消費電力制御を実現させるかは、当業者にとって早急に解決を要する課題の一つとなっている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
以上に述べた従来技術の欠点に鑑みて、本発明の目的は、従来技術において消費電力制御が面積の負担、コストの負担、消費電力の負担を同時に考慮できていないという課題を解決するための、ピーク消費電力を制御する方法及びシステムを提供することである。
【課題を解決するための手段】
【0007】
上述の目的及びその他関連の目的を実現するために、本発明は、ピーク消費電力を制御する方法を提供する。前記ピーク消費電力を制御する方法は、
現在消費電力統計周期内における制御対象モジュールの負荷を監視し、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より大きいとき、前記制御対象モジュールを最も低いピーク消費電力状態に入れ、最も低いピーク消費電力状態が対応する周波数レベルに基づいて前記制御対象モジュールの動作クロックを制御することと、
現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも前記負荷閾値より小さく、かつ、いずれも負荷下限より大きいとき、現在消費電力負荷が正常消費電力状態にある場合、元の消費電力状態、周波数レベルを変更せずに維持することと、現在ピーク消費電力状態が正常消費電力状態より低い場合、前記制御対象モジュールを1レベル上のピーク消費電力状態に入れ、周波数レベルを1レベル上げ、1レベル上のピーク消費電力状態が対応する周波数レベルに基づいて前記制御対象モジュールの動作クロックを制御し、前記制御対象モジュールの負荷を増加させることと、
現在消費電力統計周期内における全ての監視ウィンドウの負荷がいずれも前記負荷閾値より小さいとは限らない又はいずれも前記負荷閾値より大きいとは限らないとき、元の消費電力状態、周波数レベル、前記制御対象モジュールの負荷を変更せずに維持することと、
後続の各消費電力統計周期内における前記制御対象モジュールの負荷を継続して監視し、各消費電力統計周期内において、負荷状況に基づき前記制御対象モジュールの動作クロックの周波数を調整することにより、前記制御対象モジュールのピーク消費電力が負荷閾値を超えない状況において、最も高い周波数で動作することとを少なくとも含む。
【0008】
選択的に、前記制御対象モジュールが複数の負荷ユニットを含むとき、前記制御対象モジュールの負荷は各負荷ユニットの負荷重みと実負荷の積の和である。
【0009】
選択的に、前記ピーク消費電力を制御する方法はn個の消費電力状態を含み、消費電力状態が1レベル上がると、前記制御対象モジュールの負荷は前記負荷閾値の1/n倍増加し、nは正の整数である。
【0010】
選択的に、各消費電力統計周期はいずれも監視ウィンドウをk個含み、現在消費電力統計周期中から1番目の監視ウィンドウを除去し、k+1番目の監視ウィンドウを加えることによって、次の消費電力統計周期を取得し、kは3以上の正の整数である。
【0011】
より選択的に、前記ピーク消費電力を制御する方法は、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも前記負荷下限より低いとき、現在消費電力状態が対応する周波数レベル内において、前記動作クロックの周波数の周波数帯域を1つ下げることを更に含む。
【0012】
より選択的に、前記制御対象モジュールがアイドル状態に入るとき、前記動作クロックの周波数は最低周波数まで低下する。
【0013】
選択的に、前記ピーク消費電力を制御する方法はAIチップの消費電力制御に用いられる。
【0014】
上述の目的及びその他関連の目的を実現するために、本発明は、ピーク消費電力を制御するシステムを更に提供する。上述のピーク消費電力を制御する方法に基づき、前記ピーク消費電力を制御するシステムは、
複数の負荷ユニットを含む制御対象モジュールと、
前記制御対象モジュール及び前記負荷情報統計モジュールに接続され、前記制御対象モジュールに制御信号及び各負荷ユニットの負荷重み情報を提供し、前記制御対象モジュールの動作状態に基づいて負荷閾値を取得するグローバル制御モジュールと、
前記グローバル制御モジュール及び前記制御対象モジュールに接続され、前記制御対象モジュール中の各負荷ユニットの負荷情報を監視し、前記グローバル制御モジュール中の各負荷ユニットの負荷重み情報に基づいて前記制御対象モジュールの負荷を計算する負荷情報統計モジュールと、
前記負荷情報統計モジュールに接続され、前記制御対象モジュールの負荷に基づいて前記制御対象モジュールの消費電力状態を調整する周波数変調電圧調整制御モジュールと、
前記周波数変調電圧調整制御モジュールと前記制御対象モジュールとの間に接続され、前記周波数変調電圧調整制御モジュールが出力する信号に基づいて相応の周波数のクロック信号を発生させ、前記制御対象モジュールを前記クロック信号に基づいて動作するように制御するクロック制御モジュールとを少なくとも含む。
【0015】
選択的に、前記ピーク消費電力を制御するシステムはAIチップに適用される。
【0016】
より選択的に、前記制御対象モジュールはプログラマブル演算ユニット、ニューラルネットワークアクセラレータ又はテンソルプロセッサを含む。
【0017】
選択的に、前記周波数変調電圧調整制御モジュールは比較ユニット及び複数の消費電力状態制御ユニットを含む。前記比較ユニットは、各消費電力統計周期内における前記制御対象モジュールの負荷を前記負荷閾値と比較する。各消費電力状態制御ユニットは、前記比較ユニットが出力する比較結果に基づいて、前記制御対象モジュールが相応の消費電力状態に入るように前記制御対象モジュールを制御する。
【0018】
選択的に、前記クロック制御モジュールはデジタル分周ユニットを含む。
【0019】
上述したように、本発明におけるピーク消費電力を制御する方法及びシステムは、以下の有益な効果を有する。
【0020】
本発明におけるピーク消費電力を制御する方法及びシステムは負荷状況をリアルタイムで監視し、動作周波数を動的かつ知的に制御することによって消費電力を低減し、性能と消費電力の平衡点に達する。これにより、ピーク消費電力が負荷閾値を超えない状況において最も高い周波数で動作し、消費電力制御が実現されるという前提において、動作効率を効果的に高めることができる。
【図面の簡単な説明】
【0021】
【
図1】
図1は本発明におけるピーク消費電力を制御する方法のフローの模式図である。
【
図2】
図2は本発明におけるピーク消費電力を制御するシステムの構造模式図である。
【
図3】
図3は本発明におけるクロック制御モジュールの分周原理の模式図である。
【発明を実施するための形態】
【0022】
以下、特定の具体的な実施例を通じて本発明の実施手段を説明するが、当業者であれば本明細書で開示された内容によって本発明の他の利点と効果を容易に理解することができる。また、本発明は、その他の異なる具体的実施手段による実施又は応用も可能である。本明細書における各詳細については、異なる視点及び応用に基づき、本発明の精神を逸脱しないことを前提に各種の補足又は変更を行ってもよい。
【0023】
図1~
図3を参照されたい。説明すべき点として、本実施例で提供する図面は概略的に本発明の基本思想を説明するためのものにすぎない。図面には本発明に関連するアセンブリのみを示しているが、実際に実施する際のアセンブリの数、形状及びサイズに基づき記載しているわけではない。実際に実施する際の各アセンブリの形態、数及び比率は任意に変更してもよく、かつ、アセンブリの配置形態がより複雑になる場合もある。
【0024】
図1に示すように、本発明はピーク消費電力を制御する方法を提供する。ピーク消費電力を制御する方法は、以下を含む。
【0025】
(1)現在消費電力統計周期内における制御対象モジュールの負荷を監視し、現在消費電力統計周期内における負荷を負荷閾値と比較する。
【0026】
具体的には、本実施例において、制御対象モジュールはAIチップの計算ユニットであり、実際に使用する際には、本実施例に限らず、消費電力制御を行う必要がある任意のモジュールはいずれも本発明の制御対象モジュールに適用される。
【0027】
具体的には、異なる応用場面に基づいて分析し、正常動作状態における制御対象モジュールの負荷状況を取得し、負荷閾値を設定する。異なる応用場面において制御対象モジュールの動作状態は異なり、負荷閾値も異なるため、必要に応じて設定してよい。
【0028】
具体的には、制御対象モジュールが単一の負荷ユニットであるとき、制御対象モジュールの負荷は、即ち、制御対象モジュールの実負荷であり、制御対象モジュールが複数(2つ以上)の負荷ユニットであるとき、制御対象モジュールの負荷は各負荷ユニットの負荷重みと実負荷の積の和である。
【0029】
具体的には、各消費電力統計周期はいずれも監視ウィンドウをk個含み、制御対象モジュール11の各監視ウィンドウにおける負荷をいずれも負荷閾値と比較し、消費電力統計周期を全体として比較結果を得る。各消費電力統計周期の監視ウィンドウは重み付け制御を採用する。即ち、現在消費電力統計周期中から1番目の監視ウィンドウを除去し、k+1番目の監視ウィンドウを加えることによって、次の消費電力統計周期の各監視ウィンドウを取得する(時間で順序付けすると、最も古い監視ウィンドウを除去して、最も新しい監視ウィンドウを加える)。本実施例において、kを4とする。これによって監視の正確性が高まる(一般的に、監視ウィンドウが3つあれば、監視の正確性を高めることができる)。実際に使用する際には、各消費電力統計周期内における監視ウィンドウの数は必要に応じて設定してよいが、本実施例に限らず、正確性への要求が高くない又は正確性が保証できることを前提に、各消費電力統計周期内における監視ウィンドウの数を適当に減らすことができる。
【0030】
(2)現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より大きいとき、制御対象モジュールを最も低いピーク消費電力状態に入れ、周波数レベルを最も低いレベルに下げる。また、最も低いピーク消費電力状態が対応する周波数レベルに基づいて制御対象モジュールの動作クロックを制御する。
【0031】
具体的には、消費電力状態をn個含み、本実施例において、nを4とする。周波数が低いものから高いものに順に並べると、第1ピーク消費電力状態、第2ピーク消費電力状態、第3ピーク消費電力状態、正常消費電力状態となる。本実施例において、第1ピーク消費電力状態、第2ピーク消費電力状態及び第3ピーク消費電力状態が対応する周波数レベルは、正常消費電力状態が対応する周波数の各分周信号である。
【0032】
具体的には、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より大きい場合、制御対象モジュールの現在の消費電力状態にかかわらず、いずれも第1ピーク消費電力状態に調整され、第1ピーク消費電力状態が対応する周波数レベルに基づいて前記制御対象モジュールの動作クロックを制御する。
【0033】
(3)現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より小さく、かつ、いずれも負荷下限より大きいとき、現在消費電力負荷が正常消費電力状態にある場合、元の消費電力状態、周波数レベルを変更せずに維持する。現在消費電力負荷状態が正常消費電力状態より低い場合、制御対象モジュールを1レベル上のピーク消費電力状態に入れ、周波数レベルを1レベル上げ、1レベル上のピーク消費電力状態が対応する周波数レベルに基づいて前記制御対象モジュールの動作クロックを制御し、制御対象モジュールの負荷を増加させる。
【0034】
具体的には、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より小さく、かつ、いずれも負荷下限より大きい場合、現在消費電力負荷が正常消費電力状態にあるとき、正常消費電力状態を変更せずに維持する。
【0035】
具体的には、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より小さく、かつ、いずれも負荷下限より大きい場合、現在消費電力負荷状態が第1ピーク消費電力状態、第2ピーク消費電力状態又は第3ピーク消費電力状態にあるとき、制御対象モジュールを1レベル上の消費電力状態に調整し、相応の周波数レベルを1レベル上げ、制御対象モジュールにおける負荷を相応に増加させる。即ち、現在が第1ピーク消費電力状態であれば第2ピーク消費電力状態に上がり、現在が第2ピーク消費電力状態であれば第3ピーク消費電力状態に上がり、現在が第3ピーク消費電力状態であれば正常消費電力状態に上がる。
【0036】
本発明の一つの実現手段として、消費電力状態が1レベル上がると、制御対象モジュールの負荷は負荷閾値の1/n倍増加する。本実施例において、負荷閾値の1/4増加する。
【0037】
(4)現在消費電力統計周期内における全ての監視ウィンドウの負荷がいずれも負荷閾値より小さいとは限らない又はいずれも負荷閾値より大きいとは限らないとき、元の消費電力状態、周波数レベル、制御対象モジュールの負荷を変更せずに維持する。
【0038】
(5)後続の各消費電力統計周期内における前記制御対象モジュールの負荷を継続して監視し、各消費電力統計周期内において、負荷状況に基づき制御対象モジュールの動作クロックの周波数を調整することにより、制御対象モジュールのピーク消費電力が負荷閾値を超えない状況において、最も高い周波数で動作する。
【0039】
(6)本発明の一つの実現手段として、ピーク消費電力を制御する方法は、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷下限より低いとき、現在消費電力状態が対応する周波数レベル内において、動作クロックの周波数の周波数帯域を1つ下げることを更に含む。
【0040】
具体的には、制御対象モジュールの負荷が負荷下限より低いとき、制御対象モジュールの負荷は比較的低く、フル周波数状態で動作する必要はない。現在消費電力統計周期内において4つの監視ウィンドウの負荷がいずれも負荷下限より低い場合、前記制御対象モジュールの周波数は、1つ下の周波数帯域に下がる。即ち、現在の周波数が正常動作状態における元の周波数の12/16であると仮定すれば、正常動作状態における元の周波数の11/16に下がる。本実施例は、周波数が最低16分の1低下することを例とするが、実際に使用する際には、必要に応じて低下させる周波数の最低値を設定してよい。次の消費電力統計周期の負荷が負荷下限より低くない場合、現在周期で制御対象モジュールの動作周波数における周波数レベルを1つ引き上げることで、制御対象モジュールが十分な性能を有することを保証する。
【0041】
(7)本発明の一つの実現手段として、制御対象モジュールがアイドル状態に入る場合、クロック周波数は自動的に最低周波数まで低下してよい。
【0042】
より具体的には、以下に具体的な実施例を示す。
【0043】
S1:起動段階では、制御対象モジュールは正常消費電力状態で動作を開始し、1つの消費電力統計周期内の負荷に基づいて消費電力状態を更新する。
【0044】
S2:1つの消費電力統計周期内において、制御対象モジュールの負荷が負荷閾値より大きい場合、制御対象モジュールは第1ピーク消費電力状態に入る。即ち、正常消費電力状態から第1ピーク消費電力状態に入り、周波数が3レベル下がる。その後、次の消費電力統計周期内の負荷に基づいて消費電力状態を継続して更新する。
【0045】
S3:次の消費電力統計周期内において、制御対象モジュールの負荷が負荷閾値より大きい場合、制御対象モジュールは第1ピーク消費電力状態を継続して維持する。制御対象モジュールの負荷が負荷閾値より小さく、かつ、負荷下限より大きい場合、制御対象モジュールは第2ピーク消費電力状態に入り、現在負荷は負荷閾値の1/4増加し、現在周波数が1レベルアップする。その後、次の消費電力統計周期内の負荷に基づいて消費電力状態を継続して更新する。
【0046】
S4:次の消費電力統計周期内において、制御対象モジュールの負荷が負荷閾値より大きい場合、制御対象モジュールは第2ピーク消費電力状態を継続して維持する。制御対象モジュールの負荷が負荷閾値より小さく、かつ負荷下限より大きい場合、制御対象モジュールは第3ピーク消費電力状態に入り、現在負荷は負荷閾値の1/4増加し、現在周波数が1レベルアップする。その後、次の消費電力統計周期内の負荷に基づいて消費電力状態を継続して更新する。
【0047】
S5:次の消費電力統計周期内において、制御対象モジュールの負荷が負荷閾値より大きい場合、制御対象モジュールは第3ピーク消費電力状態を継続して維持する。制御対象モジュールの負荷が負荷閾値より小さく、かつ、負荷下限より大きい場合、制御対象モジュールは正常消費電力状態に入り、現在負荷は負荷閾値の1/4増加し、現在周波数が1レベルアップする。負荷情報統計モジュールは、1つの消費電力統計周期内における負荷に基づいて、消費電力状態を継続して更新する。
【0048】
S6:ステップS2からステップS5までを継続して繰り返すことで、ピーク消費電力が負荷閾値を超えないと保証される状況において、制御対象モジュールは最も高い周波数で動作する。
【0049】
本発明はAIチップの電圧及び周波数を動的制御することによって消費電力を低減し、同時に、十分な計算性能を提供する。
【0050】
図2に示すように、本発明はピーク消費電力を制御するシステム1を提供する。ピーク消費電力を制御するシステム1はピーク消費電力を制御する方法を実現するのに用いられ、ピーク消費電力を制御するシステム1は、
制御対象モジュール11、グローバル制御モジュール12、負荷情報統計モジュール13、周波数変調電圧調整制御モジュール14及びクロック制御モジュール15を含む。
【0051】
図2に示すように、制御対象モジュール11は複数の負荷ユニットを含む。
【0052】
具体的には、本実施例において、制御対象モジュール11はAIチップの計算ユニットであり、各負荷ユニットはプログラマブル演算ユニット、ニューラルネットワークアクセラレータ及びテンソルプロセッサを含むがこれらに限らない。
【0053】
図2に示すように、グローバル制御モジュール12は制御対象モジュール11及び負荷情報統計モジュール13に接続され、制御対象モジュール11に制御情報及び各負荷ユニットの負荷重み情報を提供し、制御対象モジュール11の動作状態に基づいて負荷閾値を取得する。
【0054】
具体的には、本実施例において、グローバル制御モジュール12は、中央処理装置(図面には示されていない)及びドライブ(図面には示されていない)が提供する制御情報(各制御情報は制御対象モジュール11の動作状態を確定するのに用いられる)に基づいて、負荷閾値、各負荷ユニットの負荷重み情報及びモジュール制御情報を取得し、各負荷ユニットの負荷重み情報及びモジュール制御情報を制御対象モジュール11に送信する。同時に、グローバル制御モジュール12は、ドライブがAIチップ内部の状況に基づいて制御戦略を調整できるように、制御対象モジュール11の負荷統計情報をドライブにフィードバックする。
【0055】
図2に示すように、負荷情報統計モジュール13はグローバル制御モジュール12及び制御対象モジュール11に接続され、制御対象モジュール11中の各負荷ユニットの負荷情報を監視し、グローバル制御モジュール12中の各負荷ユニットの負荷重み情報に基づいて、制御対象モジュール11の負荷を計算する。
【0056】
具体的には、負荷情報統計モジュール13は制御対象モジュール11における各主要パイプライン(各負荷ユニット)の負荷情報を監視し、グローバル制御モジュール12が提供する各負荷ユニットの負荷重み情報に基づいて、各負荷ユニットが寄与する負荷を統計してまとめる。各負荷ユニットの全体性能に影響する重要度及び負荷ユニット自体の消費電力に基づき、1レベル上の負荷ユニットの負荷重みに従って全ての負荷ユニットの負荷情報を一つにまとめ、制御対象モジュール11全体の負荷を取得する。本実施例において、AIチップの計算ユニットにおける主要パイプラインは、プログラマブル演算ユニット、ニューラルネットワークアクセラレータ及びテンソルプロセッサを含む。ニューラルネットワークアクセラレータはニューラルネットワーク中の畳み込み演算を処理するために用いられ、テンソルプロセッサはニューラルネットワーク中の他の数学演算を処理するのに用いられ、プログラマブル演算ユニットはプロセス制御及び補助計算を行う。性能面を考慮すると、ニューラルネットワークアクセラレータが最も重要である。80%の演算はニューラルネットワークアクセラレータによって遂行され、あとの15%の演算はテンソルプロセッサによって遂行され、あとの5%の制御及び補助計算はプログラマブル演算ユニットによって遂行される。そのため、負荷情報統計モジュール13のこれら3つの主要モジュールに対する負荷係数は、80%、15%、5%である。ニューラルネットワークアクセラレータ自体の消費電力をload1、テンソルプロセッサ自体の消費電力をload2、プログラマブル演算ユニット自体の消費電力をload3と仮定すれば、制御対象モジュール11の負荷は80%*load1+15%*load2+5%*load3である。
【0057】
図2に示すように、周波数変調電圧調整制御モジュール14は負荷情報統計モジュール13に接続され、制御対象モジュール11の負荷に基づいて制御対象モジュール11の消費電力状態を調整する。
【0058】
具体的には、本発明の一つの実現手段として、周波数変調電圧調整制御モジュール14は比較ユニット141及び複数の消費電力状態制御ユニットを含む。本実施例において、消費電力状態制御ユニットを3つ含み、それぞれ第1ピーク消費電力状態制御ユニット142、第2ピーク消費電力状態制御ユニット143、第3ピーク消費電力状態制御ユニット144である。比較ユニット141は、各消費電力統計周期内における制御対象モジュール11の負荷を負荷閾値と比較する。本実施例において、消費電力統計周期内には監視ウィンドウが4つ設けられる。各消費電力状態制御ユニットは、比較ユニット141が出力する比較結果に基づいて、制御対象モジュール11が相応の消費電力状態に入るように制御対象モジュール11を制御する。各消費電力状態のジャンプ過程及びジャンプ条件は、ピーク消費電力を制御する方法を参考にされたい。ここでは詳細に述べない。周波数変調電圧調整制御モジュール14は、現在の最も低い負荷状況について分析を行い、周波数低下動作を実現してもよいが、ここでは詳細に述べない。
【0059】
図2に示すように、クロック制御モジュール15は周波数変調電圧調整制御モジュール14と制御対象モジュール11との間に接続され、周波数変調電圧調整制御モジュール14が出力する信号に基づいて相応の周波数のクロック信号を発生させ、制御対象モジュール11をクロック信号に基づいて動作するように制御する。
【0060】
具体的には、
図3に示すように、本実施例において、クロック制御モジュール15はデジタル分周ユニットを含む。正常動作状態における元の周波数を16分周にすることに用いられることによって、相応の周波数レベルが対応する周波数及び低下させる周波数を取得する。本実施例において、第1ピーク消費電力状態制御ユニット142、第2ピーク消費電力状態制御ユニット143及び第3ピーク消費電力状態制御ユニット144が対応する周波数レベルは順次増加し、それぞれ正常動作状態における元の周波数の1/4、1/2及び3/4である。実際に使用する際には、必要に応じて各周波数レベルを設定してユニットが対応する周波数を制御してよい。実際に使用する際には、本実施例に限らず、クロック制御モジュール15は同位相分周を採用することができる。
【0061】
本発明におけるピーク消費電力を制御する方法及びシステムは、AIチップにおける動的消費電力制御の正確性を高め、チップ性能に影響しない状況において、チップの周波数を動的に制御し、ピーク消費電力を低減する効果を実現することができる。同時に、従来の消費電力制御方式におけるCPU占有率の課題及び面積の負担が大きくなるという課題も解決する。
【0062】
本発明におけるピーク消費電力を制御する方法及びシステムは、AIチップにおける各モジュールの負荷状況をリアルタイムで監視することによって、周波数を自動的に調整、制御する。また、外部ソフトウエアの主導的な制御と内部ハードウエアの自動的な制御とを結びつけた方式によって、周波数の調整、制御及び電圧の調整、制御を行うこともできる。
【0063】
以上に述べたことをまとめれば、本発明はピーク消費電力を制御する方法及びシステムを提供する。ピーク消費電力を制御する方法及びシステムは、現在消費電力統計周期内における制御対象モジュールの負荷を監視し、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より大きいとき、制御対象モジュールを最も低いピーク消費電力状態に入れ、最も低いピーク消費電力状態が対応する周波数レベルに基づいて制御対象モジュールの動作クロックを制御することと、現在消費電力統計周期内における各監視ウィンドウの負荷がいずれも負荷閾値より小さく、かつ、いずれも負荷下限より大きいとき、現在消費電力負荷が正常消費電力状態にある場合、元の消費電力状態、周波数レベルを変更せずに維持することと、現在ピーク消費電力状態が正常消費電力状態より低い場合、制御対象モジュールを1レベル上のピーク消費電力状態に入れ、周波数レベルを1レベル上げ、1レベル上のピーク消費電力状態が対応する周波数レベルに基づいて制御対象モジュールの動作クロックを制御し、制御対象モジュールの負荷を増加させることと、現在消費電力統計周期内における全ての監視ウィンドウの負荷がいずれも負荷閾値より小さいとは限らない又はいずれも負荷閾値より大きいとは限らないとき、元の消費電力状態、周波数レベル、及び制御対象モジュールの負荷を変更せずに維持することと、後続の各消費電力統計周期内における制御対象モジュールの負荷を継続して監視し、各消費電力統計周期内において、負荷状況に基づき制御対象モジュールの動作クロックの周波数を調整することにより、制御対象モジュールのピーク消費電力が負荷閾値を超えない状況において、最も高い周波数で動作することとを含む。本発明におけるピーク消費電力を制御する方法及びシステムは負荷状況をリアルタイムで監視し、動作周波数を動的かつ知的に制御することによって消費電力を低減し、性能と消費電力の平衡点に達する。これにより、ピーク消費電力が負荷閾値を超えない状況において最も高い周波数で動作し、消費電力制御が実現されるという前提おいて、動作効率を効果的に高めることができる。したがって、本発明は従来技術における種々の欠点を効果的に克服し、高度な産業利用価値を有する。
【0064】
上記の実施例は本発明の原理及びその効果を例示的に説明するにすぎず、本発明を限定するためのものではない。本技術を熟知する者であれば、本発明の精神及び範疇を逸脱しないことを前提に、上述の実施例を補足又は変更することが可能である。したがって、当業者が本発明で開示する精神と技術思想を逸脱することなく完了するあらゆる等価の補足又は変更は、依然として本発明の請求の範囲に含まれる。
【符号の説明】
【0065】
1 ピーク消費電力を制御するシステム
11 制御対象モジュール
12 グローバル制御モジュール
13 負荷情報統計モジュール
14 周波数変調電圧調整制御モジュール
141 比較ユニット
142 第1ピーク消費電力状態制御ユニット
143 第2ピーク消費電力状態制御ユニット
144 第3ピーク消費電力状態制御ユニット
15 クロック制御モジュール