JP2016527630A - System and method for idle state optimization in a multiprocessor system on a chip - Google Patents
System and method for idle state optimization in a multiprocessor system on a chip Download PDFInfo
- Publication number
- JP2016527630A JP2016527630A JP2016527135A JP2016527135A JP2016527630A JP 2016527630 A JP2016527630 A JP 2016527630A JP 2016527135 A JP2016527135 A JP 2016527135A JP 2016527135 A JP2016527135 A JP 2016527135A JP 2016527630 A JP2016527630 A JP 2016527630A
- Authority
- JP
- Japan
- Prior art keywords
- idle state
- state
- power consumption
- core
- consumption level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Telephone Function (AREA)
Abstract
ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のための方法およびシステムの種々の実施形態が開示される。例示的な方法が、PCD内のすべての処理コアのための総電力消費量レベルを電力バジェットと比較することと、電力バジェットに利用可能な余裕がある場合には、第1のアイドル状態において動作しているコアを異なるアイドル状態に移行させることとを含む。その際に、移行したコアをアイドル状態からアクティブ状態にすることに関連付けられる待ち時間値は、必要に応じて、短縮することができる。その結果として、他の場合なら長い待ち時間を有するアイドル状態にあるアイドルコアを、アクティブ状態に迅速に移行し、作業負荷を処理するようにより良好に位置付けることができるので、ユーザ体感およびQoSが改善される場合がある。Various embodiments of methods and systems for idle state optimization in a portable computing device (“PCD”) are disclosed. An exemplary method compares the total power consumption level for all processing cores in the PCD with the power budget and operates in the first idle state if the power budget is available Transitioning the active core to a different idle state. In doing so, the latency value associated with transitioning the transitioned core from the idle state to the active state can be shortened as needed. As a result, idle cores with otherwise long latencies can be better positioned to quickly transition to the active state and handle the workload, improving user experience and QoS May be.
Description
本発明は、チップ上のマルチプロセッサシステムにおけるアイドル状態最適化のためのシステムおよび方法に関する。 The present invention relates to a system and method for idle state optimization in a multiprocessor system on a chip.
ポータブルコンピューティングデバイス(「PCD:portable computing device」)は、個人レベルおよび専門レベルにおいて人々にとって必需品になりつつある。これらのデバイスは、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含むことができる。市場における大部分のPCDはマルチコアプロセッサを含み、マルチコアプロセッサは、特定の使用事例に応じて、様々な周波数およびアクティブコア構成において動作することができる。 Portable computing devices ("PCD") are becoming a necessity for people at the individual and professional level. These devices can include cell phones, personal digital assistants (“PDAs”), portable game consoles, palmtop computers, and other portable electronic devices. Most PCDs on the market include multi-core processors, which can operate at various frequencies and active core configurations, depending on the particular use case.
PCDの1つの特有の態様は、ラップトップコンピュータおよびデスクトップコンピュータなどのより大型のコンピューティングデバイスにおいて見られることが多い、ファンのような能動的な冷却デバイスを一般に有していないことである。その結果、熱エネルギー発生は多くの場合に、種々の熱管理技法の適用を通してPCDにおいて管理され、その技法は、リアルタイム、またはほぼリアルタイムの作業負荷需要に基づいて、処理コアをアクティブ処理状態とアイドル状態との間で移行させることを含むことができる。コアをアクティブ処理状態からアイドル状態に移行させることによって、作業負荷を処理するためにコアが必要とされないときに、アクティブ状態に関連付けられる電力消費を回避することができる。 One particular aspect of PCD is that it generally does not have an active cooling device, such as a fan, which is often found in larger computing devices such as laptop computers and desktop computers. As a result, thermal energy generation is often managed in the PCD through the application of various thermal management techniques, which make the processing core active and idle based on real-time or near real-time workload demands. Transitioning between states can be included. By transitioning the core from the active processing state to the idle state, the power consumption associated with the active state can be avoided when the core is not needed to handle the workload.
しかしながら、コアをアイドル状態にすることは、PCDによってユーザに提供されるサービス品質(「QoS」)に悪影響を及ぼす可能性がある。たとえば、数多くのPCD使用事例は、「バースト負荷」を生成し、コアが、バースト作業負荷を迅速に処理する準備ができているアクティブ状態にない場合には、ユーザ体感は必然的に悪化することになる。結果として、コアをアイドル状態にし、そこから元のアクティブ状態に移行させるために長い待ち時間を有することは、その目的が電力を節約することである場合には望ましい場合があるが、同時に、その目的がバースト負荷中のQoSを最適化することである場合には、望ましくない。 However, putting the core in an idle state can adversely affect the quality of service (“QoS”) provided to the user by the PCD. For example, many PCD use cases generate a “burst load” and the user experience will inevitably worsen if the core is not in an active state ready to handle burst workloads quickly. become. As a result, having a long latency to put the core into an idle state and transition from it to the original active state may be desirable if the goal is to save power, but at the same time It is undesirable if the goal is to optimize QoS during burst loads.
したがって、コアが元のアクティブ状態に移行されるときに、待ち時間を最小化するように、PCD内の全電力バジェット(power budget)の観点からコアアイドル状態の選択を最適化するための方法およびシステムが当該技術分野において必要とされている。 Therefore, a method and method for optimizing the core idle state selection from the perspective of the total power budget within the PCD and to minimize latency when the core is transitioned to the original active state A system is needed in the art.
ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のための方法およびシステムの種々の実施形態が開示される。PCDにおけるアイドル状態最適化のための例示的な方法は、PCDのための電力バジェットを決定することを含む。とりわけ、PCDのためのフォームファクタは変化するので、当業者は、PCDの特定のフォームファクタに応じて、許容可能または最大電力バジェットが異なる場合があることは認識されよう。次に、すべての処理コアのための総電力消費量レベルを電力バジェットと比較することができ、電力バジェットより低い場合には、アイドル状態において動作しているコアが、異なるアイドル状態に移行するのに相応しい(eligible)と特定することができる。 Various embodiments of methods and systems for idle state optimization in a portable computing device (“PCD”) are disclosed. An exemplary method for idle state optimization in PCD includes determining a power budget for PCD. In particular, since the form factor for the PCD varies, those skilled in the art will recognize that the allowable or maximum power budget may vary depending on the particular form factor of the PCD. The total power consumption level for all processing cores can then be compared to the power budget, and if lower than the power budget, the core operating in the idle state transitions to a different idle state. Can be identified as being eligible.
相応しいコア(eligible core)の動作温度に基づいて、相応しいコアのうちの1つまたは複数が第1のアイドル状態(たとえば、電力急減アイドル状態)から第2のアイドル状態(たとえば、「割込み待ち」アイドル状態)に移行する場合に、総電力消費量への起こり得る影響を判断することができる。1つまたは複数のコアを異なるアイドルに移行させても、総電力消費量が電力バジェットを超えるほど増加しない場合には、1つまたは複数のコアは移行することができる。その際に、必要になった場合には、移行したコアをアイドル状態からアクティブ状態にするのに関連付けられる待ち時間値は短縮することができる。その結果として、他の場合なら長い待ち時間を有するアイドル状態にあるアイドルコアを、アクティブ状態に迅速に移行し、作業負荷を処理するようにより良好に位置付けることができるので、ユーザ体感およびQoSが改善される場合がある。 Based on the operating temperature of the eligible core, one or more of the appropriate cores are in the first idle state (e.g., a sudden power down idle state) to the second idle state (e.g., `` waiting for interrupt '' idle) When transitioning to (state), it is possible to determine the possible impact on the total power consumption. If transitioning one or more cores to a different idle does not increase the total power consumption beyond the power budget, the one or more cores can transition. In doing so, if needed, the latency value associated with transitioning the transitioned core from the idle state to the active state can be reduced. As a result, idle cores that are otherwise idle with long latencies can be better positioned to quickly transition to the active state and handle the workload, improving user experience and QoS May be.
図面では、別段の指示がない限り、種々の図の全体を通して、同じ参照番号は同じ部分を参照する。「102A」または「102B」などの文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することが意図されるとき、参照番号に対する文字指定は省略される場合がある。 In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise indicated. For reference numbers with character designations such as “102A” or “102B”, the character designation can distinguish between two similar parts or elements present in the same figure. When a reference number is intended to encompass all parts having the same reference number in all figures, the character designation for the reference number may be omitted.
「例示的」という用語は、本明細書では「一例、事例、または実例として役立つ」ことを意味するように使用される。「例示的」として本明細書で説明されるいずれの態様も、排他的であるか、他の態様より好ましいか、または有利であると、必ずしも解釈されるべきでない。 The term “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any aspect described herein as "exemplary" is not necessarily to be construed as exclusive, preferred or advantageous over other aspects.
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの、実行可能な内容物を有するファイルを含むこともできる。さらに、本明細書において参照される「アプリケーション」は、また、公開されることが必要な場合がある文書またはアクセスされる必要がある他のデータファイルなどの、本質的に実行可能でないファイルを含む場合もある。 As used herein, the term “application” can also include files with executable content, such as object code, scripts, bytecodes, markup language files, and patches. In addition, an “application” as referred to herein also includes files that are not inherently executable, such as documents that may need to be published or other data files that need to be accessed. In some cases.
本明細書において用いられるとき、「構成要素」、「データベース」、「モジュール」、「システム」、「熱エネルギー発生構成要素」、「処理構成要素」、「処理エンジン」、「アプリケーションプロセッサ」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連エンティティを指すことを意図しており、機能を提供し、かつ本明細書において説明されるプロセスまたはプロセスフローにおける特定のステップを実行するための例示的な手段を表す。たとえば、構成要素は、限定はしないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータとすることができる。例示として、コンピューティングデバイス上で実行されるアプリケーションと、コンピューティングデバイスの両方を構成要素とすることができる。1つまたは複数の構成要素は、プロセス内および/または実行のスレッド内に存在している場合があり、構成要素は、1つのコンピュータに局在する場合があり、および/または、2つ以上のコンピュータ間で分散される場合がある。さらに、これらの構成要素は、そこに記憶される種々のデータ構造を有する種々のコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、ローカルシステム内、分散システム内の別の構成要素とやりとりし、および/または、信号によって他のシステムとインターネットなどのネットワークにわたってやりとりする、1つの構成要素からのデータ)を有する信号などに従って、ローカルおよび/またはリモートプロセスを介して通信することができる。 As used herein, “component”, “database”, “module”, “system”, “thermal energy generation component”, “processing component”, “processing engine”, “application processor”, etc. The term is intended to refer to a computer-related entity that is either hardware, firmware, a combination of hardware and software, software, or running software, provides functionality, and is used herein. Fig. 4 represents an exemplary means for performing a particular step in the described process or process flow. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components may exist in a process and / or in a thread of execution, a component may be localized on one computer, and / or two or more May be distributed among computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. A component is a single or multiple data packets (e.g., interacting with another component in a local system, distributed system, and / or signaling to another system over a network such as the Internet Can communicate via local and / or remote processes, eg according to signals having data) from components.
本明細書では、「中央処理装置」(「CPU」)、デジタルシグナルプロセッサ(「DSP」)、「チップ」、および「チップセット」という用語は、PCD中に存在する場合がある処理構成要素の非限定的な例であり、別段に規定されている場合を除き、互換的に使用される。さらに、本明細書において区別されるように、CPU、DSP、またはチップもしくはチップセットは、本明細書において一般に「コア」と呼ばれる1つまたは複数の別個の処理構成要素から構成することができる。 As used herein, the terms “central processing unit” (“CPU”), digital signal processor (“DSP”), “chip”, and “chipset” refer to processing components that may be present in a PCD. This is a non-limiting example, and is used interchangeably unless otherwise specified. Further, as distinguished herein, a CPU, DSP, or chip or chipset may be comprised of one or more separate processing components, commonly referred to herein as a “core”.
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定することができるエネルギーを生成または散逸させることが可能なデバイスまたは構成要素に関連付けて使用される場合があることは理解されよう。その結果、「温度」という用語は、「熱エネルギー」を生成するデバイスまたは構成要素の、相対的な暖かさまたは熱の欠如を示すことができる、何らかの基準値に対する任意の測定値を想定することはさらに理解されよう。たとえば、2つの構成要素が「熱」平衡にあるとき、2つの構成要素の「温度」は、同じである。 As used herein, the terms “heat” and “thermal energy” may be used in connection with a device or component capable of generating or dissipating energy that can be measured in units of “temperature”. It will be understood that there is. As a result, the term “temperature” assumes any measurement relative to some reference value that can indicate the relative warmth or lack of heat of the device or component that produces “thermal energy”. Will be further understood. For example, when two components are in “thermal” equilibrium, the “temperature” of the two components is the same.
本明細書では、「作業負荷」、「処理負荷」および「処理作業負荷」という用語は互換的に使用され、全般的に、所与の実施形態において所与の処理構成要素に関連付けられるか、または割り当てられる場合がある処理負担または処理負担のパーセンテージに向けられる。同様に、「バースト負荷」という用語は、待ち行列に入れられた他の作業負荷より高い優先順位付けを必要とし、それゆえ、ユーザ体感を最適化するために直ちに処理されるべきである作業負荷を示すために用いられる。バースト負荷はさらに、直ちに処理する必要があるだけでなく、相対的に高い処理容量を必要する相対的に大きな作業負荷を表す場合がある。 As used herein, the terms “workload”, “processing workload” and “processing workload” are used interchangeably and are generally associated with a given processing component in a given embodiment, Or directed to the processing burden or percentage of processing burden that may be allocated. Similarly, the term “burst load” requires a higher prioritization than other queued workloads and therefore should be processed immediately to optimize the user experience. Used to indicate The burst load may further represent a relatively large workload that not only needs to be processed immediately, but also requires a relatively high processing capacity.
上記で定義されるものに加えて、「処理構成要素」は、限定はしないが、中央処理装置、グラフィカル処理ユニット、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路内または外にある任意の構成要素とすることができる。さらに、「熱負荷」、「熱分布」、「熱シグネチャ」、「熱処理負荷」などの用語が処理構成要素上で実行される場合がある作業負荷の負担を示す限り、本開示におけるこれらの「熱」の用語の使用が、処理負荷の分布、作業負荷の負担および電力消費量に関連する場合があることは、当業者は認識するだろう。 In addition to those defined above, a “processing component” includes, but is not limited to, a central processing unit, graphical processing unit, core, main core, sub-core, processing area, hardware engine, etc., or portable computing device It can be any component within or outside the integrated circuit. Further, as long as terms such as “heat load”, “heat distribution”, “thermal signature”, “heat treatment load” indicate the workload burden that may be performed on the processing component, these “ One skilled in the art will recognize that the use of the term “heat” may relate to processing load distribution, workload burden and power consumption.
本明細書では、「熱軽減技法」、「熱ポリシー」、「熱管理」、および「熱軽減措置」という用語は、互換的に使用される。 As used herein, the terms “thermal mitigation technique”, “thermal policy”, “thermal management”, and “thermal mitigation measures” are used interchangeably.
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、電池などの限られた容量の電源で動作する任意のデバイスを説明するために使用される。電池で動作するPCDは、数十年にわたって使われてきたが、第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術の出現に結び付けられる、充電式電池における技術的進歩により、多数の機能を有する数多くのPCDが可能になった。したがって、PCDは、数ある中でも、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、タブレット、スマートブックまたはリーダ、メディアプレーヤ、上述のデバイスの組合せ、ワイヤレス接続を有するラップトップコンピュータとすることができる。 As used herein, the term “portable computing device” (“PCD”) is used to describe any device that operates from a limited capacity power source, such as a battery. Battery-operated PCDs have been used for decades, but the technological advancements in rechargeable batteries are linked to the emergence of third-generation (“3G”) and fourth-generation (“4G”) wireless technologies Has enabled many PCDs with many functions. Therefore, PCD should be a cell phone, satellite phone, pager, PDA, smartphone, navigation device, tablet, smart book or reader, media player, combination of the above devices, laptop computer with wireless connection, among others Can do.
本明細書では、「待ち時間」という用語は一般に、所与の処理構成要素が、バースト作業負荷のような作業負荷を処理するために、特定のアイドル状態からアクティブ状態に移行するのに要する時間を参照するために用いられる。複数のアイドル状態が、所与の例示的なコアのために利用可能な場合があり、アイドル状態ごとのコアの待ち時間および漏洩電力に基づいて互いに区別することができる。一般的に言うと、特定のアイドル状態に関連付けられる待ち時間が長いほど、漏洩率が低い(すなわち、電力消費量が少ない)。したがって、当業者は理解するように、長い待ち時間に関連付けられるアイドル状態は、より良好な電力節約をもたらすことができ、対照的に、高い漏洩率に関連付けられるアイドル状態は、PCD内のさらなる処理能力が必要とされるときに、より良好なQoSをもたらすことができる。 As used herein, the term “latency” generally refers to the time required for a given processing component to transition from a particular idle state to an active state in order to process a workload, such as a burst workload. Used to refer to Multiple idle states may be available for a given exemplary core and can be distinguished from each other based on core latency and leakage power for each idle state. Generally speaking, the longer the latency associated with a particular idle state, the lower the leakage rate (ie, the lower the power consumption). Thus, as those skilled in the art will appreciate, idle states associated with long latencies can provide better power savings, in contrast, idle states associated with high leakage rates can be further processed in the PCD. Better QoS can be provided when capacity is needed.
例示的な実施形態を説明する便宜上、本明細書は3つのアイドル状態、すなわち、「割込み待ち」(「WFI」)アイドル状態、保持アイドル状態および電力急減アイドル状態を説明する。そうではあっても、システムおよび方法の実施形態は、3つのアイドル状態だけに、またはアイドル状態の任意の特定の組合せに限定されない。当業者には理解されるように、任意の数のアイドル状態がPCDにおいて利用可能であり、利用される場合があり、そのような各状態が様々な待ち時間レベルおよび電力節約レベルを提供する。有利には、アイドル状態最適化のためのシステムおよび方法の実施形態は、QoSおよびユーザ体感を最適化するために、利用可能なアイドル状態に関連付けられる異なる待ち時間および電力節約を認識し、かつこれらの相違を利用する。QoSおよびユーザ体感は、個々のコアの種々のアイドル状態への戦略的な割り当てと、アイドル状態とアクティブ処理状態との間の移行との両方を通して、種々の実施形態によって最適化される。アイドル状態およびアクティブ状態への割り当ておよびその間の移行は、電力節約目標(すなわち、熱軽減目標)と、QoS/ユーザ体感目標(すなわち、作業負荷、特にバースト負荷の効率的な処理)とのバランスをとるときに、特定のPCDの全電力バジェットを考慮するアイドル状態最適化アルゴリズムを適用することを通して決定される。 For purposes of describing the exemplary embodiment, this specification describes three idle states: a “wait for interrupt” (“WFI”) idle state, a hold idle state, and a power diminishing idle state. Even so, embodiments of the system and method are not limited to only three idle states, or any particular combination of idle states. As will be appreciated by those skilled in the art, any number of idle states are available and may be utilized in the PCD, each such state providing various latency and power saving levels. Advantageously, embodiments of systems and methods for idle state optimization recognize different latency and power savings associated with available idle states and optimize these to optimize QoS and user experience Take advantage of the differences. QoS and user experience are optimized by various embodiments both through strategic assignment of individual cores to various idle states and transitions between idle and active processing states. Allocation to and transition between idle and active states balances power saving goals (i.e. thermal mitigation goals) with QoS / user experience goals (i.e. efficient handling of workloads, especially burst loads). Is determined through applying an idle state optimization algorithm that takes into account the total power budget of a particular PCD.
特に、処理コアがWFIアイドル状態に入ったとき、そのプロセッサクロックは、割込みまたはデバッグイベントが発生するまで、停止するか、または「ゲートオフ」される。その場合に、コアはもはや、作業負荷を処理するためのアクティブ状態にはなく(それゆえ、電力消費量を節約し)、割込み(バースト負荷を処理するためなど)が検出された場合、いつでもアクティブ状態に迅速に戻ることができる状態のままである。WFIアイドル状態にあるときに、コアが作業負荷を処理するための電力を消費しない場合であっても、コアに電圧が印加され続けており、無視できないほどの電流が必然的に、漏れ電流の形で、コアの電源レール上に残っている。とりわけ、漏れ電流は、コアの温度(すなわち、接合温度)と直接相関がある可能性があり、それゆえ、コアの温度の測定値を用いて、現在の電力消費率を計算できる(コアがなり得る場合があるアイドル状態に関係なく)ことは、当業者は認識されよう。 In particular, when a processing core enters a WFI idle state, its processor clock is stopped or “gated off” until an interrupt or debug event occurs. In that case, the core is no longer in the active state to handle the workload (thus saving power consumption) and active whenever an interrupt (such as to handle a burst load) is detected It remains in a state where it can quickly return to the state. When in the WFI idle state, even if the core does not consume power to handle the workload, the voltage continues to be applied to the core and a non-negligible current will inevitably result in leakage current. In shape, it remains on the core power rail. Among other things, leakage current can be directly correlated with the core temperature (i.e. junction temperature), so the measured core temperature can be used to calculate the current power consumption rate (the core becomes Those skilled in the art will recognize that (regardless of the idle state that may be obtained).
保持アイドル状態は、保持状態にある処理コアが、クロックゲーティングされているという点で、WFIアイドル状態に類似である。とは言っても、さらに、保持状態にあるとき、処理コアに供給される電力電圧も低減される。WFI状態より優れた保持状態の利点は、保持状態に関連付けられる漏れ電流が少なく、それゆえ、WFI状態より、保持状態における電力節約が改善されることである。しかしながら、とりわけ、プロセッサが保持アイドル状態からアクティブ状態に戻るための待ち時間は、WFI状態からの移行に比較して長くなる。 The retained idle state is similar to the WFI idle state in that the processing core in the retained state is clocked. Nevertheless, the power voltage supplied to the processing core is also reduced when in the hold state. The advantage of the hold state over the WFI state is that there is less leakage current associated with the hold state, and therefore power savings in the hold state are improved over the WFI state. However, among other things, the waiting time for the processor to return from the holding idle state to the active state is longer than the transition from the WFI state.
第3の例示的なアイドル状態は電力急減アイドル状態である。保持アイドル状態と比較して、電力急減アイドル状態に入る処理コアは完全にクロック供給され、その電源レールから全電力が除去される。結果として、電力急減アイドル状態に関連付けられる電力節約は、WFI状態および保持状態より改善される。しかしながら、電力急減アイドル状態に関連付けられる待ち時間は、アクティブ状態に戻るためにコアがウォームブートシーケンスを通らなければならないので、3つのすべての例示的な状態の持続時間の中で最も長い。 A third exemplary idle state is a power dip idle state. Compared to the hold idle state, the processing core that enters the power droop idle state is fully clocked and all power is removed from its power rail. As a result, the power savings associated with the power steep idle state is improved over the WFI state and the hold state. However, the latency associated with the power dip idle state is the longest of all three exemplary state durations because the core must go through a warm boot sequence to return to the active state.
再び、例示的な処理構成要素が利用可能な場合がある上記の3つのアイドル状態の全般的な説明と、それらアイドル状態を参照することは、例示のためにのみ提供されており、本システムおよび方法の実施形態が3つのアイドル状態に対してのみ適用可能であることを意味したり、示唆したりするつもりはない。本システムおよび方法の実施形態によって、任意の数のアイドル状態が利用される場合があることが考えられる。いくつかのアイドル状態は、プロセッサをクロックゲーティングし、および/またはソフトウェアによってその電力供給を低減することができるが、他のアイドル状態はハードウェアによってそうすることができる。同様に、処理構成要素へのクロックゲーティングおよび電力低減に加えて、いくつかのアイドル状態はさらに、メモリ、ドライバ、バスハードウェアなどをオフに切り替えることができる。しかしながら、一般的に、電力を保存するために所与のアイドル状態において講じられる措置が極端であるほど、そのアイドル状態にあるプロセッサがアクティブ処理状態に戻るのに要する時間が長くなる。 Again, a general description of the above three idle states where exemplary processing components may be available, and references to those idle states are provided for illustrative purposes only, and the system and There is no intention to imply or suggest that the method embodiment is applicable only to three idle states. It is contemplated that any number of idle states may be utilized by embodiments of the present system and method. Some idle states can clock gate the processor and / or reduce its power supply by software, while other idle states can do so by hardware. Similarly, in addition to clock gating and power reduction to processing components, some idle states can also switch off memory, drivers, bus hardware, etc. In general, however, the more extreme the action taken in a given idle state to conserve power, the longer it takes for an idle processor to return to the active processing state.
とりわけ、所与の温度および所与のアイドル状態において動作しているときに、すべての処理コアが同等の電力節約および待ち時間を示すことになるとは限らないと考えられる。当業者は理解するように、同じアイドル状態にあり、同じ動作温度にあるときの種々の処理コアの性能特性は、限定はしないが、異なるシリコンレベル、設計変更などを含む、任意の数の理由によって異なる場合がある。さらに、任意の所与の処理コアに関連付けられる性能特性は、処理コアの動作温度、アイドル状態に従ってその処理構成要素に供給される電力などとの関係で変化する場合があることを、当業者は認識されよう。 In particular, it is believed that not all processing cores will exhibit equivalent power savings and latency when operating at a given temperature and a given idle state. As those skilled in the art will appreciate, the performance characteristics of the various processing cores when in the same idle state and at the same operating temperature can be any number of reasons, including but not limited to different silicon levels, design changes, etc. May vary. Further, those skilled in the art will appreciate that the performance characteristics associated with any given processing core may vary in relation to the operating temperature of the processing core, the power supplied to that processing component according to idle conditions, etc. Be recognized.
たとえば、概して実行能力が低から高まで幅があるいくつかの異なる処理コアを含む場合がある例示的なヘテロジニアスマルチコアプロセッサについて考える(特に、各々が1つまたは複数のコアを含むいくつかの異なる処理構成要素を含む場合がある例示的なヘテロジニアスマルチプロセッサシステムオンチップ(「SoC」)も考えることができることを当業者は認識されよう)。当業者によって理解されるように、ヘテロジニアスプロセッサ内の低容量から中容量の処理コアは、所与のアイドル状態において、より低い電力漏洩率を示し、その結果、相対的に高い実行容量を有し、同じアイドル状態にある処理コアよりも、低い熱エネルギー発生率を示す。これらの理由から、大容量のコアはバースト負荷を処理するのに最も望ましい場合があるが、低容量のコアは、低い漏洩率によって全電力バジェットが超えられないので、特定のシナリオにおいてWFIアイドル状態に指定するのにより望ましい場合がある。 For example, consider an exemplary heterogeneous multi-core processor that may include several different processing cores that generally range in execution capability from low to high (particularly several different, each including one or more cores) One skilled in the art will recognize that an exemplary heterogeneous multiprocessor system on chip (“SoC”) may also be considered that may include processing components). As will be appreciated by those skilled in the art, low to medium capacity processing cores within heterogeneous processors exhibit a lower power leakage rate at a given idle state, resulting in a relatively high execution capacity. However, it exhibits a lower heat energy generation rate than the processing core in the same idle state. For these reasons, high capacity cores may be most desirable to handle burst loads, but low capacity cores cannot be exceeded in full power budget due to low leakage rates, so in certain scenarios WFI idle state It may be more desirable to specify
図1は、所与のアイドル状態および接合温度の場合の、PCDの所与のクアドコアチップセット内の例示的なコア0、1、2および3に関連付けられる待ち時間および漏洩率を示すグラフである。とりわけ、本明細書では、種々の実施形態の特定の特徴および態様がクアドコアチップセットに関して説明されるが、それらの実施形態が任意のマルチコアまたはシングルコアチップにおいて適用できることは当業者には認識されよう。
FIG. 1 is a graph showing latency and leakage rates associated with
例示では、所与の接合温度およびアイドル状態の場合に、各コアは、待ち時間および電力消費量に関して特有の性能特性を示す。コア0は、相対的に速くアクティブ処理状態に戻ることができるが(コア0待ち時間)、相対的に高い漏洩電力レベルも有する(コア0漏洩)。コア1はコア0および3よりアクティブ処理状態に戻るのに相対的に時間がかかることになるが、コア2ほど遅くはない。コア1のIDDq評価(コア1漏洩)によれば、漏洩率に関してコアのうち2番目に高い効率である。
Illustratively, for a given junction temperature and idle state, each core exhibits unique performance characteristics with respect to latency and power consumption. Core 0 can return to the active processing state relatively quickly (core 0 latency), but also has a relatively high leakage power level (core 0 leakage). Core 1 will take more time to return to the active processing state than Cores 0 and 3, but not as late as
有利には、待ち時間および零入力漏洩率がコア間で異なることは、種々のアイドル状態に移行するのに最も適した処理構成要素を選択するために、アイドル状態選択(「ISS」)モジュールによって利用することができ、それにより、バースト負荷を処理するための待ち時間を無用に長くすることなく、PCD内の電力消費量が管理される。たとえば、図1のグラフにおいて表される所与のアイドル状態がWFIアイドル状態であり、コア3が現在、電力急減アイドル状態にある場合には、バースト負荷が処理を必要とする場合にコア3の待ち時間が最小化されるように、ISSモジュールは、コア3を電力急減アイドル状態からWFIアイドル状態に移行することを選択することができる。その例をさらに進めると、コア3を電力急減状態からWFIアイドル状態に移行するという選択を行う際に、ISSは、コア3に関連付けられる漏洩率増加がPCDの全電力バジェットに影響を及ぼすことを認識することができる。それでも、突然の通告においてその処理容量が必要とされる場合には、コア3をWFIアイドル状態にすることによって表される消費電力量増加より、その待ち時間を短縮するという利点が勝る場合がある。このようにして、全電力バジェットを超えることなく、待ち時間において評価される場合があるようなユーザ体感が最適化されるように、ISSモジュールは、作業負荷を能動的に処理するために使用されないコア(コア3だけでない)ごとにアイドル状態を効率的に選択するように働く。 Advantageously, the latency and quiescent leakage rates differ between cores by the idle state selection (“ISS”) module to select the most suitable processing component to transition to various idle states. Can be utilized, thereby managing power consumption in the PCD without unnecessarily increasing the latency to handle burst loads. For example, if the given idle state represented in the graph of FIG. 1 is a WFI idle state, and core 3 is currently in a power-sag idle state, core 3 will In order to minimize latency, the ISS module can choose to transition the core 3 from the power down idle state to the WFI idle state. Taking the example further, when making a choice to move Core 3 from a power declining state to a WFI idle state, the ISS will see that the increase in leakage rate associated with Core 3 affects the total power budget of PCD. Can be recognized. Nevertheless, if the processing capacity is required in a sudden notification, the advantage of shortening the waiting time may be better than the increase in power consumption expressed by putting the core 3 in the WFI idle state. . In this way, the ISS module is not used to actively handle the workload so that the user experience that may be evaluated in latency is not exceeded without exceeding the total power budget. It works to efficiently select the idle state for each core (not just core 3).
図2は、ヘテロジニアスマルチコアPCD100におけるアイドル状態選択および最適化のためのオンチップシステム102の一実施形態を示す機能ブロック図である。先に説明されたように、アイドル状態最適化のためのシステムおよび方法の実施形態は、1つまたは複数の処理コアを有する任意のSoCにおいて用いられる場合があり、コアはヘテロジニアスであっても、なくてもよいと考えられる。しかしながら、種々の動作温度において、そして異なるアイドル状態内でのコアの種々の性能特性が、PCDの全電力バジェットを管理することを考慮して待ち時間を最小化する際に、大きな自由度を提示することができるので、本システムおよび方法の実施形態は、ヘテロジニアスマルチコアPCDにおいて特に有用な場合があるとさらに考えられる。このために、本明細書における例示的な実施形態は、ヘテロジニアスマルチコアPCDとの関連において主に説明されるが、アイドル状態最適化システムおよび方法の実施形態が、ヘテロジニアスマルチコア処理構成要素を含むPCDに限定されないことを、当業者は認識されよう。
FIG. 2 is a functional block diagram illustrating one embodiment of an on-
図2の例示を参照すると、アイドル状態選択(「ISS」)モジュール101は、ヘテロジニアスマルチコアプロセッサ110と、モニタモジュール114と、スケジューラ207と、アイドル状態ルックアップテーブル(「LUT」)24と通信する。動作時に、モニタモジュール114は、数ある中でも、コア222、224、226および228のそれぞれに関連付けられる接合温度をモニタするためにそれぞれ位置付けられる場合がある温度センサ157を監視している。監視された温度は、コアの動作温度と見なすことができ、先に説明されたように、コア222、224、226および228のそれぞれによって消費されている電力に相関がある。
Referring to the illustration of FIG. 2, an idle state selection (“ISS”)
ISSモジュール101は、温度センサ157によって測定されたような温度をモニタモジュール114を介して受信し、その温度と、各コアの現在の状態(アクティブ状態であるか、アイドル状態であるか)とに基づいて、LUT24に問い合わせる。コアごとに、その温度および特定の状態に応じて、ISSモジュール101は、図1に示されるグラフに類似のデータを問い合わせることができる。また、所与のコアの場合に、ISSモジュール101は、その現在の動作状態以外の動作状態に移行する場合には、コアの性能特性を判断するために、LUT24に問い合わせることができる。ISSモジュール101は、コア222、224、226および228のいずれかがアクティブ動作状態にあることを通して、現在利用できない処理容量を必要とする場合がある待ち行列内の作業負荷を特定または判断するために、スケジューラ207とさらに通信することができる。
The
種々の問い合わせおよび監視されたデータから、ISSモジュール101は、すべてのコア222、224、226および228の現在の電力消費量を計算することができ、それをPCD100に関連付けられる全電力バジェットと比較することができる。全電力バジェットが超えられる(または全電力バジェットに関連付けられる閾値が超えられる)場合には、ISSモジュール101は、移行に関連付けられる電力節約が、移行したコアがアクティブコアとしてオンラインに戻るように求められた場合に追加される待ち時間に関してトレードオフとなることを認識して、コア222、224、226および228のうちの1つまたは複数をアクティブ状態からアイドル状態に、またはアイドル状態から異なるアイドル状態に移行することを選ぶことができる。しかしながら、全電力バジェットに余裕(headroom)がある場合には、ISSモジュール101は、アクティブ状態に、または短い待ち時間に関連付けられるアイドル状態に移行するために、コア222、224、226および228のうちの1つまたは複数を選択することができる。その際に、ISSモジュール101は、突然の作業負荷増加(または、待ち行列内の次回の作業負荷増加)に迅速に対処するために、移行したコアが必要とされる場合には、「直ちに応じられる」アイドル状態への移行(保持アイドル状態からWFIアイドル状態への移行など)に関連付けられる電力消費量の増加より、待ち時間の短縮が優先されることになると認識することができる。
From various queries and monitored data, the
1つの状態から別の状態に移行するためにISSモジュール101によってコア222、224、226および228を選択することに関して、その選択は、PCD100の全電力バジェットと、移行から生じることが見込まれる電力消費量レベルとの比較に基づくことができると考えられる。その比較を行うために、ISSモジュール101は、その現在の動作温度において、複数のアイドル状態に関連して、所与のコアの場合にLUT24に記憶された動作特性を比較することができる。また同様に、コアの消費電力量がその動作温度に相関があることを認識すると、ISSモジュール101は、異なる動作状態にあるときに所与の動作温度において所与のコアに関連付けられる電力消費量レベルを比較して、所与のコアが1つの動作状態から別の動作状態に(たとえば、電力急減アイドル状態からWFIアイドル状態に)移行する場合に、PCD100の全電力消費量に及ぼし得る影響を判断することができる。
With respect to selecting the
とりわけ、図2の例示は、コアが1つの動作状態から別の動作状態に移行した場合に、待ち時間および電力消費量に及ぼし得る影響を判断するためにLUT24に問い合わせるアイドル状態最適化システムおよび方法の一実施形態を表すが、他の実施形態は、LUT24を使用しない場合もあり、代替形態では、影響を計算するために数学関数を使用する場合もあると考えられる。所与の動作状態にあるときにコアの電力消費量は、コアの測定された動作温度から求めることができるので、本システムおよび方法の実施形態は、待ち時間および消費電力量に及ぼし得る影響を簡単に計算できることを、当業者は認識されよう。
In particular, the illustration of FIG. 2 illustrates an idle state optimization system and method that queries the
とりわけ、LUT24の内容は、当業者によって理解されるベンチテストおよびプラットフォーム特性に従って、コア222、224、226および228のそれぞれに関して実験的に収集することができる。本質的に、動作温度および動作状態の組合せごとに、待ち時間およびIDDq漏洩率を含む性能特性は、「工場において」処理構成要素222、224、226および228ごとに測定し、LUT24に記憶する(または関数を生成するために用いる)ことができる。そのデータから、ISSモジュール101は、PCD100またはチップ102の全電力バジェットを超えることなく、待ち時間を最短にするように、コア222、224、226および228のうちのどのコアを1つの動作状態から別の動作状態に移行させることができるかを判断することができる。LUT24が、特定の実施形態に応じて、ハードウェア内に存在する場合があり、および/またはソフトウェアの形をとる場合があることは、当業者には理解されよう。さらに、当業者によって理解されるように、ハードウェアにおけるLUT24は、シリコン内に融合することができ、ソフトウェアの形のLUT24は、ファームウェアに記憶することができる。
In particular, the contents of the
図3は、アイドル状態最適化のための方法およびシステムを実施するためのワイヤレス電話の形のPCD100の例示的な非限定的態様の機能ブロック図である。図示されるように、PCD100は、互いに結合されたヘテロジニアスマルチコア中央処理装置(「CPU」)110およびアナログシグナルプロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を備えることができる。さらに、当業者によって理解されるように、CPU110の代わりにデジタルシグナルプロセッサ(「DSP」)を利用することもできる。さらに、ヘテロジニアスマルチコアプロセッサの技術分野において理解されるように、各コア222、224、230は、異なる最大電圧周波数において作業負荷を処理すること、所与の温度および動作状態において異なるIDDq漏洩率を示すこと、所与のアイドル動作状態からアクティブ状態に移行するために異なる待ち時間を有することなどができる。
FIG. 3 is a functional block diagram of an exemplary non-limiting aspect of a
一般に、ISSモジュール101は、チップ102の全電力バジェットを順守しながら、作業負荷を処理するためにオンラインに戻るための待ち時間が最小化されるように、アイドル状態間でコアを移行させることを含む、アイドル状態最適化ポリシーを監視し、適用する責任を担うことができる。アイドル状態最適化ポリシーの適用は、PCD100が、熱条件および/または熱負荷を管理するのを助け、たとえば、処理するためにバースト負荷がスケジュールされるときなどに、さらなる処理容量を利用可能にする際に無用な待ち時間を回避するのを助けることができる。ISSモジュール101は、モニタモジュール114から温度データと、他の条件インジケータとを受信し、そのデータを用いて、コア222、224、230のうちの1つまたは複数を異なる動作状態に移行させることから生じる場合がある待ち時間および消費電力量への影響を判断することができる。このようにして、ISSモジュール101は、バースト作業負荷に迅速に対応するように1つまたは複数のコアを位置付けることによってユーザ体感を最適化することができ、1つまたは複数のコアを高い消費電力量の動作状態(アクティブ状態など)にしておく必要はない。
In general, the
モニタモジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサ(たとえば、熱センサ157)および構成要素、およびPCD100のCPU110、ならびにISSモジュール101と通信する。とりわけ、モニタモジュール114は、限定はしないが、電源188、タッチスクリーン132、RFスイッチ170などのオフチップ構成要素と通信し、および/または監視することもできる。ISSモジュール101は、1つまたは複数の処理構成要素のアイドル状態を最適化するための機会を与えるPCD内の条件を特定するように、モニタモジュール114と協働することができる。
The
図3に示すように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130は、CPU110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132は、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。PCD100はさらに、ビデオデコーダ134、たとえば位相反転線(「PAL」)デコーダ、順次式カラーメモリ(「SECAM」)デコーダ、全国テレビジョン方式委員会(「NTSC」)デコーダ、または任意の他のタイプのビデオデコーダ134を含むことができる。ビデオデコーダ134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136がビデオデコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138がビデオ増幅器136に結合される。図4に示されるように、ユニバーサルシリアルバス(「USB」)コントローラ140が、CPU110に結合される。また、USBポート142が、USBコントローラ140に結合される。メモリ112および加入者識別モジュール(「SIM」)カード146も、CPU110に結合される場合がある。さらに、図3に示されるように、デジタルカメラ148が、CPU110に結合される場合がある。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
As shown in FIG. 3, display controller 128 and touch screen controller 130 are coupled to
図3にさらに示されるように、ステレオオーディオコーデック150が、アナログシグナルプロセッサ126に結合される場合がある。さらに、オーディオ増幅器152が、ステレオオーディオコーデック150に結合される場合がある。例示的な態様では、第1のステレオスピーカ154および第2のステレオスピーカ156が、オーディオ増幅器152に結合される。図3は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合される場合があることを示す。さらに、マイクロフォン160が、マイクロフォン増幅器158に結合される場合がある。特定の態様では、周波数変調(「FM」)ラジオチューナ162が、ステレオオーディオコーデック150に結合される場合がある。また、FMアンテナ164が、FMラジオチューナ162に結合される。さらに、ステレオヘッドフォン166が、ステレオオーディオコーデック150に結合される場合がある。
As further shown in FIG. 3, a stereo audio codec 150 may be coupled to the analog signal processor 126. Further, an audio amplifier 152 may be coupled to the stereo audio codec 150. In the exemplary embodiment,
図3は、無線周波数(「RF:radio frequency」)トランシーバ168がアナログシグナルプロセッサ126に結合される場合があることをさらに示す。RFスイッチ170は、RFトランシーバ168およびRFアンテナ172に結合される場合がある。図3に示されるように、キーパッド174が、アナログシグナルプロセッサ126に結合される場合がある。また、マイクロフォン付きモノヘッドセット176が、アナログシグナルプロセッサ126に結合される場合がある。さらに、バイブレータデバイス178が、アナログシグナルプロセッサ126に結合される場合がある。図3は、たとえば電池などの電源188が、電力管理集積回路(「PMIC」)180を介してオンチップシステム102に結合されることも示す。特定の態様では、電源188は、充電式DCバッテリー、または交流(「AC」)電力源に接続されたAC-DC変換器から導出されたDC電源を含む。
FIG. 3 further illustrates that a radio frequency (“RF”) transceiver 168 may be coupled to the analog signal processor 126.
CPU110はまた、1つまたは複数の内部のオンチップ熱センサ157Aおよび157B、ならびに1つまたは複数の外部のオフチップ熱センサ157Cに結合される場合がある。オンチップ熱センサ157A、157Bは、垂直PNP構造に基づいており、通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」:very large-scale integration)回路専用である1つまたは複数の絶対温度比例(「PTAT」:proportional to absolute temperature)温度センサを備えることができる。オフチップ熱センサ157Cは、1つまたは複数のサーミスタを備えることができる。熱センサ157は電圧降下を引き起こすことができ、その電圧降下は、アナログデジタル変換器(「ADC」)コントローラ(図示せず)でデジタル信号に変換される。しかしながら、本発明の範囲から逸脱することなく、他の種類の熱センサ157が利用されてもよい。
熱センサ157は、ADCコントローラによって制御され、監視されるのに加えて、1つまたは複数のISSモジュール101および/またはモニタモジュール114によっても制御され、監視される場合がある。ISSモジュール101および/またはモニタモジュール114は、CPU110によって実行されるソフトウェアを備えることができる。しかしながら、本発明の範囲から逸脱することなく、ISSモジュール101および/またはモニタモジュール114はまた、ハードウェアおよび/またはファームウェアから形成される場合もある。ISSモジュール101は、PCD100が、高いレベルの機能容易性を維持しながら、危機的な温度を回避するのを助けることができるアイドル状態最適化ポリシーを監視し、適用する責任を担うことができる。
In addition to being controlled and monitored by the ADC controller, the
図3に戻ると、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカ154、第2のステレオスピーカ156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157C、PMIC180および電源188は、オンチップシステム102の外部にある。しかしながら、モニタモジュール114はまた、PCD100において動作可能なリソースのリアルタイム管理を助けるために、これらの外部のデバイスのうちの1つまたは複数から、アナログシグナルプロセッサ126およびCPU110によって1つまたは複数の指示または信号を受信できることを理解されたい。
Returning to FIG. 3, touch screen display 132, video port 138,
ある特定の態様では、本明細書において説明される方法ステップのうちの1つまたは複数は、1つまたは複数のISSモジュール101を形成するメモリ112に記憶された実行可能命令およびパラメータによって実施することができる。ISSモジュール101を形成するこれらの命令は、本明細書において説明される方法を実行するために、ADCコントローラ103に加えて、CPU110、アナログシグナルプロセッサ126、GPU182、または別のプロセッサによって実行することができる。さらに、プロセッサ110、126、メモリ112、そこに記憶される命令、またはそれらの組合せが、本明細書において説明される方法ステップのうちの1つまたは複数を実行するための手段としての役割を果たすことができる。
In certain aspects, one or more of the method steps described herein are performed by executable instructions and parameters stored in
図4は、アイドル状態最適化技法をサポートするための図3のPCDの例示的なソフトウェアアーキテクチャ200を示す概略図である。1つまたは複数のコアの温度条件、待ち時間値および漏洩率によって正当化されるとき、任意の数のアルゴリズムが、ISSモジュール101によって適用される場合があるアイドル状態最適化方法を形成することができる、またはその一部となることができる。
FIG. 4 is a schematic diagram illustrating an
図4に示されたように、CPUまたはデジタルシグナルプロセッサ110は、バス211を介してメモリ112に結合される。先に言及されたように、CPU110は、N個のコアプロセッサを有するマルチコアヘテロジニアスプロセッサとすることができる。すなわち、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む。当業者には知られているように、第0のコア222、第1のコア224、および第Nのコア230はそれぞれ、専用のアプリケーションまたはプログラムをサポートするのに利用可能であり、ヘテロジニアスコアの一部として、その動作状態に応じて、異なる待ち時間レベルおよび異なるIDDq電流漏洩レベルを示すことができる。代替的には、利用可能なヘテロジニアスコアの2つ以上のコアにわたる処理のために、1つまたは複数のアプリケーションまたはプログラムは分散させることができる。
As shown in FIG. 4, the CPU or
CPU110は、ソフトウェアおよび/またはハードウェアを備えることができるISSモジュール101から、コマンドを受信することができる。ソフトウェアとして具現される場合、ISSモジュール101はCPU110によって実行される命令を含み、CPU110は、CPU110および他のプロセッサによって実行されている他のアプリケーションプログラムにコマンドを発行する。
The
CPU110の第0のコア222、第1のコア224〜第Nのコア230は、単一の集積回路ダイに集積されるか、または、複数回路パッケージにおいて別個のダイ上で集積または結合される場合がある。設計者は、第0のコア222、第1のコア224〜第Nのコア230を、1つまたは複数の共有キャッシュを介して結合することができ、バス、リング、メッシュ、およびクロスバートポロジのようなネットワークトポロジを介して、メッセージまたは命令の伝達を実施することができる。
The
当技術分野で知られているように、バス211は、1つまたは複数の有線接続またはワイヤレス接続を介して複数の通信経路を含むことができる。バス211は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信機のような、簡単にするために省略される追加の要素を有する場合もある。さらに、バス211は、上述の構成要素の間での適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含むことができる。 As is known in the art, the bus 211 can include multiple communication paths via one or more wired or wireless connections. The bus 211 may have additional elements that are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to allow communication. In addition, the bus 211 can include address, control, and / or data connections to allow proper communication between the above-described components.
図4において示されるように、PCD100によって使用される論理がソフトウェアにおいて実施されるとき、開始論理250、管理論理260、アイドル状態最適化インターフェース論理270、アプリケーション記憶装置280内のアプリケーション、およびファイルシステム290の部分のうちの1つまたは複数が、任意のコンピュータ関連システムまたは方法によって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に記憶される場合があることに留意されたい。
As shown in FIG. 4, when the logic used by
本文書の文脈において、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる電子、磁気、光学または他の物理デバイスまたは手段である。種々の論理要素およびデータ記憶装置は、命令実行システム、装置、またはデバイスから命令を取り出し、命令を実行することができる、コンピュータベースのシステム、プロセッサを含むシステム、または他のシステムなどの、命令実行システム、装置またはデバイスによる使用、またはそれらと関係した使用のために、任意のコンピュータ可読媒体において具現することができる。本文書の文脈において、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスによる使用、またはそれらと関係した使用のために、プログラムを記憶、通信、伝搬、または転送することができる任意の手段とすることができる。 In the context of this document, a computer-readable medium is an electronic, magnetic, optical or other physical capable of storing or storing computer programs and data for use by or in connection with a computer-related system or method. It is a device or means. Various logic elements and data storage devices execute instruction, such as a computer-based system, a system including a processor, or other system, that is capable of retrieving instructions and executing instructions from an instruction execution system, apparatus, or device. It can be embodied in any computer readable medium for use by, or in connection with, a system, apparatus or device. In the context of this document, a “computer-readable medium” is any medium capable of storing, communicating, propagating, or transferring a program for use by or in connection with an instruction execution system, apparatus, or device. It can be a means.
コンピュータ可読媒体は、たとえば、限定はしないが、電子、磁気、光学、電磁、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体とすることができる。コンピュータ可読媒体のより具体的な例(非包括的なリスト)を挙げると、以下のもの、すなわち、1つまたは複数のワイヤを有する電気的接続(電子的)、ポータブルコンピュータディスケット(磁気的)、ランダムアクセスメモリ(RAM)(電子的)、リードオンリーメモリ(ROM)(電子的)、消去可能プログラム可能リードオンリーメモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子的)、光ファイバ(光学的)、およびポータブルコンパクトディスクリードオンリーメモリ(CDROM)(光学的)を含むことになる。プログラムは、たとえば、紙または他の媒体の光学的走査を用いて電子的に取り込み、その後、コンパイルし、解釈し、または必要なら別のやり方で適切に処理し、その後、コンピュータメモリに記憶することができるので、コンピュータ可読媒体は、そこにプログラムが印刷されている紙または別の適当な媒体とすることもできることに留意されたい。 The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples of computer readable media (non-comprehensive list) include: electrical connections (electronic) with one or more wires, portable computer diskettes (magnetic), Random access memory (RAM) (electronic), read-only memory (ROM) (electronic), erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electronic), optical fiber (optical), And portable compact disc read only memory (CDROM) (optical). The program may be electronically captured using, for example, optical scanning of paper or other media, and then compiled, interpreted, or otherwise processed as appropriate, and then stored in computer memory It should be noted that the computer readable medium can also be paper on which the program is printed, or another suitable medium.
開始論理250、管理論理260、および場合によってはアイドル状態最適化インターフェース論理270のうちの1つまたは複数がハードウェアにおいて実現される代替の実施形態では、種々の論理は、それぞれ当技術分野でよく知られている以下の技術、すなわち、データ信号に対する論理機能を実施するための論理ゲートを有する個別の論理回路、適切な組合せ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などのうちのいずれか、またはその組合せによって実現することができる。
In alternative embodiments where one or more of
メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスである。単一のデバイスとして示されるが、メモリ112は、デジタルシグナルプロセッサ110(または、さらなるプロセッサコア)に結合される別々のデータ記憶装置を用いる分散メモリデバイスとすることができる。
The
開始論理250は、異なる動作状態に移行するために、第0のコア222、第1のコア224〜第Nのコア230のような利用可能なコアの動作状態を判断し、そのうちの1つまたは複数を選択するための選択プログラムを選択的に特定し、ロードし、実行するための1つまたは複数の実行可能命令を含む。管理論理260は、アイドル状態最適化プロセッサを終了し、より適した代替プログラムを選択的に特定し、ロードし、実行するための1つまたは複数の実行可能命令を含む。管理論理260は、実行時間に、またはPCD100が電源を入れられ、デバイスの操作者によって使用されている間に、これらの機能を実行するように構成される。代替プログラムは、組込みファイルシステム290のプログラム記憶装置296において見つけることができる。
The
代替プログラムは、デジタルシグナルプロセッサのコアプロセッサのうちの1つまたは複数よって実行されるときに、ISSモジュール101および/またはモニタモジュール114によって提供される1つまたは複数の信号に従って動作することができる。これに関連して、モジュール114は、ISSモジュール101から生じる制御信号に応答して、接合温度の1つまたは複数のインジケータを与えることができる。
The alternative program may operate according to one or more signals provided by the
インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、またはそうでなければ更新するために、外部入力を提示し、外部入力を管理し、外部入力と相互にやりとりするための1つまたは複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者入力とともに動作することができる。これらの入力は、プログラム記憶装置296から削除されるか、またはプログラム記憶装置296に加えられることになる1つまたは複数のプログラムを含むことができる。代替的には、入力は、プログラム記憶装置296内のプログラムのうちの1つまたは複数への編集または変更を含むことができる。さらに、入力は、開始論理250および管理論理260の一方または両方に対する1つまたは複数の変更、または全体的な代替を特定することができる。一例として、入力は、PCD100の皮膚温度が特定の閾値を下回るときに全電力バジェットの増加を認識するようにISSモジュール101に指示する管理論理260への変更を含むことができる。
インターフェース論理270により、製造業者が、PCD100の規定された動作条件下で、エンドユーザの体感を制御可能に構成および調整できるようになる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーション記憶装置280内のアプリケーションプログラム、または組込みファイルシステム290内の情報のうちの1つまたは複数は、編集できるか、代替できるか、または別のやり方で変更できる。いくつかの実施形態では、インターフェース論理270によって、エンドユーザまたはPCD100の操作者が、開始論理250、管理論理260、アプリケーション記憶装置280内のアプリケーション、および組込みファイルシステム290内の情報を検索、場所特定、変更または代替できるようになる場合がある。操作者は、結果として構成されたインターフェースを用いて、PCD100の次の開始時に実施されることになる変更を加えることができる。代替的には、操作者は、結果として構成されたインターフェースを用いて、実行時間中に実施される変更を加えることができる。
組込みファイルシステム290は、階層的に構成されたアイドル状態ルックアップテーブル24を含む。これに関連して、ファイルシステム290は、特定の動作温度において、特定の動作状態(保持アイドル状態またはWFIアイドル状態など)に従って動作するときに、種々のコア222、224、226、228の性能特性に関連付けられる情報を記憶するための、全ファイルシステム容量のうちの予約部分を含むことができる。
The embedded
図5は、図3のPCD100におけるアイドル状態最適化のための方法500の一実施形態を示す論理流れ図である。図5の実施形態において、ISSモジュール101は、PCD100、チップ102、プロセッサ110などに関連付けられる全電力バジェットを認識している。当業者によって理解されるように、電力バジェットは目標電力消費量レベルを表しており、理想的には、コア222、224、226、228の総電力消費量によって超えられない。とりわけ、1つの動作状態から別の動作状態に(たとえば、電力急減状態からWFI状態に)移行するためにコア222、224、226、228のうちの1つまたは複数を選択することによって、ISSモジュール101は、コア222、224、226、228の全電力消費量と、アイドル状態にあるコア222、224、226、228のうちの1つまたは複数が作業負荷を処理するために必要とされる場合に受けることになる待ち時間とに直接影響を及ぼすことができる。それゆえ、方法500のブロック505において、最大電力バジェットが求められる。
FIG. 5 is a logic flow diagram illustrating one embodiment of a
ブロック510において、コア222、224、226、228の接合温度(すなわち、動作温度)に関連付けられる温度が、モニタモジュール114によって監視され、ISSモジュール101に与えられる。ブロック515において、監視された温度を用いて、LUT24に問い合わせる。上記のように、LUT24は、コアが特定の温度において、かつ特定の動作モードにおいて動作しているときに、コアの機能特性を表す、コア222、224、226、228ごとのデータを含むことができる。問い合わせから、コアごとの電力漏洩レベルを求めることができる。たとえば、少しだけ図1に戻ると、コアがテーブルによって表される動作状態にあり、そして動作温度にある場合に、コア0、1、2および3のいずれかのための漏洩率を求めることができる。また、先に説明されたように、特定の実施形態では、LUT24に問い合わせる代わりに、その動作温度に基づいてコアの電力消費量レベルを簡単に計算する機能を使用することも考えられる。
At
ブロック520において、すべてのコア222、224、226、228のアクティブ漏洩率が加算され、電力バジェットと比較される。判断ブロック525において、アクティブ漏洩率の総計が、ブロック505において求められた電力バジェットにほぼ一致するか、または超える場合には、「ノー」分岐に従ってブロック510に戻り、方法500はここから継続する。しかしながら、判断ブロック525において、アクティブ漏洩率の総計が電力バジェットより相対的に低い場合には、方法500は「イエス」分岐に従い、ブロック530に進むことができる。
At
方法500がブロック530に進んだ場合には、ISSモジュール101は、電力バジェットを超えることなく待ち時間値が短縮されるように、コア222、224、226、228のうちの1つまたは複数のコアの動作状態を調整する機会を得ることができる。その場合に、ブロック530において、コア222、224、226、228ごとのアクティブ設定を判断する。アクティブ設定は、限定はしないが、現在の動作状態(すなわち、コアがアクティブであるか、アイドル状態にあるか)と、動作温度とを含むことができる。ブロック530において判断された現在の設定から、ISSモジュール101は、異なる動作状態に移行するのに相応しい1つまたは複数のコアを特定することができる。一例として、ISSモジュール101は、コア222が作業負荷をアクティブに処理しているが、コア224および226は電力急減アイドル状態にあり、コア228は保持アイドル状態にあると判断することができる。そのようなシナリオにおいて、ISSモジュール101は、コア224、226および228がすべて、異なるアイドル状態に移行するのに相応しいと結論を出すことができる。
If the
方法500に戻ると、ブロック535において、ISSモジュール101は、相応しいコアごとにLUT24に問い合わせ(または相応しい各コアに関連付けられる関数を使用し)、相応しいコアのうちの1つまたは複数が異なる動作状態に移行する場合に実現することができる電力消費量および待ち時間への影響を判断する。ブロック540において、ISSモジュール101は、移行の種々の組合せの場合の電力消費量レベルを総計することができる。ISSモジュール101が、コア224および226は電力急減アイドル状態にあり、コア228は保持アイドル状態にあると判断する先に与えられた例に戻って参照すると、移行の組合せは、コア226を電力急減にしたまま、コア224を保持状態に、コア228をWFI状態に移行することを含むことができる。とりわけ、移行を行うことによって、コア224および228がバースト負荷をいつでも処理することができるアクティブ状態に移行するのに要する待ち時間を改善することができる。
Returning to
種々の組合せの場合に、アイドル状態移行から生じる場合がある電力消費量に及ぼし得る影響が、判断ブロック545において電力バジェットと比較される。特定された移行組合せのすべての総計が電力バジェットを超える場合には、任意のコアが短縮された待ち時間に関連付けられるアイドル状態に移行するだけの十分な余裕が電力バジェット内に存在しない場合があるので、「ノー」分岐に従ってブロック510に戻る。判断ブロック545に関して、方法500は、最適な移行組合せが特定されるまで、種々の組合せの中を「ループ」できることが考えられる。また、組合せが単一の処理コアのみのための動作状態の移行を含む場合があること、または複数のコアのための移行を含む場合があることも考えられる。
For various combinations, the possible impact on power consumption that may result from idle state transitions is compared at
方法500に戻ると、判断ブロック545において、特定の組合せのコア移行のための電力消費量レベルの予想される総計が、電力バジェット未満であると判断される場合には、「イエス」分岐に従ってブロック550に進み、ISSモジュール101は、特定されたアイドル状態移行を実施する。このようにして、ISSモジュール101は、PCD100の電力消費量および熱エネルギーレベルに過度に影響を及ぼすことなく、作業負荷を処理するためにアイドルコアをオンラインにするのに必要とされる待ち時間が最小化されるように、1つまたは複数のコア222、224、226、228のアイドル状態を最適化することができる。有利には、その際に、ISSモジュール101は、作業負荷処理要求に迅速に対応するように種々のコアの状態を位置付けることによって、ユーザ体感を最適化する。
Returning to
本発明が上記のように機能するために、本明細書において説明されるプロセスまたは処理フローにおける特定のステップが必然的に他のステップに先行する。しかしながら、そのような順序またはシーケンスが本発明の機能性を変更しない場合には、本発明は、記載されるステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、いくつかのステップが、他のステップの前、後、またはそれと並列に(実質的に同時に)実行できることを認識されたい。場合によっては、本発明から逸脱することなく、いくつかのステップが省略されてもよく、または実行されなくてもよい。さらに、「それ以降」、「その後」、「次に」などの語は、ステップの順序を制限することを意図しない。これらの語は単に、例示的な方法の説明を理解できるように読者を導くために使用される。 In order for the present invention to function as described above, certain steps in the process or process flow described herein necessarily precede other steps. However, the invention is not limited to the order of steps described if such order or sequence does not change the functionality of the invention. That is, it will be appreciated that some steps may be performed before, after, or in parallel (substantially simultaneously) with other steps without departing from the scope and spirit of the invention. In some cases, some steps may be omitted or not performed without departing from the invention. Further, terms such as “after that”, “after”, “next” are not intended to limit the order of the steps. These terms are only used to guide the reader to understand the description of the exemplary method.
さらに、プログラミングに関する当業者は、たとえば、本明細書の流れ図および関連する説明に基づいて、開示される発明を難なく実施するために、コンピュータのコードを書くこと、または適切なハードウェアおよび/または回路を特定することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明の作製方法および使用方法を十分に理解するのに必要であるとは見なされない。特許請求されるコンピュータ実施プロセスの本発明の機能性は、種々のプロセスフローを例示する場合がある図面とともに、上述の説明において、より詳細に説明されている。 Further, those skilled in the art of programming can write computer code or appropriate hardware and / or circuitry to implement the disclosed invention without difficulty, for example, based on the flowcharts and associated descriptions herein. Can be specified. Thus, disclosure of a particular set of program code instructions or detailed hardware devices is not considered necessary to fully understand the methods of making and using the present invention. The inventive functionality of the claimed computer-implemented process is described in more detail in the foregoing description, along with drawings that may illustrate various process flows.
1つまたは複数の例示的な態様では、上記の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実施することができる。ソフトウェアにおいて実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶することができるか、またはコンピュータ可読媒体上に送信することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムの1つの場所から別の場所への転送を容易する任意の媒体を含む通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセスすることができる任意の利用可能な媒体とすることができる。例であって、限定はしないが、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を含むことができる。 In one or more exemplary aspects, the functions described above can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer readable media can be RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage device, or instructions or data structure Any other medium that can be used to carry or store the desired program code in the form of and can be accessed by a computer can be included.
また、任意の接続が正当にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア線、デジタル加入者線(DSL)、または、赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用してウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、同軸ケーブル、光ファイバケーブル、ツイストペア線、DSL、または、赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の規定に含まれる。 Also, any connection is legally called a computer readable medium. For example, the software uses a coaxial cable, fiber optic cable, twisted pair wire, digital subscriber line (DSL), or wireless technology such as infrared, wireless, and microwave to websites, servers, or other remote When transmitted from a source, coaxial cables, fiber optic cables, twisted pair wires, DSL, or wireless technologies such as infrared, radio, and microwave are included in the media specification.
ディスク(diskおよびdisc)は、本明細書において使用されるときに、コンパクトディスク(disc)(「CD」)、レーザディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、diskは通常、データを磁気的に再生し、一方、discは、レーザを用いてデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲の中に含まれるべきである。 Discs and discs, as used herein, are compact discs (“CDs”), laser discs (discs), optical discs (discs), digital versatile discs (discs) ) ("DVD"), floppy disk and Blu-ray disc, the disk usually plays data magnetically, while the disc uses a laser to optically reproduce the data. To play. Combinations of the above should also be included within the scope of computer-readable media.
したがって、選ばれた態様が図示され、詳細に説明されてきたが、以下の特許請求の範囲によって定められるような、本発明の趣旨および範囲から逸脱することなく、本発明において種々の代替および改変を行うことができることは理解されよう。 Accordingly, although selected aspects have been shown and described in detail, various alternatives and modifications may be made in the present invention without departing from the spirit and scope of the invention as defined by the following claims. It will be appreciated that can be done.
24 アイドル状態ルックアップテーブル
100 ヘテロジニアスマルチコアPCD
101 アイドル状態選択(ISS)モジュール
102 オンチップシステム
110 ヘテロジニアスマルチコアプロセッサ(CPU)
112 メモリ
114 モニタモジュール
126 アナログシグナルプロセッサ
128 ディスプレイコントローラ
130 タッチスクリーンコントローラ
132 タッチスクリーンディスプレイ
134 ビデオデコーダ
136 ビデオ増幅器
138 ビデオポート
140 ユニバーサルシリアルバス(USB)コントローラ
142 USBポート
146 加入者識別モジュール(SIM)カード
148 デジタルカメラ
150 ステレオオーディオコーデック
152 オーディオ増幅器
154 第1のステレオスピーカ
156 第2のステレオスピーカ
157 温度センサ
157A 温度センサ
157B 温度センサ
157C 温度センサ
158 マイクロフォン増幅器
160 マイクロフォン
162 周波数変調(FM)ラジオチューナ
164 FMアンテナ
166 ステレオヘッドフォン
168 無線周波数(RF)トランシーバ
170 RFスイッチ
172 RFアンテナ
174 キーパッド
176 マイクロフォン付きモノヘッドセット
178 バイブレータデバイス
180 電力管理集積回路(PMIC)
188 電源
207 スケジューラ
211 バス
222 コア
224 コア
226 コア
228 コア
230 コア
250 開始論理
260 管理論理
270 アイドル状態最適化インターフェース論理
280 アプリケーション記憶装置
290 ファイルシステム
296 プログラム記憶装置
24 Idle state lookup table
100 heterogeneous multi-core PCD
101 Idle state selection (ISS) module
102 On-chip system
110 Heterogeneous multi-core processor (CPU)
112 memory
114 Monitor module
126 Analog signal processor
128 display controller
130 Touch screen controller
132 Touch screen display
134 Video decoder
136 Video amplifier
138 video port
140 Universal Serial Bus (USB) controller
142 USB port
146 Subscriber Identification Module (SIM) card
148 Digital camera
150 stereo audio codecs
152 audio amplifier
154 First stereo speaker
156 Second stereo speaker
157 Temperature sensor
157A temperature sensor
157B temperature sensor
157C temperature sensor
158 Microphone amplifier
160 microphone
162 Frequency modulation (FM) radio tuner
164 FM antenna
166 Stereo headphones
168 radio frequency (RF) transceiver
170 RF switch
172 RF antenna
174 keypad
176 Mono headset with microphone
178 Vibrator device
180 Power Management Integrated Circuit (PMIC)
188 power supply
207 Scheduler
211 Bus
222 core
224 core
226 core
228 core
230 cores
250 start logic
260 Management logic
270 Idle state optimization interface logic
280 Application storage
290 file system
296 program storage
Claims (40)
電力バジェットを求めるステップであって、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表す、求めるステップと、
前記複数の処理コアのための現在の総電力消費量レベルを求めるステップと、
前記現在の総電力消費量レベルを前記電力バジェットと比較するステップと、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも1つの相応しい処理コアを第1のアイドル状態から第2のアイドル状態に移行させるステップと
を含み、前記少なくとも1つの相応しい処理コアに関連付けられる待ち時間値は、前記第1のアイドル状態から前記第2のアイドル状態への前記移行によって短縮される、ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のための方法。 A method for idle state optimization in a portable computing device (“PCD”) comprising:
Determining a power budget, wherein the power budget represents a maximum total power consumption level for a plurality of processing cores;
Determining a current total power consumption level for the plurality of processing cores;
Comparing the current total power consumption level to the power budget;
Transitioning at least one suitable processing core from a first idle state to a second idle state if the current total power consumption level is lower than the power budget, the at least one suitable processing A method for idle state optimization in a portable computing device (“PCD”), wherein a latency value associated with a core is reduced by the transition from the first idle state to the second idle state.
アイドル状態選択(「ISS」)モジュールを備え、前記ISSモジュールは、
電力バジェットを求めるように構成され、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表し、
前記複数の処理コアのための現在の総電力消費量レベルを求め、
前記現在の総電力消費量レベルを前記電力バジェットと比較し、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも1つの相応しい処理コアを第1のアイドル状態から第2のアイドル状態に移行させる
ように構成され、前記少なくとも1つの相応しい処理コアに関連付けられる待ち時間値は、前記第1のアイドル状態から前記第2のアイドル状態への前記移行によって短縮される、ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のためのコンピュータシステム。 A computer system for idle state optimization in a portable computing device ("PCD") comprising:
Comprising an idle state selection (“ISS”) module,
Configured to determine a power budget, wherein the power budget represents a maximum total power consumption level for a plurality of processing cores;
Determining a current total power consumption level for the plurality of processing cores;
Comparing the current total power consumption level to the power budget;
If the current total power consumption level is lower than the power budget, the at least one suitable processing core is configured to transition from a first idle state to a second idle state, and the at least one suitable processing core A computer system for idle state optimization in a portable computing device ("PCD"), wherein a latency value associated with a core is reduced by the transition from the first idle state to the second idle state .
電力バジェットを求めるための手段であって、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表す、求めるための手段と、
前記複数の処理コアのための現在の総電力消費量レベルを求めるための手段と、
前記現在の総電力消費量レベルを前記電力バジェットと比較するための手段と、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも1つの相応しい処理コアを第1のアイドル状態から第2のアイドル状態に移行させるための手段とを備え、前記少なくとも1つの相応しい処理コアに関連付けられる待ち時間値は、前記第1のアイドル状態から前記第2のアイドル状態への前記移行によって短縮される、ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のためのコンピュータシステム。 A computer system for idle state optimization in a portable computing device ("PCD") comprising:
Means for determining a power budget, the power budget representing a maximum total power consumption level for a plurality of processing cores;
Means for determining a current total power consumption level for the plurality of processing cores;
Means for comparing the current total power consumption level with the power budget;
Means for transitioning at least one suitable processing core from a first idle state to a second idle state if the current total power consumption level is lower than the power budget, the at least one Latency values associated with appropriate processing cores are shortened by the transition from the first idle state to the second idle state, for idle state optimization in a portable computing device (“PCD”). Computer system.
電力バジェットを求めるステップであって、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表す、求めるステップと、
前記複数の処理コアのための現在の総電力消費量レベルを求めるステップと、
前記現在の総電力消費量レベルを前記電力バジェットと比較するステップと、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも1つの相応しい処理コアを第1のアイドル状態から第2のアイドル状態に移行させるステップとを含み、前記少なくとも1つの相応しい処理コアに関連付けられる待ち時間値は、前記第1のアイドル状態から前記第2のアイドル状態への前記移行によって短縮される、コンピュータプログラム製品。 A computer program product comprising a computer usable medium embodying computer readable program code, said computer readable program code for implementing a method for idle state optimization in a portable computing device ("PCD") Configured to be performed, the method comprising:
Determining a power budget, wherein the power budget represents a maximum total power consumption level for a plurality of processing cores;
Determining a current total power consumption level for the plurality of processing cores;
Comparing the current total power consumption level to the power budget;
Transitioning at least one suitable processing core from a first idle state to a second idle state if the current total power consumption level is lower than the power budget, the at least one suitable processing A computer program product, wherein a latency value associated with a core is reduced by the transition from the first idle state to the second idle state.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/945,181 | 2013-07-18 | ||
US13/945,181 US9430014B2 (en) | 2013-07-18 | 2013-07-18 | System and method for idle state optimization in a multi-processor system on a chip |
PCT/US2014/047231 WO2015010044A1 (en) | 2013-07-18 | 2014-07-18 | System and method for idle state optimization in a multi-processor system on a chip |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016527630A true JP2016527630A (en) | 2016-09-08 |
JP2016527630A5 JP2016527630A5 (en) | 2017-08-17 |
JP6591971B2 JP6591971B2 (en) | 2019-10-16 |
Family
ID=51399756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016527135A Active JP6591971B2 (en) | 2013-07-18 | 2014-07-18 | System and method for idle state optimization in a multiprocessor system on a chip |
Country Status (5)
Country | Link |
---|---|
US (1) | US9430014B2 (en) |
EP (1) | EP3022627B1 (en) |
JP (1) | JP6591971B2 (en) |
CN (1) | CN105378590B (en) |
WO (1) | WO2015010044A1 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9256274B2 (en) * | 2013-08-01 | 2016-02-09 | Texas Instruments Incorporated | Dynamic low power states characterization |
US20150355942A1 (en) * | 2014-06-04 | 2015-12-10 | Texas Instruments Incorporated | Energy-efficient real-time task scheduler |
KR102218699B1 (en) * | 2014-09-15 | 2021-02-22 | 삼성전자주식회사 | Method of operating smart card and method of operating smart card system including the same |
US20160091957A1 (en) * | 2014-09-26 | 2016-03-31 | Suketu R. Partiwala | Power management for memory accesses in a system-on-chip |
KR102325453B1 (en) * | 2014-12-04 | 2021-11-11 | 삼성전자주식회사 | Method for operating semiconductor device |
US9958921B2 (en) | 2015-03-09 | 2018-05-01 | Advanced Micro Devices, Inc. | Power management to change power limits based on device skin temperature |
US20160266629A1 (en) * | 2015-03-09 | 2016-09-15 | Advanced Micro Devices, Inc. | Changing power limits based on device state |
CN105068872B (en) * | 2015-07-28 | 2018-11-23 | 深圳市万普拉斯科技有限公司 | The control method and system of arithmetic element |
CN105786160B (en) * | 2016-03-22 | 2019-07-16 | 上海斐讯数据通信技术有限公司 | Multiprocessor power-supply management system, method and intelligent terminal |
US20170300101A1 (en) * | 2016-04-14 | 2017-10-19 | Advanced Micro Devices, Inc. | Redirecting messages from idle compute units of a processor |
CN107844152B (en) * | 2016-09-20 | 2020-06-02 | 华为技术有限公司 | Load monitor, power supply system based on multi-core architecture and voltage adjusting method |
US10423209B2 (en) | 2017-02-13 | 2019-09-24 | Apple Inc. | Systems and methods for coherent power management |
US10884811B2 (en) | 2017-06-04 | 2021-01-05 | Apple Inc. | Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping |
US11054883B2 (en) * | 2017-06-19 | 2021-07-06 | Advanced Micro Devices, Inc. | Power efficiency optimization in throughput-based workloads |
US10565079B2 (en) * | 2017-09-28 | 2020-02-18 | Intel Corporation | Determination of idle power state |
US11113074B2 (en) * | 2019-06-28 | 2021-09-07 | Qualcomm Incorporated | System and method for modem-directed application processor boot flow |
CN113891434A (en) * | 2020-07-02 | 2022-01-04 | 大唐移动通信设备有限公司 | Base station energy-saving processing method and device, base station, equipment and storage medium |
US20240028396A1 (en) * | 2020-11-24 | 2024-01-25 | Raytheon Company | Run-time schedulers for field programmable gate arrays or other logic devices |
US20210216377A1 (en) * | 2021-03-26 | 2021-07-15 | Intel Corporation | Methods and apparatus for power sharing between discrete processors |
US11844188B2 (en) * | 2021-12-13 | 2023-12-12 | Dell Products, L.P. | Distribution of available power to devices in a group |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007233894A (en) * | 2006-03-03 | 2007-09-13 | Nec Computertechno Ltd | Computer system |
JP2008003719A (en) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | Storage system and memory control method achieving consistency between power saving and performance |
JP2009042211A (en) * | 2007-03-22 | 2009-02-26 | Intel Corp | Power estimation for semiconductor device |
WO2009110290A1 (en) * | 2008-03-04 | 2009-09-11 | 日本電気株式会社 | Semiconductor device |
WO2011084335A1 (en) * | 2009-12-16 | 2011-07-14 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
WO2011085313A1 (en) * | 2010-01-11 | 2011-07-14 | Qualcomm Incorporated | System and method of sampling data within a central processing unit |
JP2011223786A (en) * | 2010-04-13 | 2011-11-04 | Nec Corp | Electric apparatus |
WO2012108058A1 (en) * | 2011-02-10 | 2012-08-16 | 富士通株式会社 | Scheduling method, design support method, and system |
JP2013012003A (en) * | 2011-06-29 | 2013-01-17 | Renesas Electronics Corp | Data processing device and data processing system |
JP2013516025A (en) * | 2010-01-11 | 2013-05-09 | クアルコム,インコーポレイテッド | Dynamic low power mode implementation for computing devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470289B1 (en) | 1999-08-05 | 2002-10-22 | Compaq Information Technologies Group, L.P. | Independently controlling passive and active cooling in a computer system |
US6909922B2 (en) | 2001-09-10 | 2005-06-21 | Intel Corporation | Apparatus, method and computer system for reducing power consumption of a processor or processors upon occurrence of a failure condition affecting the processor or processors |
US7197654B2 (en) | 2002-04-11 | 2007-03-27 | International Business Machines Corporation | Method and apparatus for managing low power processor states |
JP3914230B2 (en) | 2004-11-04 | 2007-05-16 | 株式会社東芝 | Processor system and control method thereof |
US7337339B1 (en) * | 2005-09-15 | 2008-02-26 | Azul Systems, Inc. | Multi-level power monitoring, filtering and throttling at local blocks and globally |
US7584369B2 (en) | 2006-07-26 | 2009-09-01 | International Business Machines Corporation | Method and apparatus for monitoring and controlling heat generation in a multi-core processor |
US8117478B2 (en) | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US20080184044A1 (en) * | 2007-01-31 | 2008-07-31 | Leech Phillip A | Method of managing power consumption for collections of computer systems |
US9047360B2 (en) * | 2008-12-08 | 2015-06-02 | Fujitsu Technology Solutions Intellectual Property Gmbh | Apparatus and method for controlling a computer system with at least two power supply units |
US8954977B2 (en) * | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8909962B2 (en) * | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9383804B2 (en) | 2011-07-14 | 2016-07-05 | Qualcomm Incorporated | Method and system for reducing thermal load by forced power collapse |
US8230247B2 (en) * | 2011-12-30 | 2012-07-24 | Intel Corporation | Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state |
WO2013137860A1 (en) * | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically computing an electrical design point (edp) for a multicore processor |
US9098282B2 (en) * | 2012-12-27 | 2015-08-04 | Intel Corporation | Methods, systems and apparatus to manage power consumption of a graphics engine |
-
2013
- 2013-07-18 US US13/945,181 patent/US9430014B2/en active Active
-
2014
- 2014-07-18 EP EP14755727.6A patent/EP3022627B1/en active Active
- 2014-07-18 JP JP2016527135A patent/JP6591971B2/en active Active
- 2014-07-18 CN CN201480040069.5A patent/CN105378590B/en active Active
- 2014-07-18 WO PCT/US2014/047231 patent/WO2015010044A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007233894A (en) * | 2006-03-03 | 2007-09-13 | Nec Computertechno Ltd | Computer system |
JP2008003719A (en) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | Storage system and memory control method achieving consistency between power saving and performance |
JP2009042211A (en) * | 2007-03-22 | 2009-02-26 | Intel Corp | Power estimation for semiconductor device |
WO2009110290A1 (en) * | 2008-03-04 | 2009-09-11 | 日本電気株式会社 | Semiconductor device |
WO2011084335A1 (en) * | 2009-12-16 | 2011-07-14 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
WO2011085313A1 (en) * | 2010-01-11 | 2011-07-14 | Qualcomm Incorporated | System and method of sampling data within a central processing unit |
JP2013516025A (en) * | 2010-01-11 | 2013-05-09 | クアルコム,インコーポレイテッド | Dynamic low power mode implementation for computing devices |
JP2011223786A (en) * | 2010-04-13 | 2011-11-04 | Nec Corp | Electric apparatus |
WO2012108058A1 (en) * | 2011-02-10 | 2012-08-16 | 富士通株式会社 | Scheduling method, design support method, and system |
JP2013012003A (en) * | 2011-06-29 | 2013-01-17 | Renesas Electronics Corp | Data processing device and data processing system |
Also Published As
Publication number | Publication date |
---|---|
EP3022627A1 (en) | 2016-05-25 |
US9430014B2 (en) | 2016-08-30 |
JP6591971B2 (en) | 2019-10-16 |
CN105378590B (en) | 2018-10-09 |
CN105378590A (en) | 2016-03-02 |
WO2015010044A1 (en) | 2015-01-22 |
EP3022627B1 (en) | 2019-06-19 |
US20150026495A1 (en) | 2015-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6591971B2 (en) | System and method for idle state optimization in a multiprocessor system on a chip | |
JP6162262B2 (en) | System and method for thermal management in portable computing devices using thermal resistance values to predict optimal power levels | |
JP6218967B2 (en) | Energy efficiency aware thermal management in multiprocessor system on chip | |
JP6231578B2 (en) | System and method for estimating ambient temperature from a portable computing device | |
JP6693958B2 (en) | System and method for peak dynamic power management in a portable computing device | |
EP3430496B1 (en) | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture | |
JP6249953B2 (en) | Thermally driven workload scheduling in heterogeneous multiprocessor system on chip | |
US8996902B2 (en) | Modal workload scheduling in a heterogeneous multi-processor system on a chip | |
JP5805881B2 (en) | System and method for determining a thermal management policy from leakage current measurements | |
JP5781255B1 (en) | System and method for adaptive thermal management in portable computing devices | |
US9703336B2 (en) | System and method for thermal management in a multi-functional portable computing device | |
JP2018142346A (en) | System and method for thermally aware device booting | |
US9411403B2 (en) | System and method for dynamic DCVS adjustment and workload scheduling in a system on a chip | |
KR20140002072A (en) | Thermal load management in a portable computing device | |
JP2014530414A (en) | System and method for managing the generation of thermal energy in a heterogeneous multi-core processor | |
CN110214298B (en) | System and method for context aware thermal management and workload scheduling in portable computing devices | |
JP2017502383A (en) | System and method for system-on-chip multi-correlation learning thermal management in portable computing devices | |
JP6240225B2 (en) | System and method for temperature-driven selection of voltage modes in portable computing devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20160114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170703 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180806 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190711 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20190717 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6591971 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |