特許第6236572号(P6236572)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 聯發科技股▲ふん▼有限公司の特許一覧

特許6236572マルチプロセッサシステムにおける動的周波数スケーリング
<>
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000002
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000003
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000004
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000005
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000006
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000007
  • 特許6236572-マルチプロセッサシステムにおける動的周波数スケーリング 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6236572
(24)【登録日】2017年11月2日
(45)【発行日】2017年11月22日
(54)【発明の名称】マルチプロセッサシステムにおける動的周波数スケーリング
(51)【国際特許分類】
   G06F 1/04 20060101AFI20171113BHJP
   G06F 1/32 20060101ALI20171113BHJP
【FI】
   G06F1/04 575
   G06F1/32 Z
【請求項の数】30
【全頁数】16
(21)【出願番号】特願2017-514280(P2017-514280)
(86)(22)【出願日】2015年9月17日
(65)【公表番号】特表2017-528837(P2017-528837A)
(43)【公表日】2017年9月28日
(86)【国際出願番号】CN2015089855
(87)【国際公開番号】WO2016041509
(87)【国際公開日】20160324
【審査請求日】2017年3月13日
(31)【優先権主張番号】62/051,327
(32)【優先日】2014年9月17日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】506423280
【氏名又は名称】聯發科技股▲ふん▼有限公司
【氏名又は名称原語表記】MEDIATEK INC.
(74)【代理人】
【識別番号】100082175
【弁理士】
【氏名又は名称】高田 守
(74)【代理人】
【識別番号】100106150
【弁理士】
【氏名又は名称】高橋 英樹
(72)【発明者】
【氏名】チャン ヤーティン
(72)【発明者】
【氏名】ヨン リーキー
(72)【発明者】
【氏名】チュウ シーイェン
(72)【発明者】
【氏名】リー ミンシェン
(72)【発明者】
【氏名】チェン ジアミン
(72)【発明者】
【氏名】リン ユーミン
(72)【発明者】
【氏名】チョウ フンリン
(72)【発明者】
【氏名】ロ ツジェン
(72)【発明者】
【氏名】ソン コンウォン
【審査官】 佐賀野 秀一
(56)【参考文献】
【文献】 米国特許出願公開第2006/0149975(US,A1)
【文献】 特開2009−175788(JP,A)
【文献】 国際公開第2012/008019(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/04
G06F 1/26− 1/32
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムの操作方法であって、
一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、前記アクティブプロセッサコアの動作周波数がすでに、所定の最高周波数まで上昇している、という条件を検出する工程と、
前記一つ以上のクラスタの環境温度測定結果を得る工程と、
前記条件検出後、前記アクティブプロセッサコアへの供給電圧を同じレベルに維持しつつ、前記環境温度測定結果に基づいて、前記動作周波数を、前記所定の最高周波数まで増加させる工程、
を有することを特徴とする方法。
【請求項2】
前記動作周波数の増加は、さらに、前記一つ以上のクラスタ中のアクティブプロセッサコアの前記総数に基づくことを特徴とする請求項1に記載の方法。
【請求項3】
前記一つ以上のクラスタ中の全プロセッサコアがアクティブであるとき、前記所定の最高周波数は、前記動作周波数の所定上限であることを特徴とする請求項1に記載の方法。
【請求項4】
増加した動作周波数がもたらす増加した電力消耗は、前記一つ以上のクラスタが、少なくとも一つの非アクティブなプロセッサコアを有することにより生じるIRドロップによるものであることを特徴とする請求項1に記載の方法。
【請求項5】
前記環境温度測定結果に基づいて、ルックアップテーブルから、前記所定の最高周波数より高い一つ以上の周波数を識別する工程と、
前記アクティブプロセッサコアを、前記一つ以上の周波数で操作する工程と、
を、さらに有することを特徴とする請求項1に記載の方法。
【請求項6】
前記一つ以上の周波数の識別は、さらに、前記一つ以上のクラスタ中のアクティブプロセッサコアの前記総数に基づくことを特徴とする請求項5に記載の方法。
【請求項7】
前記動作周波数を増加する工程は、さらに、
前記環境温度測定結果が属する温度範囲を識別する工程と、
前記温度範囲に対応する周波数上で、前記アクティブプロセッサコアを操作する工程と、
を有することを特徴とする請求項1に記載の方法。
【請求項8】
前記環境温度測定結果に基づいて、周波数の増大量を計算する工程と、
前記周波数の増大量により、前記動作周波数を増加させる工程と、
を、さらに有することを特徴とする請求項1に記載の方法。
【請求項9】
アクティブプロセッサコアは一クラスタに属し、
前記所定数量は、前記一クラスタ中のプロセッサコアの総数以下であること、
を特徴とする請求項1に記載の方法。
【請求項10】
前記アクティブプロセッサコアは、前記コンピュータシステム中の複数のクラスタに属し、
前記所定数量は、前記コンピュータシステム中のプロセッサコアの総数以下である、
ことを特徴とする請求項1に記載の方法。
【請求項11】
システムであって、
複数のプロセッサコアを有する一つ以上のクラスタと、
前記一つ以上のクラスタの環境温度測定結果を得る温度センサーと、
前記一つ以上のクラスタに結合され、前記一つ以上のクラスタのアクティブプロセッサコアの総数が所定数量より少なく、かつ、前記アクティブプロセッサコアの動作周波数がすでに、所定の最高周波数まで上昇している、という条件を検出する管理モジュールと、
前記一つ以上のクラスタ、前記温度センサー、および、前記管理モジュールに結合され、前記条件の検出時、前記環境温度測定結果に基づいて、前記動作周波数を、前記所定の最高周波数まで増加させるとともに、前記アクティブプロセッサコアへの供給電圧を同じレベルに維持する周波数コントローラーと、
を有することを特徴とするシステム。
【請求項12】
前記周波数コントローラーは、前記一つ以上のクラスタ中のアクティブプロセッサコアの前記総数、および、前記環境温度測定結果に基づいて、前記動作周波数を増加させることを特徴とする請求項11に記載のシステム。
【請求項13】
前記アクティブプロセッサコアの前記総数は一クラスタに属し、
前記所定数量は前記一クラスタ中のプロセッサコアの総数以下であること、
を特徴とする請求項11に記載のシステム。
【請求項14】
前記一クラスタは、異機種環境マルチプロセッシング (HMP)構造を有する複数のクラスタのひとつであることを特徴とする請求項13に記載のシステム。
【請求項15】
前記一クラスタは、完全対称型マルチプロセッシング (SMP)構造を有する複数のクラスタの一つであり、
前記複数のクラスタのそれぞれのプロセッサコアの動作周波数は、互いに独立している、
ことを特徴とする請求項13に記載のシステム。
【請求項16】
前記アクティブプロセッサコアは複数のクラスタに属し、
前記所定数量は前記システム中のプロセッサコアの総数以下であること、
を特徴とする請求項11に記載のシステム。
【請求項17】
前記複数のクラスタはSMP構造を有し、
前記複数のクラスタのそれぞれのプロセッサコアの動作周波数は、互いに依存すること、
を特徴とする請求項14に記載のシステム。
【請求項18】
前記一つ以上のクラスタのそれぞれのプロセッサコアは、同じプロセッサタイプ、あるいは、異なるプロセッサタイプを有することを特徴とする請求項11に記載のシステム。
【請求項19】
前記一つ以上のクラスタ中の全プロセッサコアがアクティブであるとき、前記所定の最高周波数は、前記動作周波数の所定上限であることを特徴とする請求項11に記載のシステム。
【請求項20】
増加した動作周波数がもたらす増加した電力消耗は、前記一つ以上のクラスタが、少なくとも一つの非アクティブなプロセッサコアを有することにより生じるIRドロップによるものであることを特徴とする請求項11に記載のシステム。
【請求項21】
複数の温度範囲中のそれぞれに用いられる前記所定の最高周波数より高い一つ以上の周波数を含むルックアップテーブルを保存するメモリを有し、
前記管理モジュールは、さらに、前記環境温度測定結果に基づいて、ルックアップテーブルから周波数を識別し、前記周波数上で、前記アクティブプロセッサコアを操作すること、
を特徴とする請求項11に記載のシステム。
【請求項22】
前記管理モジュールは、さらに、前記環境温度測定結果に基づいて、周波数の増大量を計算するとともに、前記周波数の増大量により、前記動作周波数を増加することを特徴とする請求項11に記載のシステム。
【請求項23】
コンピュータシステムの操作方法であって、
一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、前記アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件を検出する工程と、
前記一つ以上のクラスタの環境温度測定結果を得る工程と、
前記条件検出後、前記環境温度測定結果に基づいて、前記動作周波数を、前記特定周波数まで増加させるとともに、前記アクティブプロセッサコアへの供給電圧を同じレベルに維持する工程と、
を有し、
前記特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、前記複数の特定周波数は、前記一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定されることを特徴とする方法。
【請求項24】
前記動作周波数の増加は、さらに、前記一つ以上のクラスタ中のアクティブプロセッサコアの前記総数に基づくことを特徴とする請求項23に記載の方法。
【請求項25】
前記一つ以上の特定周波数は、前記複数の特定周波数の最高特定周波数を含むことを特徴とする請求項23に記載の方法。
【請求項26】
システムであって、
複数のプロセッサコアを有する一つ以上のクラスタと、
前記一つ以上のクラスタの環境温度測定結果を得る温度センサーと、
前記一つ以上のクラスタのアクティブプロセッサコアの総数が所定数量より少ない、および、前記アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件を検出する管理モジュールと、
前記条件が検出されるとき、前記環境温度測定結果に基づいて、前記動作周波数を、前記特定周波数まで増加させるとともに、前記アクティブプロセッサコアへの供給電圧を同じレベルに維持する周波数コントローラーと、
を有し、
前記特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、前記複数の特定周波数は、前記一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定されることを特徴とするシステム。
【請求項27】
前記動作周波数の増加は、さらに、前記一つ以上のクラスタ中のアクティブプロセッサコアの前記総数に基づくことを特徴とする請求項26に記載のシステム。
【請求項28】
前記一つ以上の特定周波数は、前記複数の特定周波数の最高特定周波数を含むことを特徴とする請求項26に記載のシステム。
【請求項29】
コンピュータシステムの操作方法であって、
一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、前記アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇しているという条件を検出する工程と、
前記一つ以上のクラスタの環境温度測定結果を得る工程と、
前記条件が検出されるとき、前記環境温度測定結果に基づいて、前記アクティブプロセッサコアへの供給電圧のレベルを低下させ、前記特定周波数で、動作周波数を維持する工程と、
を有し、
前記特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、前記複数の特定周波数は、前記一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定されることを特徴とする方法。
【請求項30】
システムであって、
複数のプロセッサコアを有する一つ以上のクラスタと、
前記一つ以上のクラスタの環境温度測定結果を得る温度センサーと、
前記一つ以上のクラスタのアクティブプロセッサコアの総数が所定数量より少ない、および、前記アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件を検出する管理モジュールと、
前記条件が検出されるとき、前記環境温度測定結果に基づいて、前記アクティブプロセッサコアへの供給電圧のレベルを低下させ、前記特定周波数で、動作周波数を維持する周波数コントローラーと、
を有し、
前記特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、前記複数の特定周波数は、前記一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定される、システム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2014年9月17日に出願された米国特許仮出願番号62/051327から優先権を主張し、米国特許仮出願は引用によって本願に援用される。
【0002】
本発明の実施態様は、複数のプロセッサコアを有するシステムにおける電力とパフォーマンス管理に関連する。
【背景技術】
【0003】
現在、および、新興のモバイル装置の要求下で、低電力コンピューティングが重要になっている。高パフォーマンスを実現するため、たとえば、スマートフォン、タブレット、および、その他の携帯端末のモバイル装置は、ますます、高い電力消耗の先進技術を取り入れている。ランタイムパフォーマンスを向上させる一アプローチは、ダイナミックボルテージと周波数スケーリング (DVFS)であり、ランタイムで、プロセッサの動作周波数と電圧を自動的に調整して、パフォーマンスを強化する技術である。集積回路の電力消耗は、C×V2×Fに比例するので、動作周波数と電圧が増加するとき、電力消耗も増加する。式中、C はトランジスタ容量、V は供給電圧、Fは周波数である。
【0004】
ある現代のコンピュータシステムは、内蔵電力管理フレームワークを有して、パフォーマンスと電力使用量間の交換を管理する。たとえば、コンピュータシステムは、電力管理ユニットを有し、電力管理ユニットは、ランタイムで、動作周波数と電圧が増加、あるいは、減少して、システムパフォーマンス要求を満たすか、あるいは、節電するかを決定する。電力管理ユニットは、動作周波数と電圧を、実験データに基づいて、システム開発者や製造者により通常決定される所定の上限と下限内に設定する。
【0005】
先進型コンピュータシステムは、既に、一般的に、マルチプロセッサ機構を採用して、高パフォーマンスを提供する。マルチプロセッサシステムは、一つ以上のクラスタとして組織される複数のプロセッサ (中央処理ユニット(CPU)、プロセッサコア、あるいは、コアとも称される)を有する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
マルチプロセッサシステムにおける高パフォーマンスと低電力の要求は、強化された電力管理の必要性を高める。
【課題を解決するための手段】
【0007】
一実施態様において、コンピュータシステムの方法が提供される。本方法は、一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、所定の最高周波数まで上昇しているという条件を検出する工程と、一つ以上のクラスタの環境温度測定結果を得る工程と、を有する。本方法は、さらに、条件検出後、環境温度測定結果に基づいて、動作周波数を、所定の最高周波数まで増加させるとともに、アクティブプロセッサコアへの供給電圧を同じレベルに維持する工程、を有する。
【0008】
別の実施態様において、コンピュータシステムが提供される。コンピュータシステムは、複数のプロセッサコアを有する一つ以上のクラスタと、一つ以上のクラスタの環境温度測定結果を得る温度センサーと、一つ以上のクラスタに結合され、一つ以上のクラスタのアクティブプロセッサコアの総数が所定数量より少なく、かつ、アクティブプロセッサコアの動作周波数がすでに、所定の最高周波数まで上昇している、という条件を検出する管理モジュールと、を有する。コンピュータシステムは、さらに、一つ以上のクラスタ温度センサー、および、管理モジュールに結合される周波数コントローラーを有し、条件の検出時、環境温度測定結果に基づいて、動作周波数を、所定の最高周波数まで増加させるとともに、アクティブプロセッサコアへの供給電圧を同じレベルに維持するように操作する。
【0009】
さらに別の実施態様において、コンピュータシステムの方法が提供される。本方法は、一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件を検出する工程と、一つ以上のクラスタの環境温度測定結果を得る工程と、を有する。特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、複数の特定周波数は、一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定される。本方法は、さらに、条件検出後、環境温度測定結果に基づいて、動作周波数を、特定周波数まで増加させるとともに、アクティブプロセッサコアへの供給電圧を同じレベルに維持する工程を有する。
【0010】
さらに別の実施態様において、コンピュータシステムが提供される。コンピュータシステムは、複数のプロセッサコアを有する一つ以上のクラスタと、一つ以上のクラスタの環境温度測定結果を得る温度センサーと、一つ以上のクラスタに結合され、一つ以上のクラスタのアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇しているという条件を検出する管理モジュールと、を有する。特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、複数の特定周波数は、一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定される。コンピュータシステムは、さらに、一つ以上のクラスタに結合される周波数コントローラー、温度センサー、および、管理モジュールを有し、条件の検出時、環境温度測定結果に基づいて、動作周波数を、特定周波数まで増加させ、アクティブプロセッサコアへの供給電圧を同じレベルに維持するように操作される。
【0011】
ここで記述される実施態様において、プロセッサコアの動作周波数は、所定の最高周波数、および/または、一つ以上の特定周波数によって制限されない。それは、全プロセッサコアがアクティブであるとき、これらの周波数は、通常、安全操作を確保するために設計されるからである。さらに、プロセッサコアへの供給電圧のレベルを増加することを要求せずに、一つ以上の特定周波数を上回ることができる。このほか、プロセッサコアの動作周波数は、環境温度のリアルタイム検出に基づいて、動的に調整され、これにより、オーバーヒートや熱的問題が回避される。さらに、アクティブプロセッサコアの数量が少ないほど、IRドロップが大きいので、さらに少ないアクティブプロセッサコアに対し、プロセッサコアの動作周波数が特定周波数を上回るまで調整されて、さらに大きい範囲に達する。よって、プロセッサコアは、それらの能力の全範囲、あるいは、増大した範囲上で操作でき、同じレベルの供給電圧が維持されつつ、電源リソースがさらに効果的に用いられる。
【0012】
さらに別の実施態様において、コンピュータシステムの操作方法が提供される。本方法は、一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件を検出する工程、および、一つ以上のクラスタの環境温度測定結果を得る工程、を有する。本法は、さらに、条件が検出されるとき、環境温度測定結果に基づいて、アクティブプロセッサコアへの供給電圧のレベルを低下させ、特定周波数で、動作周波数を維持する工程を有する。特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、複数の特定周波数は、一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定される。
【0013】
さらに別の実施態様において、コンピュータシステムが提供される。コンピュータシステムは、複数のプロセッサコアを有する一つ以上のクラスタと、一つ以上のクラスタの環境温度測定結果を得る温度センサーと、一つ以上のクラスタのアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件を検出する管理モジュールと、条件が検出されるとき、環境温度測定結果に基づいて、アクティブプロセッサコアへの供給電圧のレベルを減少させ、特定周波数で、動作周波数を維持する周波数コントローラーと、を有する。特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数であり、複数の特定周波数は、一つ以上のクラスタ中の全プロセッサコアがアクティブである場合に対して設定される。
【図面の簡単な説明】
【0014】
図1】一実施態様によるマルチプロセッサコンピュータシステムを示す図である。
図2図1のコンピュータシステム中のクラスタを示す図である。
図3】一実施態様によるルックアップテーブルである。
図4】別の実施態様によるルックアップテーブルである。
図5】一実施態様による動的周波数スケーリングの方法を示すフローチャートである。
図6】別の実施態様による動的周波数スケーリングの方法を説明するフローチャートである。
図7】さらに別の実施態様による動的周波数スケーリングの方法を説明するフローチャートである。
【発明を実施するための形態】
【0015】
本発明は、例によって説明されるが、この例には限定されない。添付図面中の同一の符号は同一の素子を示す。注意すべきことは、この明細書中の"一" 実施態様は、同一の実施態様に限定される必要がなく、このような参照番号は、少なくとも一つを表示する。さらに、特定特徴、構造、あるいは、特徴が一実施態様と結合して記述されるとき、当業者なら理解できるように、明確に記述されていなくても、このような特徴、構造や特性は、その他の実施態様と結合して実現することができる。
【0016】
以下の説明において、多くの特定の詳細が記述されている。しかし、理解できることは、本発明の実施態様は、これらの特定の詳細なしでも実現できることである。その他の例において、明細書に対する理解が不明瞭になるのを回避するため、従来の回路、構造と技術は詳述されていない。しかし、理解できることは、当業者なら理解できるように、本発明は、このような特定の詳細なしでも実現することができる。本文の描写により、当業者は、適当な功能を実現することができ、過多な実験が不要である。
【0017】
注意すべきことは、ここで用いられる“マルチプロセッサコンピュータシステム”は、“マルチコアプロセッサシステム”に相当し、実際の設計に応じて、マルチコアシステム、あるいは、マルチプロセッサシステムである。つまり、提案される方法は、任意のマルチコアシステムとマルチプロセッサシステムに適用される。たとえば、マルチコアシステムに関して、全プロセッサコアは一プロセッサ中に設置される。もう一つ例を挙げると、マルチプロセッサシステムに関して、各プロセッサコアは一プロセッサ中に設置される。よって、各クラスタは、一つ以上のプロセッサの一群として実施される。
【0018】
本発明の実施態様は、マルチプロセッサコンピュータシステムにおける電力とパフォーマンスを管理するシステムと方法を提供する。システムは一つ以上のクラスタを有し、各クラスタは、一つ以上のプロセッサコアを有する。プロセッサコアは、CPU、その他のタイプのプロセッサ、あるいは、コアである。パフォーマンス要求と容量制約の変化に対応して、操作期間中、一つ以上のプロセッサコアの動作周波数は、動的に調整される。通常、所定のシステムの作業負荷下で、パフォーマンス要求は、応答時間とスループットにより定量化される。システムの作業負荷が、並列化され、複数のプロセッサコアに分布される状況下で、作業負荷の増大は、さらに多くのプロセッサコアをオンにして、パフォーマンス要求を満たす。しかし、システム作業負荷が容易に並列化できない状況において、さらに多くのプロセッサコアをオンにするのは、パフォーマンスの改善の助けにならない。一方、動作周波数の増大は、プロセッサ速度を加速し、これにより、応答時間、および/または、スループットに関連するパフォーマンスを増加する。
【0019】
一実施態様において、動作周波数は、明細書で明記されている最高周波数(すなわち、上限)まで動的に増加する。この所定の最高周波数は、操作パフォーマンスポイント(OPP)テーブル、あるいは、システム中で実現するその他の形式のデータ構造、あるいは、ストレージ、あるいは、回路中に保存される。システムの一つ以上のクラスタ中のアクティブプロセッサコアの数量が所定数量(所定数量は、一つ以上のクラスタ中のプロセッサコアの総数より少ない)より少ないとき、所定の最高周波数の超過が許可される。所定の最高周波数は、全プロセッサコアがアクティブである状況のために定義されるので、非アクティブプロセッサコアの存在は、それらのアクティブプロセッサコアが、所定の最高周波数より高い周波数で操作することにより、それらの通常の電力のシェアよりもっと多くを消費することを可能とする。一実施態様において、周波数の増大量は、一つ以上のクラスタの環境温度に基づく。高い温度環境下で、許可される周波数の増大量は小さくなり、低い温度環境下で、大きくなる。別の実施態様において、周波数の増大量は、アクティブプロセッサコアの数量、および、一つ以上のクラスタの環境温度に基づく。さらにアクティブプロセッサコアの数量が多い場合、許可される周波数の増大量は小さくなり、アクティブプロセッサコアの数量が少ない場合、大きくなる。
【0020】
動作周波数が増加するべき目標周波数は、異なる温度、および/または、アクティブプロセッサコアの数量に対応する複数の動作周波数を定義し記憶する、異なる又は同一のOPPテーブル、又は、システム中のデータ構造又はストレージのその他の形式にしたがって決定される。代わりに、あるいは、追加的に、動作周波数の増加は、ハードウェア、および/または、ソフトウェア形式の、目標周波数を計算する関係式を直接実装することにより達成される。さらに注意すべきことは、一態様において、異なる数量、あるいは、数量範囲のアクティブプロセッサコア、および/または、異なる温度、あるいは、温度範囲に対して、特定 (最高)周波数の異なる群を設定することにより、アクティブプロセッサコア(アクティブプロセッサコアの数量が所定スレショルドより少ないとき)の動作周波数は、特定(最高)周波数を上回る。
【0021】
追加的、あるいは、代わりに、動作周波数は、本来、マルチプロセッサコンピュータシステムの操作が、一つ以上のその他の特定周波数まで動的に増加する期間中、所定の最高周波数より低い任意の一つ以上の特定周波数に設定される。同様に、これらの一つ以上の特定周波数は、全プロセッサコアがアクティブである状況にも定義されるので、ランタイム中、非アクティブプロセッサコアの存在が、それらのアクティブプロセッサコアを、特定周波数より高い周波数で操作できるようにする。つまり、アクティブプロセッサコアの数量が減少するとき、クラスタのIRドロップによって、一つ以上の特定周波数が上回る。一実施態様において、一つ以上の特定周波数のそれぞれの周波数の増大量は、一つ以上のクラスタの環境温度に基づく。高い温度環境下で、許可される周波数の増大量が小さくなり、低い温度環境下で、大きくなる。別の実施態様において、一つ以上の特定周波数のそれぞれの周波数の増大量は、アクティブプロセッサコアの数量、および、一つ以上のクラスタの環境温度に基づく。アクティブプロセッサコアの数量が多くなると、許可される周波数の増大量が小さくなり、アクティブプロセッサコアの数量が少なくなると、大きくなる。
【0022】
ここで記述される実施態様において、動作周波数の調整前、および、後、アクティブプロセッサコアへの供給電圧は同じレベルで維持される、すなわち、アクティブプロセッサコアの数量にかかわらず、同じ電圧レベルである。安全電圧と称されるこの電圧レベルは、システム中の全プロセッサコアがアクティブである状況に対して設計される。システム中の一つ以上の非アクティブプロセッサコアの存在は、未使用電力の形式であるIRドロップを生じさせる。供給電圧の維持は、動作周波数に伴い供給電圧を増減させることよりむしろ、供給電圧を維持することは、回路操作を安定させるだけでなく、高い周波数で操作することにより、未使用電力をアクティブプロセッサコア (全てのプロセッサコアより少ない)により使用させることを可能とする。よって、一実施態様において、動作周波数が増加すると、増加した動作周波数がもたらす増加した電力消耗は、一つ以上のクラスタが、少なくとも一つの非アクティブなプロセッサコアを有することにより生じるIRドロップによるものである。本発明の実施態様の更なる詳細は以下で提供される。
【0023】
一実施態様において、非アクティブプロセッサコアの存在は、所定の最高周波数を維持させ、アクティブプロセッサコアへの供給電圧が減少する。供給電圧が、全プロセッサコアがアクティブである状況に定義されるので、非アクティブプロセッサコアの存在は、それらのアクティブプロセッサコアを、所定の最高周波数で、低レベルの供給電圧を使用して操作させることができる。つまり、アクティブプロセッサコアの数量が減少するとき、クラスタのIRドロップのために、供給電圧のレベルが低下する。一実施態様において、電圧の減少量は、一つ以上のクラスタの環境温度に基づく。高い温度環境下で、許可される電圧の減少量が小さくなり、低い温度環境下で、大きくなる。別の実施態様において、電圧の減少量は、アクティブプロセッサコアの数量、および、一つ以上のクラスタの環境温度に基づく。アクティブプロセッサコアの数量が多くなると許可される周波数の増大量が小さくなり、アクティブプロセッサコアの数量が少なくなると、大きくなる。
【0024】
図1は、一実施態様によるコンピュータシステム100を示す図である。この例において、コンピュータシステム100は、マルチプロセッサコンピュータシステムで、Cluster(1), Cluster(2), Cluster(3)…., Cluster(m)として示される一つ以上のクラスタ105を有し、m は、任意の正の整数である。図1、および、以下では複数のクラスタが示されているが、理解できることは、システム100の実施態様は、任意の数量のクラスタ、たとえば、一つのクラスタ (すなわち、m = 1)を有する。よって、特別に記述されない限り (たとえば、“多くの”や“複数の”クラスタというように記述されない限り)、以下で記述される実施態様は、一を含む任意の数量のクラスタに適用される。各クラスタ105は、一つ以上のプロセッサコアを有し、且つ、異なるクラスタ105は、同じ、あるいは、異なる数量、プロセッサタイプ、および/または、サイズの、プロセッサコアを含む。システム100は、さらに、共に、管理モジュール130により制御される、周波数コントローラー110と電源120とを有する。管理モジュール130が、動作周波数の調整量を決定、識別、あるいは、計算するとき、周波数コントローラー110に信号を発信して、動作周波数を変化させる。一実施態様において、動作電圧に調整する前と後、電源120は、クラスタ105に同じ供給電圧を維持する。一実施態様において、管理モジュール130は、少なくとも一部において温度センサー140からの温度測定に基づいて、クラスタ105の動作周波数を設定する。温度センサー140は、クラスタ105の環境温度を測定する。たとえば、クラスタ105が位置するチップの温度を測定することによる。
【0025】
記述される動的周波数スケーリングによると、管理モジュール130は、所定条件を検出するように操作する。ここで、所定条件は、いつ、動作周波数が所定の最高周波数を上回るまで増加するか定義する。所定条件は、好ましくは、一つ以上のクラスタ105中のアクティブプロセッサコアの総数が所定数量より少ないこと、および、アクティブプロセッサコアの動作周波数がすでに、所定の最高周波数まで上昇していること、であるが、これに限定されない。条件の検出時、周波数コントローラー110は、環境温度測定結果に基づいて操作し、動作周波数を、所定の最高周波数まで増加させ、電源120は、アクティブプロセッサコアへの同じレベルの供給電圧を維持する。
【0026】
一実施態様において、管理モジュール130は、クラスタを操作するため、多くの特定の周波数値にアクセスしている。“特定周波数,” “所定の最高周波数,” “特定周波数値,” 等の用語は、一つ以上のクラスタ105中の全プロセッサコアがアクティブである状況で、クラスタ105を操作するために定義される周波数値のことを指す。一つ以上のクラスタ105中の全プロセッサコアがアクティブであるとき、所定の最高周波数は、動作周波数の上限である。所定の最高周波数を含む特定周波数値は、テーブル (たとえば、OPPテーブル)、あるいは、管理モジュール130にアクセス可能な別の形式の構造中に保存される。パフォーマンス要求が増加するとき、高い周波数設定が動作周波数として用いられる。反対に、パフォーマンス要求が減少するとき、低い周波数が用いられて、電力消耗を減少させる。ここで記述される動的周波数によると、高パフォーマンス要求があるとき、管理モジュール130は、動作周波数を所定の最高周波数まで増加させる。
【0027】
図2は、一実施態様によるクラスタ105のひとつを示す図である。クラスタ105は、P1, P2, P3,…, Pnとして示される複数のプロセッサコアを含み、nは、1より大きい任意の正の整数である。操作期間中、いくつかのプロセッサコアは非アクティブ(たとえば、黒いブロック中で示されるP1と P2)であり、他はアクティブである(たとえば、P3,…,Pn)。オフである、および/または、ごく少量の電力を消耗する低電力状態であるとき、プロセッサコアは、非アクティブであるとみなされる。クラスタ105は、さらに、一つ以上のキャッシュメモリ、たとえば、レベル2(L2)キャッシュ210を有し、それぞれ、クラスタ105中の全プロセッサコア中の少なくとも一つにアクセス可能である。
【0028】
クラスタ105のプロセッサコアは、同じプロセッサタイプであり、これは、電力消耗とパフォーマンス方面で、プロセッサコアがほぼ同じ特徴を有することを意味する。代わりに、クラスタ105中のプロセッサコアは、異なるプロセッサタイプで、電力消耗、および/または、パフォーマンス方面で、それらが異なる特徴を有することを意味する。システム100が一つ以上のクラスタ105を有し、全部のクラスタ105中のプロセッサコアが同じプロセッサタイプを有する実施態様において、システム100は、完全対称型マルチプロセッシング (SMP)構造を有するとみなされる。他の実施態様において、同じクラスタ105中の、あるいは、異なるクラスタ105を横切るプロセッサコアは、異なるプロセッサタイプを有し、システム100は、異機種環境マルチプロセッシング (HMP)構造を有するとみなされる。
【0029】
以下は、いくつかの実施態様によるシステムにおいて、動作周波数を動的にスケーリングするシステム100の3個の例示的な実現方式を記述する。第一例示的実現方式において、システム100はSMP構造を有し、クラスタ105の動作周波数は、互いに依存する。この実施において、管理モジュール130が第一条件を検出するとき、周波数スケーリングが、システム100中の全クラスタ105(システム100が一クラスタしか有さない場合、一クラスタ)に適用される。記述される動的周波数スケーリングによると、以下が真であるとき、第一条件が出現する: (a)アクティブプロセッサコアの動作周波数がすでに、所定の最高周波数まで上昇している、および、(b)システム100中のアクティブプロセッサコアの総数が所定数量より少ない。第一条件が検出されるとき、システム100中の全クラスタ105の動作周波数は、クラスタ105の環境温度測定結果に基づいて、所定の最高周波数まで増加する。(b)中の所定数量は、システム100中のプロセッサコアの総数より少ない任意の数量である。他の実施態様において、(a)中の所定の最高周波数は、所定の最高周波数より低い特定周波数である。このほか、動的周波数スケーリングは、所定の最高周波数に適用されるだけでなく、所定の最高周波数より低い一つ以上の特定周波数にも適用される。
【0030】
第二例示的実現方式において、システム100はSMP構造を有し、クラスタ105の動作周波数は互いに独立している。この実施において、第二条件が検出されるとき、周波数スケーリングが、独立して、各クラスタ105に適用される。第三例示的実現方式において、システム100は、HMP構造を有し、クラスタ105の操作周波数は互いに独立している。この実施において、第二条件が検出されるとき、周波数スケーリングは、また、各クラスタ105に独立して適用される。つまり、第二条件は、第二と第三例示的実現方式両方に用いられる。第二と第三例示的実現方式は、一クラスタだけを有するシステム100に適用される。記述される動的周波数スケーリングによると、以下が真であるとき、第二条件が出現する: (a)システム100中の所定クラスタの動作周波数が、既に、所定の最高周波数に達している、および、(b)所定クラスタ中のアクティブプロセッサコアの総数が、所定数量より少ない。第二条件が検出されるとき、所定クラスタの動作周波数は、所定クラスタの環境温度測定結果に基づいて、所定の最高周波数まで増加する。(b)中の所定数量は、所定クラスタ中のプロセッサコアの総数より小さい任意の数量である。他の実施態様において、(a)中の所定の最高周波数は、所定の最高周波数より低い特定周波数である。その上、動的周波数スケーリングは、所定の最高周波数だけでなく、所定の最高周波数より低い一つ以上の特定周波数にも適用される。
【0031】
一実施態様において、第一条件、あるいは、第二条件が検出されるとき、管理モジュール130は、目標周波数を決定して、ルックアップテーブルを用いて、動作周波数を増加させる。ルックアップテーブルは、任意の形式のデータ/ストレージ構造である、および/または、ハードウェア/ソフトウェア形式で実施される。代わりに、あるいは、追加的に、対応する公式を用いて、関連するハードウェア、および/または、ソフトウェアで実施される目標周波数を計算することにより、管理モジュール130は、自動的に、動作周波数を増加させる。図3はルックアップテーブル310の一実施態様を示す図で、管理モジュール130中のメモリ中に保存される、あるいは、管理モジュール130によりアクセスが可能である。一実施態様において、表310は、温度 (T1, …, Tnにより表示される)により索引がつけられる周波数値のリストを含む。表310中の各温度値は、温度範囲を示す。たとえば、表310のロウ1 は T1 と F1を含み、温度が T1より低く、動作周波数が F1まで増加することを意味する。ロウ 2は T2 と F2を含み、温度がT2以下であり (および、T1より大きい)、動作周波数がF2まで増加ことを意味する。ここで、T2 > T1 であり、F2 < F1である。温度が Tnより大きい場合 (表310中の最高温度値)、動作周波数は F(n+1)まで増加する。表310の別のロウのコンテンツも同様に理解できる。一実施態様において、表310中の全周波数値は、所定の最高周波数より大きい。一実施態様において、ルックアップテーブルを使用する目的のため、図1の温度センサー140による環境温度測定が温度の推定として用いられる。ルックアップテーブルは、上記の任意の第一、第二、あるいは、第三例示的実現方式に用いられる。
【0032】
周波数が、表310中で識別されるとき、システム100中の一つ以上のクラスタの動作周波数は、一工程、あるいは、代替的に、複数の工程において、識別された周波数に増加される。複数の工程のそれぞれの周波数値が、表310中、あるいは、管理モジュール130にアクセス可能な別々のデータ構造中に保存される。代わりに、複数の工程のそれぞれの周波数値が、固定の増加量、あるいは、固定の百分率増加として、管理モジュール130により計算される。
【0033】
図4は、別の実施態様によるルックアップテーブル410で、管理モジュール130中のメモリに保存される、あるいは、管理モジュール130にアクセス可能である。一実施態様において、表410は周波数値のリストを含み、周波数値のリストは、温度(T1, …, Tnにより示される)により索引付けされるロウとアクティブプロセッサコアの数量 (NP1,….NPkにより示される)により索引付けられるカラムを有する。表410中の各温度値は温度範囲を示す。NP1,….NPk の値は、連続した、あるいは、非連続の整数である。たとえば、NP1 = 1 および NP2 = 3である場合、NP2のカラムが、アクティブプロセッサコアの数量が2か3である場合を示す。上述の第一例示的実現方式において、システム100の全クラスタ中のアクティブプロセッサコアが計算され、アクティブプロセッサコアの数量を得る。上述の第二と第三例示的実現方式において、所定クラスタ (第二条件が検出される)中のアクティブプロセッサコアが計算されて、アクティブプロセッサコアの数量を得る。たとえば、表410のロウ 1 カラム 1 は F11を含み、温度がT1より低く、アクティブプロセッサコアの数量はNP1以下、動作周波数は F11まで増加することを意味する。表410のロウ 1 カラム 2 は F12を含み、温度T1が以下、アクティブプロセッサコアの数量が NP2以下 (および、NP1より大きい)、動作周波数は F12まで増加することを意味する。ここで、NP2 > NP1 であり、 F12 < F11である。表410の別のロウとカラムのコンテンツも同様に理解される。一実施態様において、表410中の全周波数値は、所定の最高周波数より高い。
【0034】
いくつかの実施態様において、表410中、各ロウ中の同数のカラム、および、各カラム中の同数のロウを有するのに代わって、周波数値は、温度範囲の各テーブルを有する複数のテーブルを含むデータ構造中に保存される。たとえば、データ構造は、温度 T ≦ T1の第一テーブル、および、T1 < T ≦ T2の第二テーブルを有し、且つ、各テーブルは、異なる数量のアクティブプロセッサコアの周波数値を定義する。いくつかの他の実施態様において、複数のテーブルのそれぞれ、異なる数量のアクティブプロセッサコアに用いられる。たとえば、データ構造は、NP ≦ 2の第一テーブル、および、2 < NP ≦ 4の第二テーブルを含む。異なるテーブルは、同じ、あるいは、異なる数量のエントリーを含む。
【0035】
周波数が表410で識別されるとき、システム100中の一つ以上のクラスタの動作周波数は、一工程、あるいは、代替的に、複数の工程において、識別された周波数に増加される。複数の工程のそれぞれの周波数値は、表410中、あるいは、管理モジュール130にアクセス可能な別々のデータ構造中に保存される。代わりに、複数の工程のそれぞれの周波数値は、固定の増加量、あるいは、固定の百分率増加として、管理モジュール130により計算される。
【0036】
さらに別の実施態様において、管理モジュール130は、現在の動作周波数と百分率を掛けることにより、周波数の増大量を計算する。たとえば、動作周波数は T ≦ T1 のとき、8% 増加し、T1 < T ≦ T2のとき、5% 増加する。代わりに、環境温度測定結果に加え、アクティブプロセッサコアの数量に基づいて、百分率の増加量が決定される。
【0037】
目標周波数、あるいは、周波数の増大量が決定され、それにしたがって、動作周波数が増加した後、管理モジュール130は、ランタイム中、繰り返し、システム100の状態を再評価して、第一、あるいは、第二条件が変化したかどうか、温度がすでに変化しているかどうか、アクティブプロセッサコアの数量がすでに変化しているかどうか、等を判断する。再評価結果が、動作周波数が再調整されるべきであると示す場合、管理モジュール130は、保存データにアクセスすることにより、あるいは、周波数調整量を計算することにより、アクティブプロセッサコアの動作周波数を決定する。一実施態様において、温度が低く、パフォーマンス要求に符合するとき、動作周波数が増加し、温度が高く、電力消耗が減少するとき減少する。
【0038】
図5は、一実施態様による動的周波数スケーリングのシステム100により実行される方法500を説明するフローチャートである。方法500は、システム100 (さらに特に、管理モジュール130)が、システム100の一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、動作周波数がすでに、所定の最高周波数まで上昇している、という条件を検出するとき、工程510から開始される。上述の第一例示的実現方式において、システム100中の全クラスタに対し、アクティブプロセッサコアの総数が計数される。上述の第二、あるいは、例示的実現方式において、システム100中の所定クラスタに対し、アクティブプロセッサコアの総数が計数される。他の実施態様において、(a)中の所定の最高周波数は、所定の最高周波数より低い特定周波数である。このほか、方法500は、所定の最高周波数だけでなく、所定の最高周波数より低い一つ以上の特定周波数にも適用される。
【0039】
工程520〜工程540に進み、管理モジュール130は、測定された環境温度 (T)と一つ以上の温度点を比較して、Tが属する温度範囲を識別する。温度T1 < T2 < …< Tn、および、周波数 F1 > F2 > ….> Fn > F(n+1)であると仮定する。温度が高いと、動作周波数が低くなる。温度範囲がTを含むことが発見されるとき、動作周波数が対応する周波数値に調整される。たとえば、T ≦ T1の場合、工程522において、動作周波数が F1に調整される; 工程532において、T1 < T ≦ T2である場合、動作周波数が F2に調整される;工程542において、T(n-1) < T ≦ Tnである場合、動作周波数は Fn に調整される。工程550において、T が Tnを超えることが発見される場合、動作周波数は F(n+1)に調整される。一実施態様において、比較は、図5の工程520〜工程540に示されるように、連続的に実行される。他の実施態様において、比較は、並行して、あるいは、図5と異なる順序で実行される。
【0040】
一条件(たとえば、上述の第一、あるいは、第二条件)が検出されるとき、あるいは、変化(たとえば、温度変化)が検出されるとき、図5の方法500は、固定時間間隔で、連続して実行される。動作周波数は、温度測定に基づいて、増加、あるいは、減少するように調整される。アクティブプロセッサコアの数量が周波数調整に考慮されるとき、類似操作が実行される。たとえば、異なる数量のアクティブプロセッサコアに対し、周波数値 F1, F2, …., Fn, F(n+1)は異なってもよい。一実施態様において、動作周波数の調整前後、アクティブプロセッサコアに供給される電圧が同じレベルで維持される。
【0041】
図6は、一実施態様による動的周波数スケーリングを用いたコンピュータシステムの操作方法600を説明するフローチャートである。図6を参照すると、方法600は、一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、特定周波数、たとえば、所定の最高周波数、あるいは、複数の特定周波数の任意の一つ以上の特定周波数まで上昇している、という条件を検出すること(ブロック610)から始まる。複数の特定周波数が設定されて、一つ以上のクラスタ中の全プロセッサコアをアクティブにする。方法600は、さらに、一つ以上のクラスタの環境温度測定結果を得る工程 (ブロック620)を有する。方法600は、さらに、条件検出後、環境温度測定結果に基づいて、動作周波数を、特定周波数まで増加させ、アクティブプロセッサコアへの供給電圧を同じレベルに維持する工程 (ブロック630)を有する。
【0042】
図7は、一実施態様による動的周波数スケーリングを用いたコンピュータシステムの操作方法700のフローチャートである。図7を参照すると、方法700は、一つ以上のクラスタ中のアクティブプロセッサコアの総数が所定数量より少ない、および、アクティブプロセッサコアの動作周波数がすでに、特定周波数まで上昇している、という条件の検出から開始され、特定周波数は、複数の特定周波数の任意の一つ以上の特定周波数である (ブロック710)。複数の特定周波数が設定されて、一つ以上のクラスタ中の全プロセッサコアをアクティブにする。方法700は、さらに、一つ以上のクラスタの環境温度測定結果を得る工程 (ブロック720);および、条件が検出されるとき、環境温度測定結果に基づいて、アクティブプロセッサコアへの供給電圧のレベルを低下させ、特定周波数で、動作周波数を維持する工程 (ブロック730)を有する。
【0043】
方法600と700は、ハードウェア (たとえば、電気回路、専用のロジック、プログラマブル論理、マイクロコード等)、ソフトウェア (たとえば、指示が処理装置を動かす)、あるいは、それらの組み合わせにより実行される。一実施態様において、方法600と700は、図1のコンピュータシステム100、あるいは、複数のプロセッサコアを含む任意のコンピュータシステムにより実施される。一実施態様において、コンピュータシステム100は、モバイルコンピューティング、および/あるいは、通信装置(たとえば、スマートフォン、タブレット、ラップトップ等)の一部である。
【0044】
図5図7のフローチャートの操作は、図1の例示的実施態様を参考にして記述されている。しかし、理解できることは、図5図7のフローチャートの操作は、図1を参考にして討論されるもの以外の本発明の実施態様により実行され、図1を参考にして討論される実施態様は、フローチャートを参考にして討論されるものと異なる操作を実行することができる。図5図7のフローチャートは、本発明のある実施態様により実行される操作の特定順序を示し、注意すべきことは、このような順序は例であることである(たとえば、他の実施態様は、異なる順序、ある操作の組み合わせ、ある操作の重複で操作を実行する)。
【0045】
各種機能性コンポーネンツ、あるいは、ブロックはすでに記述されている。当業者なら理解できるように、機能ブロックは、好ましくは、回路 (専用回路、あるいは、汎用回路、回路は、一つ以上のプロセッサ、および、コード化された命令下で操作する)の制御により実施され、通常、ここで記述される機能と操作に関連する回路の操作を制御する方式で設定されるトランジスタを有する。トランジスタの特定構造、あるいは、相互接続は、コンパイラ、たとえば、レジスタ転送語(RTL)コンパイラにより決定される。RTLコンパイラは、アセンブリ言語コードによく似たスクリプトに基づいて操作し、スクリプトを最終回路のレイアウトや製造に用いられる形式にコンパイルする。電子、および、デジタルシステムの設計プロセスにおいて、RTLは、その便利な使用性と作用で知られている。
【0046】
ここで記述される実施態様において、全プロセッサコアがアクティブであるとき、これらの周波数は、通常、安全操作を確保するために設計されるので、プロセッサコアの動作周波数は、所定の最高周波数、および/または、一つ以上の特定周波数によって制限されない。さらに、プロセッサコアへの供給電圧のレベルを増加することを要求せずに、一つ以上の特定周波数が上回る。このほか、プロセッサコアの動作周波数は、環境温度のリアルタイム検出に基づいて、動的に調整され、これにより、オーバーヒートや熱的問題を回避する。さらに、アクティブプロセッサコアの数量が少ないほど、IRドロップが大きいので、さらに少ないアクティブプロセッサコアに対し、プロセッサコアの動作周波数が特定周波数を上回るまで調整されて、さらに大きい範囲に達する。よって、プロセッサコアは、それらの能力の全範囲、あるいは、増大した範囲上で操作し、同じレベルの供給電圧が維持されるとき、電源リソースがさらに効果的に用いられる。
【0047】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
図1
図2
図3
図4
図5
図6
図7