IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許7470261適応型の動的クロックおよび電圧スケーリング
<>
  • 特許-適応型の動的クロックおよび電圧スケーリング 図1
  • 特許-適応型の動的クロックおよび電圧スケーリング 図2
  • 特許-適応型の動的クロックおよび電圧スケーリング 図3
  • 特許-適応型の動的クロックおよび電圧スケーリング 図4
  • 特許-適応型の動的クロックおよび電圧スケーリング 図5
  • 特許-適応型の動的クロックおよび電圧スケーリング 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-09
(45)【発行日】2024-04-17
(54)【発明の名称】適応型の動的クロックおよび電圧スケーリング
(51)【国際特許分類】
   G06F 1/3228 20190101AFI20240410BHJP
   G06F 1/324 20190101ALI20240410BHJP
   G06F 1/3296 20190101ALI20240410BHJP
   G06F 1/3203 20190101ALI20240410BHJP
   G06F 1/08 20060101ALI20240410BHJP
   G06F 1/04 20060101ALI20240410BHJP
   G06F 15/78 20060101ALI20240410BHJP
【FI】
G06F1/3228
G06F1/324
G06F1/3296
G06F1/3203
G06F1/08 520
G06F1/04 570
G06F15/78 517
【請求項の数】 27
(21)【出願番号】P 2023558210
(86)(22)【出願日】2022-02-16
(65)【公表番号】
(43)【公表日】2024-03-27
(86)【国際出願番号】 US2022016592
(87)【国際公開番号】W WO2022211920
(87)【国際公開日】2022-10-06
【審査請求日】2023-09-21
(31)【優先権主張番号】17/220,603
(32)【優先日】2021-04-01
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ベリッリ、コリン・ビートン
(72)【発明者】
【氏名】セバーソン、マシュー
【審査官】豊田 真弓
(56)【参考文献】
【文献】米国特許出願公開第2003/0210247(US,A1)
【文献】国際公開第2011/024330(WO,A1)
【文献】特表2017-526996(JP,A)
【文献】特開2015-148890(JP,A)
【文献】特開2010-039802(JP,A)
【文献】特開2013-097443(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/3228
G06F 1/324
G06F 1/3296
G06F 1/3203
G06F 1/08
G06F 1/04
G06F 15/78
(57)【特許請求の範囲】
【請求項1】
適応電力制御のための方法であって、
1つまたは複数の処理コアを備える第1の処理サブシステムの第1の遊休頻度を決定することと、ここにおいて、前記第1の遊休頻度を決定することが、
前記第1の処理サブシステムの複数の処理コアの各々の遊休ステータスを決定することと、
前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定することとを備える、
前記第1の遊休頻度を第1のしきい値と比較することと、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることとを備える方法。
【請求項2】
前記第1の遊休頻度を決定することが、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第1の処理サブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントすることと、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すこととをさらに備え、
前記第1の遊休頻度を決定することが、前記サンプリング回数に対する前記遊休カウントの比率を決定することを備える、請求項に記載の方法。
【請求項3】
前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいて動的クロックおよび電圧スケーリング(DCVS)を適用することをさらに備える、請求項1に記載の方法。
【請求項4】
前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較することをさらに備え、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げることが、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げることを備える、請求項1に記載の方法。
【請求項5】
DCVSを適用することが、
前記第1の処理サブシステムに関連付けられる電力測定値を決定することと、
前記電力測定値が電力しきい値未満である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることとを備える、請求項に記載の方法。
【請求項6】
前記第1の処理サブシステムとパイプライン化構成で結合された第2の処理サブシステムの第2の遊休頻度を決定することと、
前記第2の遊休頻度を前記第1のしきい値と比較することと、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることとをさらに備える、請求項1に記載の方法。
【請求項7】
適応電力制御のためのシステムであって、
1つまたは複数の処理コアを備える第1の処理サブシステムに関連付けられる第1の遊休モニタシステムと、
前記第1の処理サブシステムに関連付けられる第1の制限管理コントローラと、前記第1の制限管理コントローラが、
前記第1の遊休モニタシステムによって提供される情報を使用して前記第1の処理サブシステムの第1の遊休頻度を決定することと、
前記第1の遊休頻度を第1のしきい値と比較することとを行うように構成されている、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された第1の動的クロックおよび電圧スケーリング(DCVS)管理コントローラとを備え、ここにおいて、
前記第1の遊休モニタシステムが複数の遊休モニタを備え、各遊休モニタが前記第1の処理サブシステムの複数の処理コアのうちの1つに関連付けられ、
前記第1の制限管理コントローラが、前記複数の遊休モニタによって提供される前記情報を使用して前記第1の処理サブシステムの前記複数の処理コアの各々の遊休ステータスを決定するように構成され、
前記第1の制限管理コントローラが、前記第1の処理サブシステムの前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定するように構成された、
システム。
【請求項8】
前記第1の制限管理コントローラが、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第1の処理サブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントすることと、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
前記サンプリング回数に対する前記遊休カウントの比率を決定することによって前記第1の遊休頻度を決定することとを行うようにさらに構成された、請求項に記載のシステム。
【請求項9】
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成された、請求項に記載のシステム。
【請求項10】
前記第1の制限管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較するようにさらに構成され、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるように構成された、請求項に記載のシステム。
【請求項11】
前記第1のDCVS管理コントローラが、
前記第1の処理サブシステムに関連付けられる電力測定値を決定することと、
前記電力測定値が電力しきい値未満である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることとを行うように構成されることによってDCVSを適用するように構成された、請求項に記載のシステム。
【請求項12】
第2の処理サブシステムに関連付けられる第2の遊休モニタシステムと、前記第2の処理サブシステムが、前記第1の処理サブシステムとパイプライン化構成で結合されている、
前記第2の処理サブシステムに関連付けられる第2の制限管理コントローラと、前記第2の制限管理コントローラが、
前記第2の遊休モニタシステムによって提供される情報を使用して前記第2の処理サブシステムの第2の遊休頻度を決定することと、
前記第2の遊休頻度を第2のしきい値と比較することとを行うように構成されている、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された第2のDCVS管理コントローラとをさらに備える、請求項に記載のシステム。
【請求項13】
前記第1の処理サブシステムがマルチダイパッケージの第1の集積回路ダイを備え、前記第2の処理サブシステムが前記マルチダイパッケージの第2の集積回路ダイを備える、請求項12に記載のシステム。
【請求項14】
前記第1の処理サブシステムが複数のニューラル処理コアを備え、
前記第2の処理サブシステムが複数のニューラル処理コアを備える、請求項13に記載のシステム。
【請求項15】
適応電力制御のためのシステムであって、
1つまたは複数の処理コアを備える第1の処理サブシステムの第1の遊休頻度を決定するための手段と、ここにおいて、前記第1の遊休頻度を決定するための前記手段が、
前記第1の処理サブシステムの複数の処理コアの各々の遊休ステータスを決定するための手段と、
前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定するための手段とを備える、
前記第1の遊休頻度を第1のしきい値と比較するための手段と、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段とを備えるシステム。
【請求項16】
前記第1の遊休頻度を決定するための前記手段が、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定するための手段と、
前記第1の処理サブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントするための手段と、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すための手段とをさらに備え、
前記第1の遊休頻度を決定するための前記手段が、前記サンプリング回数に対する前記遊休カウントの比率を決定するための手段を備える、請求項15に記載のシステム。
【請求項17】
前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいて動的クロックおよび電圧スケーリング(DCVS)を適用するための手段をさらに備える、請求項15に記載のシステム。
【請求項18】
前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較するための手段をさらに備え、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるための前記手段が、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるための手段を備える、請求項15に記載のシステム。
【請求項19】
DCVSを適用するための前記手段が、
前記第1の処理サブシステムに関連付けられる電力測定値を決定するための手段と、
前記電力測定値が電力しきい値未満である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げるための手段とを備える、請求項17に記載のシステム。
【請求項20】
前記第1の処理サブシステムとパイプライン化構成で結合された第2の処理サブシステムの第2の遊休頻度を決定するための手段と、
前記第2の遊休頻度を前記第1のしきい値と比較するための手段と、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段とをさらに備える、請求項15に記載のシステム。
【請求項21】
マルチダイパッケージにおける適応電力制御のためのシステムであって、
第1のダイ中の第1の遊休モニタシステムと、前記第1の遊休モニタシステムが前記第1のダイ中の第1の処理サブシステムに関連付けられ、前記第1の処理サブシステムが1つまたは複数の処理コアを備える、
前記第1のダイ中の第1の制限管理コントローラと、前記第1の制限管理コントローラが前記第1の処理サブシステムに関連付けられ、前記第1の制限管理コントローラが、
前記第1の遊休モニタシステムによって提供される情報を使用して前記第1の処理サブシステムの第1の遊休頻度を決定することと、
前記第1の遊休頻度を第1のしきい値と比較することとを行うように構成されている、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、前記第1のダイ中の第1の動的クロックおよび電圧スケーリング(DCVS)管理コントローラと、
第2のダイ中の第2の遊休モニタシステムと、前記第2のダイが前記第1のダイとパイプライン化構成で結合され、前記第2の遊休モニタシステムが前記第2のダイ中の第2の処理サブシステムに関連付けられ、前記第2の処理サブシステムが1つまたは複数の処理コアを備える、
前記第2のダイ中の第2の制限管理コントローラと、前記第2の制限管理コントローラが前記第2の処理サブシステムに関連付けられ、前記第2の制限管理コントローラが、
前記第2の遊休モニタシステムによって提供される情報を使用して前記第2の処理サブシステムの第2の遊休頻度を決定することと、
前記第2の遊休頻度を前記第1のしきい値と比較することとを行うように構成されている、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、前記第2のダイ中の第2のDCVS管理コントローラとを備えるシステム。
【請求項22】
前記第1の遊休モニタシステムが複数の第1の遊休モニタを備え、各第1の遊休モニタが前記第1の処理サブシステムの複数の処理コアのうちの1つに関連付けられ、
前記第1の制限管理コントローラが、前記複数の第1の遊休モニタによって提供される前記情報を使用して前記第1の処理サブシステムの前記複数の処理コアの各々の遊休ステータスを決定するように構成され、
前記第1の制限管理コントローラが、前記第1の処理サブシステムの前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定するように構成され、
前記第2の遊休モニタシステムが複数の第2の遊休モニタを備え、各第2の遊休モニタが前記第2の処理サブシステムの複数の処理コアのうちの1つに関連付けられ、
前記第2の制限管理コントローラが、前記複数の第2の遊休モニタによって提供される前記情報を使用して前記第2の処理サブシステムの前記複数の処理コアの各々の遊休ステータスを決定するように構成され、
前記第2の制限管理コントローラが、前記第2の処理サブシステムの前記処理コアの各々の前記遊休ステータスに基づいて前記第2の遊休頻度を決定するように構成された、請求項21に記載のシステム。
【請求項23】
前記第1の制限管理コントローラが、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第1の処理サブシステムのすべての処理コアが同時に遊休である場合に、第1の遊休カウントをインクリメントすることと、
前記第1の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記第1の遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
前記サンプリング回数に対する前記第1の遊休カウントの比率を決定することによって前記第1の遊休頻度を決定することとを行うようにさらに構成され、
前記第2の制限管理コントローラが、
前記第2の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第2の処理サブシステムのすべての処理コアが同時に遊休である場合に、第2の遊休カウントをインクリメントすることと、
前記第2の処理サブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記第2の遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
前記サンプリング回数に対する前記第2の遊休カウントの比率を決定することによって前記第2の遊休頻度を決定することとを行うようにさらに構成された、請求項22に記載のシステム。
【請求項24】
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成され、
前記第2のDCVS管理コントローラが、前記第2の遊休頻度が前記第1のしきい値未満である場合に電力に基づいて前記DCVSを適用するように構成された、請求項21に記載のシステム。
【請求項25】
前記第1の制限管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較するようにさらに構成され、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるように構成され、
前記第2の制限管理コントローラが、前記第2の遊休頻度が前記第1のしきい値以上である場合に前記第2の遊休頻度を前記第2のしきい値と比較するようにさらに構成され、
前記第2のDCVS管理コントローラが、前記第2の遊休頻度が前記第1のしきい値以上であり前記第2の遊休頻度が前記第2のしきい値以上である場合に、前記第2の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるように構成された、請求項21に記載のシステム。
【請求項26】
前記第1のDCVS管理コントローラが、前記第1の処理サブシステムに関連付けられる第1の電力測定値を決定することと、前記第1の電力測定値が電力しきい値未満である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることと、を行うように構成されることによってDCVSを適用するように構成され、
前記第2のDCVS管理コントローラが、前記第2の処理サブシステムに関連付けられる第2の電力測定値を決定することと、前記第2の電力測定値が前記電力しきい値未満である場合に、前記第2の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることと、を行うように構成されることによってDCVSを適用するように構成された、請求項24に記載のシステム。
【請求項27】
前記第1の処理サブシステムが複数のニューラル処理コアを備え、
前記第2の処理サブシステムが複数のニューラル処理コアを備える、請求項21に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
[0001]モバイルまたはポータブルコンピューティングデバイス(PCD)は、通例、モバイルフォン、ラップトップコンピュータ、パームトップコンピュータ、およびタブレットコンピュータ、ポータブルデジタルアシスタント(PDA)、ポータブルゲームコンソール、ならびに他のポータブル電子デバイスを含む。PCDは通例、共に働いてユーザに機能を送達するように設計された非常に多くのコンポーネントまたはサブシステムを含む、集積回路またはシステムオンチップ(SoC)を内蔵する。例えば、SoCは、中央処理装置(CPU)、グラフィカル処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、ニューラル処理ユニット(NPU)、ワイヤレス送受信機ユニット(モデムとも呼ばれる)など、任意の数の処理エンジンを内蔵することがある。
【0002】
[0002]PCDはバッテリによって電力供給されるので、電力管理は重要な考慮事項である。「電力管理」とは、PCDにおいて電力消費と性能とのバランスを取るために、ならびにサーマルエネルギー(すなわち熱)の発生を管理するために使用される技法のことを指す。動的クロックおよび電圧スケーリング(DCVS)は、電力消費と性能レベルとの間の所望のバランスまたはトレードオフをもたらすために、プロセッサが動作させられる際の周波数および電圧が動的に、すなわち動作条件の変化に応答してリアルタイムで、調整される技法である。電力消費を抑えることが性能を高めることよりも優先されるときは、クロック周波数および電圧が下げられてよく、性能を高めることが電力消費を抑えることよりも優先されるときは、クロック周波数および電圧が上げられてよい。
【0003】
[0003]システムが、パイプライン化されたサブシステムを備えることがあり、この場合、あるサブシステムの出力が、別のサブシステムへの入力としての働きをする。パイプライン化されたサブシステムの潜在的な問題はボトルネックと通例呼ばれるが、これは、あるサブシステムが別のサブシステムよりもかなり速くデータを処理する場合に起こり得る。パイプライン化されたサブシステムにDCVSを適用することは、様々な難題を提示することがある。
【発明の概要】
【0004】
[0004]適応電力制御のためのシステム、方法、コンピュータ可読媒体、および他の例が開示される。適応電力制御の態様は、パイプライン化されたサブシステムにおける適応DCVSを含み得る。
【0005】
[0005]適応電力制御のための例示的な方法は、1つまたは複数の処理コアを有し得る処理サブシステムの遊休頻度を決定することを含んでよい。例示的な方法はまた、遊休頻度をしきい値と比較することを含んでよい。例示的な方法はさらに、遊休頻度がしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることを含んでよい。
【0006】
[0006]適応電力制御のための例示的なシステムは、遊休モニタシステムと、制限管理コントローラと、DCVS管理コントローラとを含んでよく、これらはすべて、1つまたは複数の処理コアを有し得る処理サブシステムに関連付けられる。制限管理コントローラは、遊休モニタシステムによって提供される情報を使用して処理サブシステムの遊休頻度を決定するように構成されてよい。制限管理コントローラはまた、遊休頻度をしきい値と比較するように構成されてよい。第1のDCVS管理コントローラは、遊休頻度がしきい値以上である場合に、処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成されてよい。
【0007】
[0007]適応電力制御のための別の例示的なシステムは、1つまたは複数の処理コアを有し得る処理サブシステムの遊休頻度を決定するための手段を含んでよい。例示的なシステムはまた、遊休頻度をしきい値と比較するための手段を含んでよい。例示的なシステムはさらに、遊休頻度がしきい値以上である場合に、処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段を含んでよい。
【0008】
[0008]マルチダイパッケージにおける適応電力制御のための例示的なシステムは、第1の遊休モニタシステムと、第1の制限管理コントローラと、第1のDCVS管理コントローラとを含んでよく、これらはすべて、第1の処理サブシステムに関連付けられる第1のダイに含まれる。例示的なシステムはまた、第2の遊休モニタシステムと、第2の制限管理コントローラと、第2のDCVS管理コントローラとを含んでよく、これらはすべて、第2の処理システムに関連付けられる第2のダイに含まれる。第1と第2の処理システムは、パイプライン化構成で結合されてよい。第1の処理システムおよび第2の処理システムは各々、1つまたは複数の処理コアを含んでよい。第1の制限管理コントローラは、第1の遊休モニタシステムによって提供される情報を使用して第1の処理サブシステムの第1の遊休頻度を決定するように構成されてよい。第1の制限管理コントローラはまた、第1の遊休頻度をしきい値と比較するように構成されてよい。第1のDCVS管理コントローラは、第1の遊休頻度がしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成されてよい。同様に、第2の制限管理コントローラは、第2の遊休モニタシステムによって提供される情報を使用して第2の処理サブシステムの第2の遊休頻度を決定するように構成されてよい。第2の制限管理コントローラはまた、第2の遊休頻度をしきい値と比較するように構成されてよい。第2のDCVS管理コントローラは、第2の遊休頻度がしきい値以上である場合に、第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成されてよい。
【0009】
[0009]図では、別段の指示がない限り、様々な図を通して、同様の参照番号は同様の部分を指す。「102A」や「102B」などの文字記号指定付き参照番号の場合、文字記号指定は、同じ図中にある2つの同様の部分または要素を区別するものであることがある。すべての図中の同じ参照番号を有するすべての部分を包含するように参照番号が意図されるときは、参照番号の文字記号指定は省略されることがある。
【図面の簡単な説明】
【0010】
図1】[0010]例示的な実施形態による、適応DCVSのために構成されたパイプライン化されたサブシステムを有するシステムを示すブロック図。
図2】[0011]例示的な実施形態による、適応DCVSのために構成された処理サブシステムを示すブロック図。
図3】[0012]例示的な実施形態による、適応DCVSのための方法を示す流れ図。
図4】[0013]DCVSのための方法を示す流れ図。
図5】[0014]例示的な実施形態による、適応DCVSのための別の方法を示す流れ図。
図6】[0015]例示的な実施形態による、PCDのブロック図。
【発明を実施するための形態】
【0011】
[0016]「例示的」という語は、本明細書において、「例、事例、または例証としての働きをする」ことを意味するのに使用される。「例証的」という語は、本明細書において、「例示的」と同じ意味で使用されることがある。「例示的」として本明細書で記述されるどんな態様も、必ずしも他の態様よりも好ましいかまたは有利であると解釈されるとは限らない。
【0012】
[0017]図1に示されるように、適応電力制御のために構成されたシステム100は、第1の処理サブシステム102と第2の処理サブシステム104とを含んでよい。第1と第2の処理サブシステム102と104とは、パイプライン化構成で結合されてよい。すなわち、データパス106が、第1の処理サブシステム102の出力を第2の処理サブシステム104の入力に結合する。第1の処理サブシステム102は、入力データパス108を介して入力データを受け取り、この入力データを処理してよい。第1の処理サブシステム102によるこの処理の結果として得られたデータは、データパス106を介して第2の処理サブシステム104に提供され、第2の処理サブシステム104はこのデータを処理する。第2の処理サブシステム104によるこの処理の結果として得られたデータは、データパス110を介して提供され、システム100の出力を形成する。
【0013】
[0018]第1および第2の処理サブシステム102および104は、例えばニューラルネットワークプロセッサなど、任意のタイプのものであってよい。第1の処理サブシステム102は、ニューラルネットワークの第1のステージまたはパーティションであってよく、第2の処理サブシステム104は、ニューラルネットワークの第2のステージまたはパーティションであってよい。システム100は、例えば、マルチダイパッケージなど、機械学習アクセラレータデバイスであってよい。第1および第2の処理サブシステム102および104は、そのようなマルチダイパッケージの、それぞれ第1および第2のダイ(すなわち半導体チップ)であってよい。この例示的な実施形態では、したがってデータパス106は、ダイ間接続またはリンクである。
【0014】
[0019]システム電力コントローラ112が、第1の処理サブシステム102に電力入力(例えば、電圧レール)114とクロック信号入力116とを提供してよい。同様に、システム電力コントローラ112は、第2の処理サブシステム104に電力入力118とクロック信号入力120とを提供してよい。この例示的な実施形態ではシステム電力コントローラ112がシステム100に含まれているが、他の実施形態(図示せず)では、そのようなシステム電力コントローラがそのようなシステムの外部にあってもよい。例えば、システム100は、システム電力コントローラチップに結合されたシステムオンチップ(SoC)であってもよい。また、他の実施形態では、様々な電力入力およびクロック信号入力は、同じ「システム」電力コントローラによってではなく別々のコントローラによって提供されてもよい。
【0015】
[0020]システム電力コントローラ112と第1の処理サブシステム102とは、双方向の第1の通信パス122を介して相互と通信するように構成されてよい。同様に、システム電力コントローラ112と第2の処理サブシステム104とは、双方向の第2の通信パス124を介して相互と通信するように構成されてよい。後述されるように、システム電力コントローラ112と、第1および第2の処理サブシステム102および104との間の通信は、システム電力コントローラ112が第1および第2の処理サブシステム102および104にそれぞれの電力入力114および118を介して提供する電圧を調整することと、システム電力コントローラ112が第1および第2の処理サブシステム102および104にそれぞれのクロック信号入力116および120を介して提供するクロック信号の周波数を調整することとに関係し得る。例えば、第1の処理システム102は、電力入力114およびクロック信号入力116をそれぞれ介して第1の処理サブシステム102に供給されるクロック周波数および電圧を調整するよう求める要求を、第1の通信パス122を介してシステム電力コントローラ112に送ってよい。同様に、第2の処理システム104は、電力入力118およびクロック信号入力120をそれぞれ介して第2の処理サブシステム104に供給されるクロック周波数および電圧を調整するよう求める要求を、第2の通信パス124を介してシステム電力コントローラ112に送ってよい。
【0016】
[0021]システム100は、処理速度(すなわち、入力から出力への単位時間当たりの情報)や電力消費などの様々な特性の点で第1と第2の処理サブシステム102と104とのバランスが取れているときには、第1と第2の処理サブシステム102と104とのバランスがそのような点で取れていないときよりも良い結果を生み出し得る。第1および第2の処理サブシステム102および104の処理構成のせいによるアンバランスに加えて、半導体プロセス変動(例えば、最小電圧、漏れ電流等)などの内在的なアンバランスもあり得る。第1と第2の処理サブシステム102と104のうちの一方が、他方よりもかなり遅いレートでその処理を実施することになる場合や、他方よりもかなり多くの電力を消費することになる場合などでは、システム100全体の性能が悪影響を受ける可能性がある。本明細書で記述される例示的な実施形態では、第1および第2の処理サブシステム102および104は、この潜在的な問題を軽減し得る特徴を含む。
【0017】
[0022]従来のパイプライン化されたサブシステムにおける前述のアンバランスは、動的クロックおよび電圧スケーリング(DCVS)を適用する際に難題を提示する。例えば、各サブシステムがそれ自体の電力予算(すなわち電力しきい値)を有することになる形で、2つの従来型のパイプライン化されたサブシステムの各々に従来のDCVSが独立して適用される場合、その作業負荷を最も速く処理できるサブシステムは、そのサブシステムの電力消費がそのサブシステムの電力予算に達するまで、クロック周波数および電圧の増大を要求する傾向があるであろう。より速い方のサブシステムのこの挙動、すなわち、電力しきい値に達するまでそれ自体をますます高い性能に至らせることは、全体としてのシステムの性能に悪影響を及ぼすことがある。というのは、その作業負荷をより遅く処理する方のサブシステムは、事実上、ボトルネックになるからである。後述される例示的な実施形態は、第1と第2のサブシステム102と104のどちらであれ、他方よりもかなり速いサブシステムの性能レベルを抑制し、第1と第2のサブシステム102と104との間で分散される総電力予算に基づいてDCVSを適用し得る、という特徴を含む。
【0018】
[0023]図2に、前述の第1と第2のサブシステム102と104(図1)のいずれかまたは両方の例であり得るサブシステム200が示される。例示的なサブシステム200は、処理コア202A、202B等~202Nなど、2つ以上の処理コア202を含んでよい。サブシステム200はまた、制限管理コントローラ204とDCVS管理コントローラ206とを含んでよい。制限管理コントローラ204およびDCVS管理コントローラ206は各々、例えば、有限状態機械、ソフトウェアまたはファームウェア等によって構成可能なプロセッサベースの回路など、任意のタイプの回路を備えてよい。サブシステム200はさらに、1つまたは複数のメモリ208を含んでよい。サブシステム200は、ダイの形であってよい。
【0019】
[0024]サブシステム200は、1つまたは複数のダイ間通信リンク210を含んでよい。図2には示されていないが、1つまたは複数のダイ間通信リンク210は、別のサブシステム中の同様のダイ間通信リンクに結合されてよく、それにより、図1に関して上述されたのと同様にして、サブシステム200と別のサブシステムとの間の1つまたは複数のデータパスを提供してよい。データ通信相互接続(例えば、1つまたは複数のバスまたは類似のデータパス)212は、処理コア202、制限管理コントローラ204、DCVS管理コントローラ206、メモリ208、および通信リンク210が相互と通信するのを可能にするように構成されてよい。
【0020】
[0025]各処理コア202は、遊休モニタ214を含むか、または他の方法で遊休モニタ214に関連付けられてよい。各遊休モニタ214は、それに関連付けられる処理コア202が遊休であるか遊休でないかを決定するように構成されてよい。処理コア202が遊休であるかどうかは、例えば、入力データがバッチで処理コア202に提供される実施形態、すなわち遊休モニタ214に知られている(バッチ)サイズを有する離散的なデータ量で提供される実施形態で、処理コア202が「バッチ」の処理を完了したかどうかを決定することによって決定されてよい。代替として、処理コア202は、その出力をパイプライン中の次の処理サブシステムに書き込むためにバッファ利用可能性を待機している場合に、遊休であり得る。処理コア202は、処理コア202が入力データ(例えば、次のバッチ)を待機している状態にあること、および/または処理コア202がデータ(すなわち、前のバッチ)の処理を完了したばかりであること、および/または処理コア202がバッファ利用可能性を待機していること、を示す標識(図示せず)を提供してよい。代替として、処理コア202が遊休であるかどうかは、例えば、ある時間区間にわたって処理コア202によって実行される処理サイクルの数を数え、この数をしきい値と比較することによって決定されてもよい。時間区間にわたってしきい値よりも少ない数の処理サイクルを実行する処理コア202は、遊休であると見なされてよい。
【0021】
[0026]各遊休モニタ214は、それに関連付けられる処理コア202が遊休であるか遊休でないかを示す標識を、制限管理コントローラ204に送るように構成されてよい。これらの標識により、制限管理コントローラ204は、各処理コア202の遊休ステータスを決定することができる。例示的な実施形態に関してさらに詳細に後述されるように、制限管理コントローラ204は、各処理コア202の遊休ステータスを使用して、ある時間区間にわたって処理コア202が集合的に遊休である程度を表す遊休頻度を決定してよい。言い換えれば、遊休頻度は、サブシステム200がどれくらい遊休であるか(または逆に言えば、どれくらいアクティブであるか)の測定基準を表す。
【0022】
[0027]図2に示される例示的な実施形態では、各遊休モニタ214が処理コア202のうちのちょうど1つに関連付けられているが、他の実施形態(図示せず)では、他の任意のタイプの遊休モニタシステムが、1つまたは複数の処理コアを備える処理サブシステムに、他の任意の方式で関連付けられてよい。例えば、他の実施形態では、1つまたは複数の処理コアの遊休頻度を決定するために制限管理コントローラ204によって使用される情報を、集中化された遊休モニタシステムが決定することができる。また、例示的な実施形態では、制限管理コントローラ204は、様々な遊休モニタ214から受け取られる標識を使用して各処理コア202の遊休ステータスを決定するが、他の実施形態では、そのような制限管理コントローラが、遊休モニタシステムまたは遊休モニタから受け取られる異なるタイプの情報を使用してもよい。
【0023】
[0028]DCVS管理コントローラ206は、処理コア202にDCVSを適用するように構成されてよい。DCVSを適用することは、サブシステム200に(したがって処理コア202に)供給されるクロック周波数、供給電圧、またはクロック周波数と供給電圧の両方の組合せを調整することを指す。例示的な実施形態では、DCVS管理コントローラ206は、DCVS調整要求をシステム電力コントローラ112(図1)に送ることによってDCVSを適用するように構成されてよい。要求に応答して、システム電力コントローラ112は、引き込まれている電力の量など、1つまたは複数の他の測定値に応じて、要求元DCVS管理コントローラ206を有するサブシステム200に供給されるクロック周波数および電圧を調整してよい。例示的な実施形態では、システム電力コントローラ112は、サブシステム102および104(図1)の各々から受け取られる要求に、他方から受け取られる要求とは独立して応答してよいことに留意されたい。
【0024】
[0029]例示的な実施形態では、DCVSを適用することは、DCVS管理コントローラ206とシステム電力コントローラ112(図1)との間の協働(例えば、通信の交換)を備え得るが、他の実施形態(図示せず)では、DCVS管理コントローラがDCVSを1つまたは複数の処理コアに直接に適用してもよい。例えば、DCVS管理コントローラは、処理コア202を、システムクロック信号によって動作させられる状態から、サブシステム中のクロック周波数分周器を使用してシステムクロック信号から導出される周波数分周クロック信号によって供給される状態に切り替えることによって、DCVSを直接に適用してよい。
【0025】
[0030]図3に、適応DCVSを使用する適応電力制御のための方法300が、流れ図の形で示される。方法300は、例えば、ソフトウェアまたはファームウェアによって構成された前述の制限管理コントローラ204およびDCVS管理コントローラ206(図2)によって制御されてよい。ブロック302によって示されるように、制限管理コントローラ204は、遊休カウントおよびサンプリングカウントをクリア(すなわち、0に初期化)してよい。ブロック304によって示されるように、制限管理コントローラ204は、1つまたは複数の処理コア202(図2)の各々の遊休ステータスの標識を、それらに関連付けられる遊休モニタ214から受け取ってよい。遊休モニタ214からのこの情報に基づいて、次いで制限管理コントローラ204は、ブロック306によって示されるように、すべての処理コア202が遊休であるかどうかを決定してよい。制限管理コントローラ204は、ブロック306によって示される決定が行われるたびにサンプリングカウントをインクリメントしてよい。すべての処理コア202が同時に遊休である場合、制限管理コントローラ204は、上で言及された遊休カウントをインクリメントしてよい。
【0026】
[0031]ブロック308によって示されるように、制限管理コントローラ204は、サンプリングカウントが限度またはしきい値に達したかどうかを決定してよい。サンプリングカウントがこのサンプリングカウントしきい値に達していない場合は、方法300は前述のブロック304に戻り、サンプリングカウントがサンプリングカウントしきい値に達するまで、ブロック304~306に関して上述されたアクションを反復方式またはルーピング方式で繰り返してよい。
【0027】
[0032]サンプリングカウントがサンプリングカウントしきい値に達したと決定されたときは(ブロック308)、制限管理コントローラ204は、ブロック310によって示されるように、遊休率を決定してよい。この例示的な実施形態では、遊休率は、遊休カウントをサンプリングカウントで割ることによって決定されてよい。方法300で使用される遊休率は、遊休頻度、またはサブシステム遊休性の測定基準の、例である。他の実施形態では、遊休頻度は他の方式で決定されてもよい。
【0028】
[0033]制限管理コントローラ204は、遊休率を1つまたは複数のしきい値と比較して、DCVSを適用するかそれともそのようなDCVSとは独立してクロック周波数および電圧を下げる(すなわち、サブシステムを抑制する)かを決定してよい。例えば、ブロック312によって示されるように、制限管理コントローラ204は、遊休率が第1のしきい値未満であるかどうかを決定してよい。遊休率が第1のしきい値未満でないと決定された場合は、ブロック314によって示されるように、制限管理コントローラ204は、遊休率が第2のしきい値未満であるかどうかを決定してよい。遊休率が第1のしきい値未満または第2のしきい値未満のいずれでもないと決定された場合は、制限管理コントローラ204は、ブロック316によって示されるように、クロック周波数および電圧を下げるよう求める要求をDCVS管理コントローラ206に送ってよい。
【0029】
[0034]第1と第2の両方のしきい値を超える遊休率は、サブシステム200が非常に頻繁に遊休であることを示す。サブシステム200は、(図1に関して上述されたような)パイプライン化されたシステム中の別のサブシステムがその処理を完了する前にサブシステム200がその処理を完了していることが頻繁にあるので、非常に頻繁に遊休であることがある。パイプライン化されたシステム中の別のサブシステムがその処理を完了する前にサブシステム200がその処理を完了していることが頻繁にある中では、サブシステム200はまた、別のサブシステムよりもかなり多くの電力を消費していることがある。サブシステム200が非常に頻繁に遊休であると決定されたときに、サブシステム200に供給されるクロック周波数および電圧を下げれば、サブシステム200が抑制(すなわち減速)され得、したがって全体としてのシステムの性能が改善され得る。
【0030】
[0035]しかし、遊休率が第1のしきい値未満であると決定された場合は(ブロック312)、制限管理コントローラ204は、ブロック318によって示されるように、DCVSを適用してよい。DCVSは、ブロック318に従って適用されてよい。例えば、制限管理コントローラ204は、DCVSを適用するよう求める要求をDCVS管理コントローラ206に送ってよい。DCVS管理コントローラ206は、制限管理コントローラ204からの要求に応答して、DCVSを適用するよう求める要求をシステム電力コントローラ112(図1)に送ってよい。
【0031】
[0036]図4に、DCVSを適用するための方法400が、流れ図の形で示される。方法400は、前述のブロック318(図3)に従ってDCVSを適用する例であり得る。方法400は、例えば、ソフトウェアまたはファームウェアによって構成された前述のシステム電力コントローラ112によって制御されてよい。ブロック402によって示されるように、また再び図1を簡単に参照すると、システム電力コントローラ112は、総パッケージ電力、すなわち、すべての処理サブシステム102や104などの動作の結果としてシステム100全体によって引き込まれる電力の量を測定してよい。総パッケージ電力は、様々な方式で測定され得る。例えば、システム電力コントローラ112は、サブシステム102および104に供給する電圧レール(すなわち、電力入力114および118)上で引き込まれる総電流を測定してよい。総電流は、総パッケージ電力に関係している。
【0032】
[0037]ブロック404によって示されるように、システム電力コントローラ112は、測定された総パッケージ電力を、パッケージ電力限度またはしきい値と比較してよい。総パッケージ電力がパッケージ電力しきい値未満であると決定された場合は(ブロック404)、システム電力コントローラ112は、ブロック406によって示されるように、DCVSを要求したサブシステムにシステム電力コントローラ112から供給するクロック周波数および電圧を上げてよい。しかし、総パッケージ電力がパッケージ電力しきい値未満でないと決定された場合は(ブロック404)、システム電力コントローラ112は、ブロック408によって示されるように、DCVSを要求したサブシステムにシステム電力コントローラ112から供給するクロック周波数および電圧を下げてよい。
【0033】
[0038]方法400は、クロック周波数および電圧をどのように調整するかの決定が測定電力と電力しきい値との比較に基づく場合の、DCVS方法またはアルゴリズムのわかりやすい例として意図されたものにすぎない。本明細書でDCVSまたはDCVSの適用に言及される場合、これは、クロック周波数および/または電圧が、測定電力と1つまたは複数の電力しきい値との比較など、測定電力を伴う比較に基づいて調整されることを意味することを理解されたい。対照的に、ブロック316(図3)に関して上述された、クロック周波数および電圧を下げる要求は、測定電力を伴うどんな比較にも関係なく(すなわち、それとは独立して)行われることに留意されたい。測定電力を伴う比較は一般に、DCVSアルゴリズムの特性である。そうではなく、ブロック316に関して上述された、クロック周波数および電圧を下げる要求は、処理コア202の集合的な遊休性の程度のみに基づく。
【0034】
[0039]DCVS(例えば、方法400に従うDCVS)が、方法300(図3)のブロック312と314のうちの一方または両方における決定に条件付けられることなく、パイプライン化されたサブシステムの要求により呼び出されたとすれば、DCVSは、より速いサブシステムによって消費される電力がパッケージ電力しきい値に達するまで、より速いサブシステムに適用されるクロック周波数および電圧を上げる可能性が潜在的にあることに留意されよう。しかし、DCVSの適用を、遊休率が第1のしきい値未満であること、すなわちサブシステムがごくまれにしか遊休でないことを条件とすれば、この潜在的な問題を回避する助けになり得る。
【0035】
[0040]再び図3を参照し、遊休率が第1のしきい値未満ではないが第2のしきい値未満であると決定された場合は(それぞれブロック312および314)、制限管理コントローラ204は、これらの決定に応答してどんなアクションも控えてよい。すなわち、この例示的な実施形態では、制限管理コントローラ204は、DCVS(すなわち、クロック周波数および電圧が測定電力としきい値との比較に基づいて調整されること)も要求せず、クロック周波数および/または電圧に対する他のどんな調整も要求しない。遊休率が第1のしきい値と第2のしきい値との間にあることは、サブシステム200が、それがパイプライン接続されている他の1つまたは複数のサブシステムに対して相対的に、非常に頻繁に遊休であることもなく、ごくまれにしか遊休でないこともなく、むしろ、他のサブシステムと実質的に同じくらいの頻度で(すなわち、等しい頻度で、わずかにより高い頻度で、またはわずかにより低い頻度で)遊休であることを示す。この例示的な実施形態では、遊休率が第1のしきい値と第2のしきい値との間にあるときは、サブシステム200に供給されているクロック周波数および電圧が調整される必要はない。というのは、パイプライン化されたサブシステムはどれも、全体としてのシステムの性能を妨げてはいないからである。
【0036】
[0041]図5に、適応電力制御のための方法500が、流れ図の形で示される。ブロック502によって示されるように、1つまたは複数の処理コアを備える処理サブシステムの遊休頻度が決定されてよい。ブロック504によって示されるように、遊休頻度は、1つまたは複数のしきい値と比較されてよい。ブロック506によって示されるように、処理サブシステムの遊休頻度がしきい値以上であると決定された場合は、サブシステムに供給されるクロック周波数および/または電圧が下げられてよい。2つのしきい値を使用する前述の方法300(図3)は、方法500の例であり得る。
【0037】
[0042]いくつかの実施形態では、方法500は、2つ以上のパイプライン化されたサブシステムの各々に適用されてよい。また、いくつかの実施形態では、1つまたは複数のしきい値との1回または複数回の比較が、DCVSが適用されるかどうかを決定してよい。各サブシステム中で、処理コアが遊休である相対的な時間量が決定されてよい。遊休率がしきい値未満である場合は、DCVSを使用して、すなわち電力限度に基づいて、クロック周波数および電圧が調整されてよい。しかし、遊休率がしきい値を超える場合は、電力限度にかかわらずクロック周波数および電圧が下げられてよい。
【0038】
[0043]図6に、適応電力制御のシステム、方法、コンピュータ可読媒体、および他の例の例示的な実施形態がその中で提供され得るPCD600の例が示される。明確にするために、図6では、いくつかのデータバス、クロック信号、電源電圧などは示されていない。
【0039】
[0044]PCD600は、SoC602を含んでよい。SoC602は、CPU604、GPU606、DSP607、アナログ信号プロセッサ608、または他のプロセッサを含んでよい。CPU604は、第1のCPUコア604A、第2のCPUコア604B等~第NのCPUコア604Nなど、1つまたは複数のCPUコアを含んでよい。PCD600はまた、機械学習(ML)アクセラレータ605を含んでよく、これはマルチダイパッケージであってよい。MLアクセラレータ605は、図1に関して上述されたシステム100の例であり得る。
【0040】
[0045]ディスプレイコントローラ610およびタッチスクリーンコントローラ612が、CPU604に結合されてよい。SoC602の外部にあるタッチスクリーンディスプレイ614が、ディスプレイコントローラ610およびタッチスクリーンコントローラ612に結合されてよい。PCD600はさらに、CPU604に結合されたビデオデコーダ616を含んでよい。ビデオ増幅器618が、ビデオデコーダ616およびタッチスクリーンディスプレイ614に結合されてよい。ビデオポート620が、ビデオ増幅器618に結合されてよい。ユニバーサルシリアルバス(USB)コントローラ622もまたCPU604に結合されてよく、USBポート624がUSBコントローラ622に結合されてよい。加入者識別モジュール(SIM)カード626もまた、CPU604に結合されてよい。
【0041】
[0046]1つまたは複数のメモリが、CPU604に結合されてよい。1つまたは複数のメモリは、揮発性と不揮発性の両方のメモリを含み得る。揮発性メモリの例としては、スタティックランダムアクセスメモリ(SRAM)628、ならびにダイナミックRAM(DRAM)630および631が含まれる。そのようなメモリは、DRAM630のようにSoC602の外部にあってもよく、またはDRAM631のようにSoC602の内部にあってもよい。CPU604に結合されたDRAMコントローラ632が、DRAM630および631に対するデータの書込みおよび読取りを制御してよい。他の実施形態では、そのようなDRAMコントローラは、CPU604などのプロセッサ内に含まれてもよい。
【0042】
[0047]ステレオオーディオCODEC634が、アナログ信号プロセッサ608に結合されてよい。さらに、オーディオ増幅器636が、ステレオオーディオCODEC634に結合されてよい。第1および第2のステレオスピーカ638および640が、それぞれ、オーディオ増幅器636に結合されてよい。加えて、マイクロフォン増幅器642がステレオオーディオCODEC634に結合されてよく、マイクロフォン644がマイクロフォン増幅器642に結合されてよい。周波数変調(FM)無線チューナ646が、ステレオオーディオCODEC634に結合されてよい。FMアンテナ648が、FM無線チューナ646に結合されてよい。さらに、ステレオヘッドフォン650が、ステレオオーディオCODEC634に結合されてよい。CPU604に結合され得る他のデバイスとしては、1つまたは複数のデジタル(例えば、CCDまたはCMOS)カメラ652が含まれる。
【0043】
[0048]モデムまたはRF送受信機654が、アナログ信号プロセッサ608およびCPU604に結合されてよい。RFスイッチ656が、RF送受信機654およびRFアンテナ658に結合されてよい。加えて、キーパッド660、マイクロフォン付きモノヘッドセット662、およびバイブレータデバイス664が、アナログ信号プロセッサ608に結合されてよい。
【0044】
[0049]SoC602は、1つまたは複数の内部またはオンチップサーマルセンサ670Aを有してよく、1つまたは複数の外部またはオフチップサーマルセンサ670Bに結合されてよい。アナログデジタルコンバータ(ADC)コントローラ672が、サーマルセンサ670Aおよび670Bによって生み出された電圧降下をデジタル信号に変換してよい。電源674およびPMIC676が、SoC602に電力を供給してよい。
【0045】
[0050]PCD600は、適応電力制御のシステム、方法、コンピュータ可読媒体の例示的な実施形態、および他の実施形態がその中で提供され得る、デバイスまたはシステムの一例にすぎない。他の例としては、データセンタ中で使用されるものなど、他のタイプのコンピューティングデバイスまたはコンピューティングシステムも含まれ得る。
【0046】
[0051]ファームウェアまたはソフトウェアが、DRAM630もしくは631、SRAM628など、前述のメモリのいずれかに記憶されてよく、または、プロセッサハードウェアによって直接にアクセス可能なローカルメモリに記憶されてよく、プロセッサハードウェア上でソフトウェアもしくはファームウェアが実行される。そのようなファームウェアまたはソフトウェアを実行することで、前述の方法のうちのいずれかの態様が制御されてよく、または、前述のシステムのうちのいずれかの態様が構成されてよい。プロセッサハードウェアによって実行されるようにファームウェアまたはソフトウェアをコンピュータ可読形式で記憶した、そのようなメモリまたは他の非一過性の記憶媒体はどれも、特許語彙において理解される用語としての「コンピュータ可読媒体」の例であり得る。
【0047】
[0052]本発明が関係する技術分野の当業者には、代替実施形態が明らかになるであろう。したがって、選択された態様について詳細に図示および記述されたが、これらの態様に様々な代用および改変がなされてもよいことは理解されるであろう。
【0048】
[0053]次の番号付けされた条項において、実装例が記述される。
【0049】
[0054]1.適応電力制御のための方法であって、
[0055]1つまたは複数の処理コアを備える第1の処理サブシステムの第1の遊休頻度を決定することと、
[0056]第1の遊休頻度を第1のしきい値と比較することと、
[0057]第1の遊休頻度が第1のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることと
を備える方法。
【0050】
[0058]2.第1の遊休頻度を決定することが、
[0059]第1のサブシステムの複数の処理コアの各々の遊休ステータスを決定することと、
[0060]処理コアの各々の遊休ステータスに基づいて第1の遊休頻度を決定することと
を備える、条項1の方法。
【0051】
[0061]3.第1の遊休頻度を決定することが、
[0062]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
[0063]第1のサブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントすることと、
[0064]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと
をさらに備え、
[0065]第1の遊休頻度を決定することが、サンプリング回数に対する遊休カウントの比率を決定することを備える、
条項2の方法。
【0052】
[0066]4.第1の遊休頻度が第1のしきい値未満である場合に、電力に基づいて動的クロックおよび電圧スケーリング(DCVS)を適用することをさらに備える、条項1の方法。
【0053】
[0067]5.
[0068]第1の遊休頻度が第1のしきい値以上である場合に第1の遊休頻度を第2のしきい値と比較することをさらに備え、第2のしきい値が、第1のしきい値よりも高い遊休頻度を表し、
[0069]第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることが、第1の遊休頻度が第1のしきい値以上であり第1の遊休頻度が第2のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることを備える、
条項1の方法。
【0054】
[0070]6.DCVSを適用することが、
[0071]第1の処理サブシステムに関連付けられる電力測定値を決定することと、
[0072]電力測定値が電力しきい値未満である場合に、第1の処理システムに供給されるクロック周波数と電圧とのうちの少なくとも一方を上げることと
を備える、
条項4の方法。
【0055】
[0073]7.
[0074]第1の処理サブシステムとパイプライン化構成で結合された第2の処理サブシステムの第2の遊休頻度を決定することと、
[0075]第2の遊休頻度を第1のしきい値と比較することと、
[0076]第2の遊休頻度が第1のしきい値以上である場合に、第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることと
をさらに備える、条項1の方法。
【0056】
[0077]8.適応電力制御のためのシステムであって、
[0078]1つまたは複数の処理コアを備える第1の処理サブシステムに関連付けられる第1の遊休モニタシステムと;
[0079]第1の処理サブシステムに関連付けられる第1の制限管理コントローラと、第1の制限管理コントローラが、
[0080]第1の遊休モニタシステムによって提供される情報を使用して第1の処理サブシステムの第1の遊休頻度を決定することと、
[0081]第1の遊休頻度を第1のしきい値と比較することと
を行うように構成されている;
[0082]第1の遊休頻度が第1のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された第1の動的クロックおよび電圧スケーリング(DCVS)管理コントローラと
を備えるシステム。
【0057】
[0083]9.
[0084]第1の遊休モニタシステムが複数の遊休モニタを備え、各遊休モニタが第1のサブシステムの複数の処理コアのうちの1つに関連付けられ、
[0085]第1の制限管理コントローラが、複数の遊休モニタによって提供される情報を使用して第1のサブシステムの複数の処理コアの各々の遊休ステータスを決定するように構成され、
[0086]第1の制限管理コントローラが、第1のサブシステムの処理コアの各々の遊休ステータスに基づいて第1の遊休頻度を決定するように構成された、
条項8のシステム。
【0058】
[0087]10.第1の制限管理コントローラが、
[0088]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
[0089]第1のサブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントすることと、
[0090]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
[0091]サンプリング回数に対する遊休カウントの比率を決定することによって第1の遊休頻度を決定することと
を行うようにさらに構成された、条項9のシステム。
【0059】
[0092]11.第1のDCVS管理コントローラが、第1の遊休頻度が第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成された、条項8のシステム。
【0060】
[0093]12.
[0094]第1の制限管理コントローラが、遊休頻度が第1のしきい値以上である場合に第1の遊休頻度を第2のしきい値と比較するようにさらに構成され、第2のしきい値が、第1のしきい値よりも高い遊休頻度を表し、
[0095]第1のDCVS管理コントローラが、第1の遊休頻度が第1のしきい値以上であり第1の遊休頻度が第2のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、
条項8のシステム。
【0061】
[0096]13.第1のDCVS管理コントローラが、
[0097]第1の処理サブシステムに関連付けられる電力測定値を決定することと、
[0098]電力測定値が電力しきい値未満である場合に、第1の処理システムに供給されるクロック周波数と電圧とのうちの少なくとも一方を上げることと
を行うように構成されることによってDCVSを適用するように構成された、
条項11のシステム。
【0062】
[0099]14.
[00100]第2の処理サブシステムに関連付けられる第2の遊休モニタシステムと、第2の処理システムが、第1の処理システムとパイプライン化構成で結合されている;
[00101]第2の処理サブシステムに関連付けられる第2の制限管理コントローラと、第2の制限管理コントローラが、
[00102]第2の遊休モニタシステムによって提供される情報を使用して第2の処理サブシステムの第2の遊休頻度を決定することと、
[00103]第2の遊休頻度を第1のしきい値と比較することと
を行うように構成されている;
[00104]第2の遊休頻度が第1のしきい値以上である場合に、第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された第2のDCVS管理コントローラと
をさらに備える、条項8のシステム。
【0063】
[00105]15.第1の処理システムがマルチダイパッケージの第1の集積回路ダイを備え、第2の処理システムがマルチダイパッケージの第2の集積回路ダイを備える、条項14のシステム。
【0064】
[00106]16.
[00107]第1の処理サブシステムが複数のニューラル処理コアを備え、
[00108]第2の処理サブシステムが複数のニューラル処理コアを備える、
条項15のシステム。
【0065】
[00109]17.適応電力制御のためのシステムであって、
[00110]1つまたは複数の処理コアを備える第1の処理サブシステムの第1の遊休頻度を決定するための手段と、
[00111]第1の遊休頻度を第1のしきい値と比較するための手段と、
[00112]第1の遊休頻度が第1のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段と
を備えるシステム。
【0066】
[00113]18.第1の遊休頻度を決定するための手段が、
[00114]第1のサブシステムの複数の処理コアの各々の遊休ステータスを決定するための手段と、
[00115]処理コアの各々の遊休ステータスに基づいて第1の遊休頻度を決定するための手段と
を備える、条項17のシステム。
【0067】
[00116]19.第1の遊休頻度を決定するための手段が、
[00117]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定するための手段と、
[00118]第1のサブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントするための手段と、
[00119]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すための手段と
をさらに備え、
[00120]遊休頻度を決定するための手段が、サンプリング回数に対する遊休カウントの比率を決定するための手段を備える、
条項18のシステム。
【0068】
[00121]20.第1の遊休頻度が第1のしきい値未満である場合に電力に基づいて動的クロックおよび電圧スケーリング(DCVS)を適用するための手段をさらに備える、条項17のシステム。
【0069】
[00122]21.
[00123]第1の遊休頻度が第1のしきい値以上である場合に第1の遊休頻度を第2のしきい値と比較するための手段をさらに備え、第2のしきい値が、第1のしきい値よりも高い遊休頻度を表し、
[00124]第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段が、第1の遊休頻度が第1のしきい値以上であり第1の遊休頻度が第2のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段を備える、
条項17のシステム。
【0070】
[00125]22.DCVSを適用するための手段が、
[00126]第1の処理サブシステムに関連付けられる電力測定値を決定するための手段と、
[00127]電力測定値が電力しきい値未満である場合に、第1の処理システムに供給されるクロック周波数と電圧とのうちの少なくとも一方を上げるための手段と
を備える、条項20のシステム。
【0071】
[00128]23.
[00129]第1の処理サブシステムとパイプライン化構成で結合された第2の処理サブシステムの第2の遊休頻度を決定するための手段と、
[00130]第2の遊休頻度を第1のしきい値と比較するための手段と、
[00131]第2の遊休頻度が第1のしきい値以上である場合に、第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段と
をさらに備える、条項17のシステム。
【0072】
[00132]24.マルチダイパッケージにおける適応電力制御のためのシステムであって、
[00133]第1のダイ中の第1の遊休モニタシステムと、第1の遊休モニタシステムが第1のダイ中の第1の処理サブシステムに関連付けられ、第1の処理システムが1つまたは複数の処理コアを備える;
[00134]第1のダイ中の第1の制限管理コントローラと、第1の制限管理コントローラが第1の処理サブシステムに関連付けられ、第1の制限管理コントローラが、
[00135]第1の遊休モニタシステムによって提供される情報を使用して第1の処理サブシステムの第1の遊休頻度を決定することと、
[00136]第1の遊休頻度を第1のしきい値と比較することと
を行うように構成されている;
[00137]第1の遊休頻度が第1のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、第1のダイ中の第1の動的クロックおよび電圧スケーリング(DCVS)管理コントローラと;
[00138]第2のダイ中の第2の遊休モニタシステムと、第2のダイが第1のダイとパイプライン化構成で結合され、第2の遊休モニタシステムが第2のダイ中の第2の処理サブシステムに関連付けられ、第2の処理システムが1つまたは複数の処理コアを備える;
[00139]第2のダイ中の第2の制限管理コントローラと、第2の制限管理コントローラが第2の処理サブシステムに関連付けられ、第2の制限管理コントローラが、
[00140]第2の遊休モニタシステムによって提供される情報を使用して第2の処理サブシステムの第2の遊休頻度を決定することと、
[00141]第2の遊休頻度を第1のしきい値と比較することと
を行うように構成されている;
[00142]第2の遊休頻度が第1のしきい値以上である場合に、第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、第2のダイ中の第2のDCVS管理コントローラと
を備えるシステム。
【0073】
[00143]25.
[00144]第1の遊休モニタシステムが複数の第1の遊休モニタを備え、各第1の遊休モニタが第1のサブシステムの複数の処理コアのうちの1つに関連付けられ、
[00145]第1の制限管理コントローラが、複数の第1の遊休モニタによって提供される情報を使用して第1のサブシステムの複数の処理コアの各々の遊休ステータスを決定するように構成され、
[00146]第1の制限管理コントローラが、第1の処理サブシステムの処理コアの各々の遊休ステータスに基づいて第1の遊休頻度を決定するように構成され、
[00147]第2の遊休モニタシステムが複数の第2の遊休モニタを備え、各第2の遊休モニタが第2の処理サブシステムの複数の処理コアのうちの1つに関連付けられ、
[00148]第2の制限管理コントローラが、複数の第2の遊休モニタによって提供される情報を使用して第2のサブシステムの複数の処理コアの各々の遊休ステータスを決定するように構成され、
[00149]第2の制限管理コントローラが、第2の処理サブシステムの処理コアの各々の遊休ステータスに基づいて第2の遊休頻度を決定するように構成された、
条項24のシステム。
【0074】
[00150]26.
[00151]第1の制限管理コントローラが、第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
[00152]第1のサブシステムのすべての処理コアが同時に遊休である場合に、第1の遊休カウントをインクリメントすることと、
[00153]第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して第1の遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
[00154]サンプリング回数に対する遊休カウントの比率を決定することによって第1の遊休頻度を決定することと
を行うようにさらに構成され、
[00155]第2の制限管理コントローラが、
[00156]第2のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
[00157]第2のサブシステムのすべての処理コアが同時に遊休である場合に、第2の遊休カウントをインクリメントすることと、
[00158]第2のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して第2の遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
[00159]サンプリング回数に対する第2の遊休カウントの比率を決定することによって第2の遊休頻度を決定することと
を行うようにさらに構成された、
条項25のシステム。
【0075】
[00160]27.
[00161]第1のDCVS管理コントローラが、第1の遊休頻度が第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成され、
[00162]第2のDCVS管理コントローラが、第2の遊休頻度が第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成された、
条項24のシステム。
【0076】
[00163]28.
[00164]第1の制限管理コントローラが、第1の遊休頻度が第1のしきい値以上である場合に第1の遊休頻度を第2のしきい値と比較するようにさらに構成され、第2のしきい値が、第1のしきい値よりも高い遊休頻度を表し、
[00165]第1のDCVS管理コントローラが、第1の遊休頻度が第1のしきい値以上であり第1の遊休頻度が第2のしきい値以上である場合に、第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成され、
[00166]第2の制限管理コントローラが、第2の遊休頻度が第1のしきい値以上である場合に第2の遊休頻度を第2のしきい値と比較するようにさらに構成され、
[00167]第2のDCVS管理コントローラが、第2の遊休頻度が第1のしきい値以上であり第2の遊休頻度が第2のしきい値以上である場合に、第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、
条項24のシステム。
【0077】
[00168]29.
[00169]第1のDCVS管理コントローラが、第1の処理サブシステムに関連付けられる第1の電力測定値を決定することと、第1の電力測定値が電力しきい値未満である場合に、第1の処理システムに供給されるクロック周波数と電圧とのうちの少なくとも一方を上げることと、を行うように構成されることによってDCVSを適用するように構成され、
[00170]第2のDCVS管理コントローラが、第2の処理サブシステムに関連付けられる第2の電力測定値を決定することと、第2の電力測定値が電力しきい値未満である場合に、第2の処理システムに供給されるクロック周波数と電圧とのうちの少なくとも一方を上げることと、を行うように構成されることによってDCVSを適用するように構成された、
条項27のシステム。
【0078】
[00171]30.
[00172]第1の処理サブシステムが複数のニューラル処理コアを備え、
[00173]第2の処理サブシステムが複数のニューラル処理コアを備える、条項24のシステム。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
適応電力制御のための方法であって、
1つまたは複数の処理コアを備える第1の処理サブシステムの第1の遊休頻度を決定することと、
前記第1の遊休頻度を第1のしきい値と比較することと、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることとを備える方法。
[C2]
前記第1の遊休頻度を決定することが、
前記第1のサブシステムの複数の処理コアの各々の遊休ステータスを決定することと、
前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定することとを備える、C1に記載の方法。
[C3]
前記第1の遊休頻度を決定することが、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第1のサブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントすることと、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すこととをさらに備え、
前記第1の遊休頻度を決定することが、前記サンプリング回数に対する前記遊休カウントの比率を決定することを備える、C2に記載の方法。
[C4]
前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいて動的クロックおよび電圧スケーリング(DCVS)を適用することをさらに備える、C1に記載の方法。
[C5]
前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較することをさらに備え、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げることが、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げることを備える、C1に記載の方法。
[C6]
DCVSを適用することが、
前記第1の処理サブシステムに関連付けられる電力測定値を決定することと、
前記電力測定値が電力しきい値未満である場合に、前記第1の処理システムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることとを備える、C4に記載の方法。
[C7]
前記第1の処理サブシステムとパイプライン化構成で結合された第2の処理サブシステムの第2の遊休頻度を決定することと、
前記第2の遊休頻度を前記第1のしきい値と比較することと、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げることとをさらに備える、C1に記載の方法。
[C8]
適応電力制御のためのシステムであって、
1つまたは複数の処理コアを備える第1の処理サブシステムに関連付けられる第1の遊休モニタシステムと、
前記第1の処理サブシステムに関連付けられる第1の制限管理コントローラと、前記第1の制限管理コントローラが、
前記第1の遊休モニタシステムによって提供される情報を使用して前記第1の処理サブシステムの第1の遊休頻度を決定することと、
前記第1の遊休頻度を第1のしきい値と比較することとを行うように構成されている、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された第1の動的クロックおよび電圧スケーリング(DCVS)管理コントローラとを備えるシステム。
[C9]
前記第1の遊休モニタシステムが複数の遊休モニタを備え、各遊休モニタが前記第1のサブシステムの複数の処理コアのうちの1つに関連付けられ、
前記第1の制限管理コントローラが、前記複数の遊休モニタによって提供される前記情報を使用して前記第1のサブシステムの前記複数の処理コアの各々の遊休ステータスを決定するように構成され、
前記第1の制限管理コントローラが、前記第1のサブシステムの前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定するように構成された、C8に記載のシステム。
[C10]
前記第1の制限管理コントローラが、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第1のサブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントすることと、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
前記サンプリング回数に対する前記遊休カウントの比率を決定することによって前記第1の遊休頻度を決定することとを行うようにさらに構成された、C9に記載のシステム。
[C11]
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成された、C8に記載のシステム。
[C12]
前記第1の制限管理コントローラが、前記遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較するようにさらに構成され、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるように構成された、C8に記載のシステム。
[C13]
前記第1のDCVS管理コントローラが、
前記第1の処理サブシステムに関連付けられる電力測定値を決定することと、
前記電力測定値が電力しきい値未満である場合に、前記第1の処理システムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることとを行うように構成されることによってDCVSを適用するように構成された、C11に記載のシステム。
[C14]
第2の処理サブシステムに関連付けられる第2の遊休モニタシステムと、前記第2の処理システムが、前記第1の処理システムとパイプライン化構成で結合されている、
前記第2の処理サブシステムに関連付けられる第2の制限管理コントローラと、前記第2の制限管理コントローラが、
前記第2の遊休モニタシステムによって提供される情報を使用して前記第2の処理サブシステムの第2の遊休頻度を決定することと、
前記第2の遊休頻度を第2のしきい値と比較することとを行うように構成されている、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された第2のDCVS管理コントローラとをさらに備える、C8に記載のシステム。
[C15]
前記第1の処理システムがマルチダイパッケージの第1の集積回路ダイを備え、前記第2の処理システムが前記マルチダイパッケージの第2の集積回路ダイを備える、C14に記載のシステム。
[C16]
前記第1の処理サブシステムが複数のニューラル処理コアを備え、
前記第2の処理サブシステムが複数のニューラル処理コアを備える、C15に記載のシステム。
[C17]
適応電力制御のためのシステムであって、
1つまたは複数の処理コアを備える第1の処理サブシステムの第1の遊休頻度を決定するための手段と、
前記第1の遊休頻度を第1のしきい値と比較するための手段と、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段とを備えるシステム。
[C18]
前記第1の遊休頻度を決定するための前記手段が、
前記第1のサブシステムの複数の処理コアの各々の遊休ステータスを決定するための手段と、
前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定するための手段とを備える、C17に記載のシステム。
[C19]
前記第1の遊休頻度を決定するための前記手段が、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定するための手段と、
前記第1のサブシステムのすべての処理コアが同時に遊休である場合に、遊休カウントをインクリメントするための手段と、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すための手段とをさらに備え、
前記遊休頻度を決定するための前記手段が、前記サンプリング回数に対する前記遊休カウントの比率を決定するための手段を備える、C18に記載のシステム。
[C20]
前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいて動的クロックおよび電圧スケーリング(DCVS)を適用するための手段をさらに備える、C17に記載のシステム。
[C21]
前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較するための手段をさらに備え、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるための前記手段が、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるための手段を備える、C17に記載のシステム。
[C22]
DCVSを適用するための前記手段が、
前記第1の処理サブシステムに関連付けられる電力測定値を決定するための手段と、
前記電力測定値が電力しきい値未満である場合に、前記第1の処理システムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げるための手段とを備える、C20に記載のシステム。
[C23]
前記第1の処理サブシステムとパイプライン化構成で結合された第2の処理サブシステムの第2の遊休頻度を決定するための手段と、
前記第2の遊休頻度を前記第1のしきい値と比較するための手段と、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるための手段とをさらに備える、C17に記載のシステム。
[C24]
マルチダイパッケージにおける適応電力制御のためのシステムであって、
第1のダイ中の第1の遊休モニタシステムと、前記第1の遊休モニタシステムが前記第1のダイ中の第1の処理サブシステムに関連付けられ、前記第1の処理システムが1つまたは複数の処理コアを備える、
前記第1のダイ中の第1の制限管理コントローラと、前記第1の制限管理コントローラが前記第1の処理サブシステムに関連付けられ、前記第1の制限管理コントローラが、
前記第1の遊休モニタシステムによって提供される情報を使用して前記第1の処理サブシステムの第1の遊休頻度を決定することと、
前記第1の遊休頻度を第1のしきい値と比較することとを行うように構成されている、
前記第1の遊休頻度が前記第1のしきい値以上である場合に、前記第1の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、前記第1のダイ中の第1の動的クロックおよび電圧スケーリング(DCVS)管理コントローラと、
第2のダイ中の第2の遊休モニタシステムと、前記第2のダイが前記第1のダイとパイプライン化構成で結合され、前記第2の遊休モニタシステムが前記第2のダイ中の第2の処理サブシステムに関連付けられ、前記第2の処理システムが1つまたは複数の処理コアを備える、
前記第2のダイ中の第2の制限管理コントローラと、前記第2の制限管理コントローラが前記第2の処理サブシステムに関連付けられ、前記第2の制限管理コントローラが、
前記第2の遊休モニタシステムによって提供される情報を使用して前記第2の処理サブシステムの第2の遊休頻度を決定することと、
前記第2の遊休頻度を前記第1のしきい値と比較することとを行うように構成されている、
前記第2の遊休頻度が前記第1のしきい値以上である場合に、前記第2の処理サブシステムに供給されるクロック周波数と電圧とのうちの少なくとも一方を下げるように構成された、前記第2のダイ中の第2のDCVS管理コントローラとを備えるシステム。
[C25]
前記第1の遊休モニタシステムが複数の第1の遊休モニタを備え、各第1の遊休モニタが前記第1のサブシステムの複数の処理コアのうちの1つに関連付けられ、
前記第1の制限管理コントローラが、前記複数の第1の遊休モニタによって提供される前記情報を使用して前記第1のサブシステムの前記複数の処理コアの各々の遊休ステータスを決定するように構成され、
前記第1の制限管理コントローラが、前記第1の処理サブシステムの前記処理コアの各々の前記遊休ステータスに基づいて前記第1の遊休頻度を決定するように構成され、
前記第2の遊休モニタシステムが複数の第2の遊休モニタを備え、各第2の遊休モニタが前記第2の処理サブシステムの複数の処理コアのうちの1つに関連付けられ、
前記第2の制限管理コントローラが、前記複数の第2の遊休モニタによって提供される前記情報を使用して前記第2のサブシステムの前記複数の処理コアの各々の遊休ステータスを決定するように構成され、
前記第2の制限管理コントローラが、前記第2の処理サブシステムの前記処理コアの各々の前記遊休ステータスに基づいて前記第2の遊休頻度を決定するように構成された、C24に記載のシステム。
[C26]
前記第1の制限管理コントローラが、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第1のサブシステムのすべての処理コアが同時に遊休である場合に、第1の遊休カウントをインクリメントすることと、
前記第1のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記第1の遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
前記サンプリング回数に対する前記遊休カウントの比率を決定することによって前記第1の遊休頻度を決定することとを行うようにさらに構成され、
前記第2の制限管理コントローラが、
前記第2のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定することと、
前記第2のサブシステムのすべての処理コアが同時に遊休である場合に、第2の遊休カウントをインクリメントすることと、
前記第2のサブシステムのすべての処理コアが同時に遊休であるかどうかを決定して前記第2の遊休カウントをインクリメントすることを複数のサンプリング回数にわたって繰り返すことと、
前記サンプリング回数に対する前記第2の遊休カウントの比率を決定することによって前記第2の遊休頻度を決定することとを行うようにさらに構成された、C25に記載のシステム。
[C27]
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値未満である場合に電力に基づいてDCVSを適用するように構成され、
前記第2のDCVS管理コントローラが、前記第2の遊休頻度が前記第1のしきい値未満である場合に電力に基づいて前記DCVSを適用するように構成された、C24に記載のシステム。
[C28]
前記第1の制限管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上である場合に前記第1の遊休頻度を第2のしきい値と比較するようにさらに構成され、前記第2のしきい値が、前記第1のしきい値よりも高い遊休頻度を表し、
前記第1のDCVS管理コントローラが、前記第1の遊休頻度が前記第1のしきい値以上であり前記第1の遊休頻度が前記第2のしきい値以上である場合に、前記第1の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるように構成され、
前記第2の制限管理コントローラが、前記第2の遊休頻度が前記第1のしきい値以上である場合に前記第2の遊休頻度を前記第2のしきい値と比較するようにさらに構成され、
前記第2のDCVS管理コントローラが、前記第2の遊休頻度が前記第1のしきい値以上であり前記第2の遊休頻度が前記第2のしきい値以上である場合に、前記第2の処理サブシステムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を下げるように構成された、C24に記載のシステム。
[C29]
前記第1のDCVS管理コントローラが、前記第1の処理サブシステムに関連付けられる第1の電力測定値を決定することと、前記第1の電力測定値が電力しきい値未満である場合に、前記第1の処理システムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることと、を行うように構成されることによってDCVSを適用するように構成され、
前記第2のDCVS管理コントローラが、前記第2の処理サブシステムに関連付けられる第2の電力測定値を決定することと、前記第2の電力測定値が前記電力しきい値未満である場合に、前記第2の処理システムに供給される前記クロック周波数と前記電圧とのうちの少なくとも一方を上げることと、を行うように構成されることによってDCVSを適用するように構成された、C27に記載のシステム。
[C30]
前記第1の処理サブシステムが複数のニューラル処理コアを備え、
前記第2の処理サブシステムが複数のニューラル処理コアを備える、C24に記載のシステム。
図1
図2
図3
図4
図5
図6