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 PDF

Info

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
Application number
JP2016527135A
Other languages
Japanese (ja)
Other versions
JP6591971B2 (en
JP2016527630A5 (en
Inventor
アンクール・ジャイン
ユンニクリシュナン・ヴァダッカンマルヴィードゥ
ヴィナイ・ミッター
ヘンリ・ビギン
プラベーン・チダンバラム
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016527630A publication Critical patent/JP2016527630A/en
Publication of JP2016527630A5 publication Critical patent/JP2016527630A5/ja
Application granted granted Critical
Publication of JP6591971B2 publication Critical patent/JP6591971B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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.

所与のアイドル状態および接合温度の場合に、ポータブルコンピューティングデバイス(「PCD」)の所与のクアドコアチップセット内の例示的なコア0、1、2および3に関連付けられる待ち時間および漏洩率を示すグラフである。For a given idle state and junction temperature, the latency and leakage rate associated with exemplary cores 0, 1, 2, and 3 in a given quad-core chipset of a portable computing device (`` PCD '') It is a graph to show. マルチコアPCDにおけるアイドル状態最適化のためのオンチップシステムの一実施形態を示す機能ブロック図である。1 is a functional block diagram illustrating an embodiment of an on-chip system for idle state optimization in a multi-core PCD. FIG. アイドル状態最適化のための方法およびシステムを実現するためのワイヤレス電話の形のPCDの例示的な非限定的態様の機能ブロック図である。FIG. 2 is a functional block diagram of an exemplary, non-limiting aspect of a PCD in the form of a wireless telephone to implement a method and system for idle state optimization. アイドル状態最適化をサポートするための、図3のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。FIG. 4 is a schematic diagram illustrating an example software architecture of the PCD of FIG. 3 to support idle state optimization. 図3のPCDにおけるアイドル状態最適化のための方法の一実施形態を示す論理流れ図である。FIG. 4 is a logic flow diagram illustrating an embodiment of a method for idle state optimization in the PCD of FIG.

「例示的」という用語は、本明細書では「一例、事例、または実例として役立つ」ことを意味するように使用される。「例示的」として本明細書で説明されるいずれの態様も、排他的であるか、他の態様より好ましいか、または有利であると、必ずしも解釈されるべきでない。   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 exemplary cores 0, 1, 2, and 3 in a given quad-core chipset of PCD for a given idle state and junction temperature. . In particular, although specific features and aspects of various embodiments are described herein with respect to a quad-core chipset, those skilled in the art will recognize that these embodiments can be applied in any multi-core or single-core chip.

例示では、所与の接合温度およびアイドル状態の場合に、各コアは、待ち時間および電力消費量に関して特有の性能特性を示す。コア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 Core 2. According to the IDDq evaluation of core 1 (core 1 leakage), the leakage rate is the second highest efficiency among the cores.

有利には、待ち時間および零入力漏洩率がコア間で異なることは、種々のアイドル状態に移行するのに最も適した処理構成要素を選択するために、アイドル状態選択(「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-chip system 102 for idle state selection and optimization in a heterogeneous multi-core PCD 100. As described above, embodiments of the system and method for idle state optimization may be used in any SoC having one or more processing cores, even if the core is heterogeneous. It is considered unnecessary. However, the various performance characteristics of the core at different operating temperatures and within different idle states offer great flexibility in minimizing latency considering managing the total power budget of the PCD. It is further believed that embodiments of the present systems and methods may be particularly useful in heterogeneous multi-core PCDs. To this end, the exemplary embodiments herein are primarily described in the context of heterogeneous multi-core PCDs, but embodiments of idle state optimization systems and methods include heterogeneous multi-core processing components. Those skilled in the art will recognize that they are not limited to PCD.

図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”) module 101 communicates with a heterogeneous multi-core processor 110, a monitor module 114, a scheduler 207, and an idle state lookup table (“LUT”) 24. . In operation, the monitor module 114 monitors temperature sensors 157 that may each be positioned to monitor the junction temperature associated with each of the cores 222, 224, 226, and 228, among others. The monitored temperature can be regarded as the operating temperature of the core and is correlated to the power being consumed by each of the cores 222, 224, 226 and 228, as explained above.

ISSモジュール101は、温度センサ157によって測定されたような温度をモニタモジュール114を介して受信し、その温度と、各コアの現在の状態(アクティブ状態であるか、アイドル状態であるか)とに基づいて、LUT24に問い合わせる。コアごとに、その温度および特定の状態に応じて、ISSモジュール101は、図1に示されるグラフに類似のデータを問い合わせることができる。また、所与のコアの場合に、ISSモジュール101は、その現在の動作状態以外の動作状態に移行する場合には、コアの性能特性を判断するために、LUT24に問い合わせることができる。ISSモジュール101は、コア222、224、226および228のいずれかがアクティブ動作状態にあることを通して、現在利用できない処理容量を必要とする場合がある待ち行列内の作業負荷を特定または判断するために、スケジューラ207とさらに通信することができる。   The ISS module 101 receives the temperature as measured by the temperature sensor 157 via the monitor module 114 and determines the temperature and the current state (active state or idle state) of each core. Based on that, query LUT24. For each core, depending on its temperature and specific conditions, the ISS module 101 can query similar data to the graph shown in FIG. Also, for a given core, the ISS module 101 can query the LUT 24 to determine core performance characteristics when transitioning to an operating state other than its current operating state. ISS module 101 identifies or determines the workload in the queue that may require currently unavailable processing capacity through the active operation of any of the cores 222, 224, 226, and 228 Further communication with the scheduler 207 is possible.

種々の問い合わせおよび監視されたデータから、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 ISS module 101 can calculate the current power consumption of all cores 222, 224, 226 and 228 and compare it to the total power budget associated with the PCD 100 be able to. If the full power budget is exceeded (or the threshold associated with the full power budget is exceeded), the ISS module 101 is asked to bring the migrated core back online as the active core. Recognizing that there is a trade-off in terms of latency added in the event that one or more of the cores 222, 224, 226, and 228 is moved from the active state to the idle state, or from the idle state to a different idle state You can choose to migrate. However, if there is a headroom in the total power budget, the ISS module 101 is one of the cores 222, 224, 226 and 228 to transition to an active state or an idle state associated with a short latency. One or more can be selected. In doing so, the ISS module 101 will “immediately respond” if the migrated core is needed to quickly deal with a sudden workload increase (or the next workload increase in the queue). It can be appreciated that a reduction in waiting time will be prioritized over an increase in power consumption associated with a transition to a “done” idle state (such as a transition from a retained idle state to a WFI idle state).

1つの状態から別の状態に移行するためにISSモジュール101によってコア222、224、226および228を選択することに関して、その選択は、PCD100の全電力バジェットと、移行から生じることが見込まれる電力消費量レベルとの比較に基づくことができると考えられる。その比較を行うために、ISSモジュール101は、その現在の動作温度において、複数のアイドル状態に関連して、所与のコアの場合にLUT24に記憶された動作特性を比較することができる。また同様に、コアの消費電力量がその動作温度に相関があることを認識すると、ISSモジュール101は、異なる動作状態にあるときに所与の動作温度において所与のコアに関連付けられる電力消費量レベルを比較して、所与のコアが1つの動作状態から別の動作状態に(たとえば、電力急減アイドル状態からWFIアイドル状態に)移行する場合に、PCD100の全電力消費量に及ぼし得る影響を判断することができる。   With respect to selecting the cores 222, 224, 226, and 228 by the ISS module 101 to transition from one state to another, the selection is based on the total power budget of the PCD 100 and the power consumption expected to result from the transition. It is thought that it can be based on a comparison with the quantity level. To make that comparison, the ISS module 101 can compare the operating characteristics stored in the LUT 24 for a given core in relation to multiple idle states at its current operating temperature. Similarly, if the ISS module 101 recognizes that the power consumption of a core is correlated to its operating temperature, the ISS module 101 is associated with a given core at a given operating temperature when in different operating states. Compare levels to see the impact that a given core can have on the total power consumption of the PCD100 when transitioning from one operating state to another (e.g., from a power-down idle state to a WFI idle state) Judgment can be made.

とりわけ、図2の例示は、コアが1つの動作状態から別の動作状態に移行した場合に、待ち時間および電力消費量に及ぼし得る影響を判断するためにLUT24に問い合わせるアイドル状態最適化システムおよび方法の一実施形態を表すが、他の実施形態は、LUT24を使用しない場合もあり、代替形態では、影響を計算するために数学関数を使用する場合もあると考えられる。所与の動作状態にあるときにコアの電力消費量は、コアの測定された動作温度から求めることができるので、本システムおよび方法の実施形態は、待ち時間および消費電力量に及ぼし得る影響を簡単に計算できることを、当業者は認識されよう。   In particular, the illustration of FIG. 2 illustrates an idle state optimization system and method that queries the LUT 24 to determine the impact on latency and power consumption when the core transitions from one operational state to another. Although one embodiment is represented, other embodiments may not use the LUT 24, and in the alternative, it is contemplated that a mathematical function may be used to calculate the impact. Since the core power consumption when in a given operating state can be determined from the measured operating temperature of the core, embodiments of the present system and method have an impact on latency and power consumption. One skilled in the art will recognize that it can be easily calculated.

とりわけ、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 LUT 24 can be experimentally collected for each of the cores 222, 224, 226 and 228 according to bench tests and platform characteristics understood by those skilled in the art. In essence, for each combination of operating temperature and operating conditions, performance characteristics including latency and IDDq leakage rates are measured for each processing component 222, 224, 226 and 228 "in the factory" and stored in the LUT 24 ( Or used to generate a function). From that data, the ISS module 101 can determine which of the cores 222, 224, 226, and 228 from one operating state to minimize latency without exceeding the full power budget of the PCD 100 or chip 102. It can be determined whether it is possible to shift to another operating state. One skilled in the art will appreciate that the LUT 24 may reside in hardware and / or may take the form of software, depending on the particular embodiment. Further, as will be appreciated by those skilled in the art, the LUT 24 in hardware can be fused into silicon and the LUT 24 in software form can be stored in firmware.

図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 PCD 100 in the form of a wireless telephone for implementing the method and system for idle state optimization. As shown, PCD 100 includes an on-chip system 102 that includes a heterogeneous multi-core central processing unit (“CPU”) 110 and an analog signal processor 126 coupled together. As will be appreciated by those skilled in the art, the CPU 110 can include a zeroth core 222, a first core 224, and an Nth core 230. Further, as will be appreciated by those skilled in the art, a digital signal processor (“DSP”) can be utilized in place of the CPU 110. Further, as understood in the technical field of heterogeneous multi-core processors, each core 222, 224, 230 is capable of handling workloads at different maximum voltage frequencies, and having different IDDq leakage rates at a given temperature and operating condition. Indicating, having a different waiting time to transition from a given idle operating state to an active state, etc.

一般に、ISSモジュール101は、チップ102の全電力バジェットを順守しながら、作業負荷を処理するためにオンラインに戻るための待ち時間が最小化されるように、アイドル状態間でコアを移行させることを含む、アイドル状態最適化ポリシーを監視し、適用する責任を担うことができる。アイドル状態最適化ポリシーの適用は、PCD100が、熱条件および/または熱負荷を管理するのを助け、たとえば、処理するためにバースト負荷がスケジュールされるときなどに、さらなる処理容量を利用可能にする際に無用な待ち時間を回避するのを助けることができる。ISSモジュール101は、モニタモジュール114から温度データと、他の条件インジケータとを受信し、そのデータを用いて、コア222、224、230のうちの1つまたは複数を異なる動作状態に移行させることから生じる場合がある待ち時間および消費電力量への影響を判断することができる。このようにして、ISSモジュール101は、バースト作業負荷に迅速に対応するように1つまたは複数のコアを位置付けることによってユーザ体感を最適化することができ、1つまたは複数のコアを高い消費電力量の動作状態(アクティブ状態など)にしておく必要はない。   In general, the ISS module 101 is responsible for migrating cores between idle states so that the latency to come back online to handle the workload is minimized while adhering to the full power budget of chip 102. Responsible for monitoring and applying idle state optimization policies, including. The application of the idle state optimization policy helps the PCD 100 manage thermal conditions and / or thermal loads and make additional processing capacity available, for example, when burst loads are scheduled to process Can help avoid unnecessary waiting times. The ISS module 101 receives temperature data and other condition indicators from the monitor module 114 and uses that data to transition one or more of the cores 222, 224, 230 to different operating states. It is possible to determine the waiting time that may occur and the effect on power consumption. In this way, the ISS module 101 can optimize the user experience by positioning one or more cores to quickly respond to burst workloads, making one or more cores consume high power There is no need to leave a certain amount of operating state (active state, etc.).

モニタモジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサ(たとえば、熱センサ157)および構成要素、およびPCD100のCPU110、ならびにISSモジュール101と通信する。とりわけ、モニタモジュール114は、限定はしないが、電源188、タッチスクリーン132、RFスイッチ170などのオフチップ構成要素と通信し、および/または監視することもできる。ISSモジュール101は、1つまたは複数の処理構成要素のアイドル状態を最適化するための機会を与えるPCD内の条件を特定するように、モニタモジュール114と協働することができる。   The monitor module 114 communicates with a plurality of operating sensors (eg, thermal sensor 157) and components distributed throughout the on-chip system 102, and the CPU 110 of the PCD 100 and the ISS module 101. Among other things, the monitor module 114 can communicate with and / or monitor off-chip components such as, but not limited to, a power source 188, a touch screen 132, and an RF switch 170. The ISS module 101 can cooperate with the monitor module 114 to identify conditions in the PCD that provide an opportunity to optimize the idle state of one or more processing components.

図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 CPU 110. Touch screen display 132 external to on-chip system 102 is coupled to display controller 128 and touch screen controller 130. The PCD 100 further includes a video decoder 134, such as a phase inversion line (“PAL”) decoder, a sequential color memory (“SECAM”) decoder, a National Television Standards Committee (“NTSC”) decoder, or any other type. A video decoder 134 may be included. Video decoder 134 is coupled to a multi-core central processing unit (“CPU”) 110. A video amplifier 136 is coupled to the video decoder 134 and the touch screen display 132. Video port 138 is coupled to video amplifier 136. As shown in FIG. 4, a universal serial bus (“USB”) controller 140 is coupled to CPU 110. A USB port 142 is coupled to the USB controller 140. Memory 112 and subscriber identification module (“SIM”) card 146 may also be coupled to CPU 110. Further, as shown in FIG. 3, a digital camera 148 may be coupled to the CPU 110. In the exemplary embodiment, digital camera 148 is a charge coupled device (“CCD”) camera or a complementary metal oxide semiconductor (“CMOS”) camera.

図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, first stereo speaker 154 and second stereo speaker 156 are coupled to audio amplifier 152. FIG. 3 shows that a microphone amplifier 158 may also be coupled to the stereo audio codec 150. Further, microphone 160 may be coupled to microphone amplifier 158. In certain aspects, a frequency modulation (“FM”) radio tuner 162 may be coupled to the stereo audio codec 150. An FM antenna 164 is coupled to the FM radio tuner 162. Further, stereo headphones 166 may be coupled to stereo audio codec 150.

図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. RF switch 170 may be coupled to RF transceiver 168 and RF antenna 172. As shown in FIG. 3, a keypad 174 may be coupled to the analog signal processor 126. Also, a mono headset 176 with a microphone may be coupled to the analog signal processor 126. Further, a vibrator device 178 may be coupled to the analog signal processor 126. FIG. 3 also shows that a power source 188, such as a battery, is coupled to the on-chip system 102 via a power management integrated circuit (“PMIC”) 180. In certain aspects, the power source 188 includes a rechargeable DC battery or a DC power source derived from an AC-DC converter connected to an alternating current (“AC”) power source.

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が利用されてもよい。   CPU 110 may also be coupled to one or more internal on-chip thermal sensors 157A and 157B, and one or more external off-chip thermal sensors 157C. On-chip thermal sensors 157A and 157B are based on a vertical PNP structure and are typically dedicated to complementary metal oxide semiconductor (“CMOS”) very large-scale integration (“VLSI”) circuits. Alternatively, a plurality of proportional to absolute temperature (“PTAT”) temperature sensors can be provided. The off-chip thermal sensor 157C can include one or more thermistors. The thermal sensor 157 can cause a voltage drop that is converted to a digital signal by an analog-to-digital converter (“ADC”) controller (not shown). However, other types of thermal sensors 157 may be utilized without departing from the scope of the present invention.

熱センサ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 thermal sensor 157 may also be controlled and monitored by one or more ISS modules 101 and / or monitor modules 114. The ISS module 101 and / or the monitor module 114 can comprise software executed by the CPU 110. However, the ISS module 101 and / or monitor module 114 may also be formed from hardware and / or firmware without departing from the scope of the present invention. The ISS module 101 can be responsible for monitoring and applying an idle state optimization policy that can help the PCD 100 avoid critical temperatures while maintaining a high level of functionality.

図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, USB port 142, camera 148, first stereo speaker 154, second stereo speaker 156, microphone 160, FM antenna 164, stereo headphones 166, RF switch 170 , RF antenna 172, keypad 174, mono headset 176, vibrator 178, thermal sensor 157C, PMIC 180 and power supply 188 are external to on-chip system 102. However, the monitor module 114 also provides one or more instructions or instructions from one or more of these external devices by the analog signal processor 126 and CPU 110 to assist in real-time management of resources operable in the PCD 100. It should be understood that a signal can be received.

ある特定の態様では、本明細書において説明される方法ステップのうちの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 memory 112 forming one or more ISS modules 101. Can do. These instructions forming ISS module 101 may be executed by CPU 110, analog signal processor 126, GPU 182 or another processor in addition to ADC controller 103 to perform the methods described herein. it can. Further, processor 110, 126, memory 112, instructions stored therein, or combinations thereof serve as a means for performing one or more of the method steps described herein. be able to.

図4は、アイドル状態最適化技法をサポートするための図3のPCDの例示的なソフトウェアアーキテクチャ200を示す概略図である。1つまたは複数のコアの温度条件、待ち時間値および漏洩率によって正当化されるとき、任意の数のアルゴリズムが、ISSモジュール101によって適用される場合があるアイドル状態最適化方法を形成することができる、またはその一部となることができる。   FIG. 4 is a schematic diagram illustrating an example software architecture 200 of the PCD of FIG. 3 to support an idle state optimization technique. Any number of algorithms may form an idle state optimization method that may be applied by the ISS module 101 when justified by one or more core temperature conditions, latency values and leakage rates. Can or can be part of it.

図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 digital signal processor 110 is coupled to the memory 112 via a bus 211. As mentioned above, the CPU 110 can be a multi-core heterogeneous processor having N core processors. That is, the CPU 110 includes a 0th core 222, a first core 224, and an Nth core 230. As known to those skilled in the art, the zeroth core 222, the first core 224, and the Nth core 230 are each available to support a dedicated application or program and have a heterogeneous score. As part of, different latency levels and different IDDq current leakage levels can be shown depending on their operating conditions. Alternatively, one or more applications or programs can be distributed for processing across more than one core of available heterogeneia scores.

CPU110は、ソフトウェアおよび/またはハードウェアを備えることができるISSモジュール101から、コマンドを受信することができる。ソフトウェアとして具現される場合、ISSモジュール101はCPU110によって実行される命令を含み、CPU110は、CPU110および他のプロセッサによって実行されている他のアプリケーションプログラムにコマンドを発行する。   The CPU 110 can receive commands from the ISS module 101, which can comprise software and / or hardware. When implemented as software, the ISS module 101 includes instructions executed by the CPU 110, and the CPU 110 issues commands to other application programs being executed by the CPU 110 and other processors.

CPU110の第0のコア222、第1のコア224〜第Nのコア230は、単一の集積回路ダイに集積されるか、または、複数回路パッケージにおいて別個のダイ上で集積または結合される場合がある。設計者は、第0のコア222、第1のコア224〜第Nのコア230を、1つまたは複数の共有キャッシュを介して結合することができ、バス、リング、メッシュ、およびクロスバートポロジのようなネットワークトポロジを介して、メッセージまたは命令の伝達を実施することができる。   The 0th core 222, the first core 224 to the Nth core 230 of the CPU 110 are integrated on a single integrated circuit die, or integrated or combined on separate dies in a multiple circuit package There is. Designers can couple the 0th core 222, the 1st core 224 to the Nth core 230 through one or more shared caches, for bus, ring, mesh, and crossbar topologies. Message or command transmission can be implemented through such a network topology.

当技術分野で知られているように、バス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 PCD 100 is implemented in software, start logic 250, management logic 260, idle state optimization interface logic 270, applications in application storage 280, and file system 290 It should be noted that one or more of the portions may be stored on any computer-readable medium for use by or in connection with any computer-related system or method.

本文書の文脈において、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる電子、磁気、光学または他の物理デバイスまたは手段である。種々の論理要素およびデータ記憶装置は、命令実行システム、装置、またはデバイスから命令を取り出し、命令を実行することができる、コンピュータベースのシステム、プロセッサを含むシステム、または他のシステムなどの、命令実行システム、装置またはデバイスによる使用、またはそれらと関係した使用のために、任意のコンピュータ可読媒体において具現することができる。本文書の文脈において、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスによる使用、またはそれらと関係した使用のために、プログラムを記憶、通信、伝搬、または転送することができる任意の手段とすることができる。   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 start logic 250, management logic 260, and possibly idle state optimization interface logic 270 are implemented in hardware, each of the various logics may be well known in the art. The following known techniques: discrete logic circuits with logic gates to perform logic functions on data signals, application specific integrated circuits (ASIC) with appropriate combinational logic gates, programmable gate arrays (PGA) ), A field programmable gate array (FPGA), etc., or a combination thereof.

メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスである。単一のデバイスとして示されるが、メモリ112は、デジタルシグナルプロセッサ110(または、さらなるプロセッサコア)に結合される別々のデータ記憶装置を用いる分散メモリデバイスとすることができる。   The memory 112 is a non-volatile data storage device such as a flash memory or solid state memory device. Although shown as a single device, the memory 112 may be a distributed memory device that uses separate data storage devices coupled to the digital signal processor 110 (or additional processor core).

開始論理250は、異なる動作状態に移行するために、第0のコア222、第1のコア224〜第Nのコア230のような利用可能なコアの動作状態を判断し、そのうちの1つまたは複数を選択するための選択プログラムを選択的に特定し、ロードし、実行するための1つまたは複数の実行可能命令を含む。管理論理260は、アイドル状態最適化プロセッサを終了し、より適した代替プログラムを選択的に特定し、ロードし、実行するための1つまたは複数の実行可能命令を含む。管理論理260は、実行時間に、またはPCD100が電源を入れられ、デバイスの操作者によって使用されている間に、これらの機能を実行するように構成される。代替プログラムは、組込みファイルシステム290のプログラム記憶装置296において見つけることができる。   The start logic 250 determines the operating states of the available cores, such as the 0th core 222, the 1st core 224 to the Nth core 230, to transition to different operating states, one of which One or more executable instructions for selectively identifying, loading and executing a selection program for selecting a plurality are included. Management logic 260 includes one or more executable instructions for terminating the idle state optimization processor and selectively identifying, loading, and executing a more suitable alternative program. The management logic 260 is configured to perform these functions at run time or while the PCD 100 is powered on and used by an operator of the device. Alternative programs can be found in the program storage 296 of the embedded file system 290.

代替プログラムは、デジタルシグナルプロセッサのコアプロセッサのうちの1つまたは複数よって実行されるときに、ISSモジュール101および/またはモニタモジュール114によって提供される1つまたは複数の信号に従って動作することができる。これに関連して、モジュール114は、ISSモジュール101から生じる制御信号に応答して、接合温度の1つまたは複数のインジケータを与えることができる。   The alternative program may operate according to one or more signals provided by the ISS module 101 and / or the monitor module 114 when executed by one or more of the core processors of the digital signal processor. In this regard, module 114 can provide one or more indicators of junction temperature in response to control signals originating from ISS module 101.

インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、またはそうでなければ更新するために、外部入力を提示し、外部入力を管理し、外部入力と相互にやりとりするための1つまたは複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者入力とともに動作することができる。これらの入力は、プログラム記憶装置296から削除されるか、またはプログラム記憶装置296に加えられることになる1つまたは複数のプログラムを含むことができる。代替的には、入力は、プログラム記憶装置296内のプログラムのうちの1つまたは複数への編集または変更を含むことができる。さらに、入力は、開始論理250および管理論理260の一方または両方に対する1つまたは複数の変更、または全体的な代替を特定することができる。一例として、入力は、PCD100の皮膚温度が特定の閾値を下回るときに全電力バジェットの増加を認識するようにISSモジュール101に指示する管理論理260への変更を含むことができる。   Interface logic 270 presents external inputs, manages external inputs, and interacts with external inputs to observe, configure, or otherwise update information stored in embedded file system 290 One or more executable instructions for In one embodiment, interface logic 270 can operate with manufacturer input received via USB port 142. These inputs can include one or more programs that are to be deleted from or added to the program storage device 296. Alternatively, the input can include edits or changes to one or more of the programs in program storage device 296. Further, the input may specify one or more changes to one or both of start logic 250 and management logic 260, or an overall alternative. As an example, the input may include a change to management logic 260 that instructs the ISS module 101 to recognize an increase in the total power budget when the skin temperature of the PCD 100 is below a certain threshold.

インターフェース論理270により、製造業者が、PCD100の規定された動作条件下で、エンドユーザの体感を制御可能に構成および調整できるようになる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーション記憶装置280内のアプリケーションプログラム、または組込みファイルシステム290内の情報のうちの1つまたは複数は、編集できるか、代替できるか、または別のやり方で変更できる。いくつかの実施形態では、インターフェース論理270によって、エンドユーザまたはPCD100の操作者が、開始論理250、管理論理260、アプリケーション記憶装置280内のアプリケーション、および組込みファイルシステム290内の情報を検索、場所特定、変更または代替できるようになる場合がある。操作者は、結果として構成されたインターフェースを用いて、PCD100の次の開始時に実施されることになる変更を加えることができる。代替的には、操作者は、結果として構成されたインターフェースを用いて、実行時間中に実施される変更を加えることができる。   Interface logic 270 allows the manufacturer to controlably configure and adjust the end user experience under the prescribed operating conditions of PCD 100. When memory 112 is flash memory, can one or more of start logic 250, management logic 260, interface logic 270, application programs in application storage 280, or information in embedded file system 290 be edited? Can be substituted or otherwise changed. In some embodiments, interface logic 270 allows end users or PCD 100 operators to search and locate information in initiating logic 250, management logic 260, applications in application storage 280, and embedded file system 290. , May be able to change or substitute. The operator can make changes that will be implemented at the next start of the PCD 100 using the resulting configured interface. Alternatively, the operator can make changes that are performed during runtime using the resulting configured interface.

組込みファイルシステム290は、階層的に構成されたアイドル状態ルックアップテーブル24を含む。これに関連して、ファイルシステム290は、特定の動作温度において、特定の動作状態(保持アイドル状態またはWFIアイドル状態など)に従って動作するときに、種々のコア222、224、226、228の性能特性に関連付けられる情報を記憶するための、全ファイルシステム容量のうちの予約部分を含むことができる。   The embedded file system 290 includes an idle state lookup table 24 arranged in a hierarchy. In this regard, the file system 290 performs the performance characteristics of the various cores 222, 224, 226, 228 when operating according to a specific operating state (such as a holding idle state or a WFI idle state) at a specific operating temperature. A reserved portion of the total file system capacity for storing information associated with the.

図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 method 500 for idle state optimization in PCD 100 of FIG. In the embodiment of FIG. 5, the ISS module 101 is aware of the total power budget associated with the PCD 100, chip 102, processor 110, etc. As will be appreciated by those skilled in the art, the power budget represents the target power consumption level and ideally cannot be exceeded by the total power consumption of the cores 222, 224, 226, 228. In particular, by selecting one or more of the cores 222, 224, 226, 228 to transition from one operating state to another (e.g., from a power sag state to a WFI state), the ISS module 101 is the total power consumption of cores 222, 224, 226, 228 and if one or more of the idle cores 222, 224, 226, 228 is needed to handle the workload Can have a direct impact on the waiting time you will experience. Therefore, at block 505 of method 500, the maximum power budget is determined.

ブロック510において、コア222、224、226、228の接合温度(すなわち、動作温度)に関連付けられる温度が、モニタモジュール114によって監視され、ISSモジュール101に与えられる。ブロック515において、監視された温度を用いて、LUT24に問い合わせる。上記のように、LUT24は、コアが特定の温度において、かつ特定の動作モードにおいて動作しているときに、コアの機能特性を表す、コア222、224、226、228ごとのデータを含むことができる。問い合わせから、コアごとの電力漏洩レベルを求めることができる。たとえば、少しだけ図1に戻ると、コアがテーブルによって表される動作状態にあり、そして動作温度にある場合に、コア0、1、2および3のいずれかのための漏洩率を求めることができる。また、先に説明されたように、特定の実施形態では、LUT24に問い合わせる代わりに、その動作温度に基づいてコアの電力消費量レベルを簡単に計算する機能を使用することも考えられる。   At block 510, the temperature associated with the core 222, 224, 226, 228 junction temperature (ie, operating temperature) is monitored by the monitor module 114 and provided to the ISS module 101. At block 515, the LUT 24 is queried using the monitored temperature. As noted above, the LUT 24 may contain data for each of the cores 222, 224, 226, 228 that represents the functional characteristics of the core when the core is operating at a specific temperature and in a specific mode of operation. it can. From the inquiry, the power leakage level for each core can be obtained. For example, returning briefly to Figure 1, if the core is in the operating state represented by the table and is at operating temperature, the leak rate for any of cores 0, 1, 2, and 3 can be determined. it can. Also, as explained above, in certain embodiments, instead of querying the LUT 24, it is also possible to use a function that simply calculates the core power consumption level based on its operating temperature.

ブロック520において、すべてのコア222、224、226、228のアクティブ漏洩率が加算され、電力バジェットと比較される。判断ブロック525において、アクティブ漏洩率の総計が、ブロック505において求められた電力バジェットにほぼ一致するか、または超える場合には、「ノー」分岐に従ってブロック510に戻り、方法500はここから継続する。しかしながら、判断ブロック525において、アクティブ漏洩率の総計が電力バジェットより相対的に低い場合には、方法500は「イエス」分岐に従い、ブロック530に進むことができる。   At block 520, the active leakage rates of all cores 222, 224, 226, 228 are summed and compared to the power budget. At decision block 525, if the total active leakage rate approximately matches or exceeds the power budget determined at block 505, then return to block 510 according to the “no” branch and method 500 continues. However, if the total active leakage rate is relatively lower than the power budget at decision block 525, the method 500 can follow the “yes” branch and proceed to block 530.

方法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 method 500 proceeds to block 530, the ISS module 101 may select one or more of the cores 222, 224, 226, 228 so that the latency value is reduced without exceeding the power budget. The opportunity to adjust the operating state of the can be obtained. In that case, in block 530, the active setting for each of the cores 222, 224, 226, 228 is determined. The active setting can include, but is not limited to, the current operating state (ie, whether the core is active or idle) and the operating temperature. From the current settings determined at block 530, the ISS module 101 can identify one or more cores that are suitable for transitioning to different operating states. As an example, the ISS module 101 can determine that the core 222 is actively processing a workload, but the cores 224 and 226 are in a power droop idle state and the core 228 is in a holding idle state. In such a scenario, the ISS module 101 can conclude that the cores 224, 226 and 228 are all suitable for transitioning to different idle states.

方法500に戻ると、ブロック535において、ISSモジュール101は、相応しいコアごとにLUT24に問い合わせ(または相応しい各コアに関連付けられる関数を使用し)、相応しいコアのうちの1つまたは複数が異なる動作状態に移行する場合に実現することができる電力消費量および待ち時間への影響を判断する。ブロック540において、ISSモジュール101は、移行の種々の組合せの場合の電力消費量レベルを総計することができる。ISSモジュール101が、コア224および226は電力急減アイドル状態にあり、コア228は保持アイドル状態にあると判断する先に与えられた例に戻って参照すると、移行の組合せは、コア226を電力急減にしたまま、コア224を保持状態に、コア228をWFI状態に移行することを含むことができる。とりわけ、移行を行うことによって、コア224および228がバースト負荷をいつでも処理することができるアクティブ状態に移行するのに要する待ち時間を改善することができる。   Returning to method 500, at block 535, the ISS module 101 queries the LUT 24 for each suitable core (or uses a function associated with each suitable core), and one or more of the suitable cores are in different operating states. Determine the impact on power consumption and latency that can be achieved when migrating. At block 540, the ISS module 101 can aggregate the power consumption levels for various combinations of transitions. Referring back to the example given above, where the ISS module 101 determines that cores 224 and 226 are in a power droop idle state and core 228 is in a holding idle state, the transition combination will cause core 226 to power droop. Leaving the core 224 in the hold state and the core 228 in the WFI state. In particular, the transition can improve the latency required for cores 224 and 228 to transition to an active state that can handle burst loads at any time.

種々の組合せの場合に、アイドル状態移行から生じる場合がある電力消費量に及ぼし得る影響が、判断ブロック545において電力バジェットと比較される。特定された移行組合せのすべての総計が電力バジェットを超える場合には、任意のコアが短縮された待ち時間に関連付けられるアイドル状態に移行するだけの十分な余裕が電力バジェット内に存在しない場合があるので、「ノー」分岐に従ってブロック510に戻る。判断ブロック545に関して、方法500は、最適な移行組合せが特定されるまで、種々の組合せの中を「ループ」できることが考えられる。また、組合せが単一の処理コアのみのための動作状態の移行を含む場合があること、または複数のコアのための移行を含む場合があることも考えられる。   For various combinations, the possible impact on power consumption that may result from idle state transitions is compared at decision block 545 to the power budget. If the total of all identified transition combinations exceeds the power budget, there may not be enough room in the power budget for any core to transition to the idle state associated with the reduced latency So, return to block 510 according to the “no” branch. With respect to decision block 545, it is contemplated that the method 500 can “loop” through the various combinations until the optimal transition combination is identified. It is also contemplated that a combination may include an operational state transition for only a single processing core, or may include a transition for multiple cores.

方法500に戻ると、判断ブロック545において、特定の組合せのコア移行のための電力消費量レベルの予想される総計が、電力バジェット未満であると判断される場合には、「イエス」分岐に従ってブロック550に進み、ISSモジュール101は、特定されたアイドル状態移行を実施する。このようにして、ISSモジュール101は、PCD100の電力消費量および熱エネルギーレベルに過度に影響を及ぼすことなく、作業負荷を処理するためにアイドルコアをオンラインにするのに必要とされる待ち時間が最小化されるように、1つまたは複数のコア222、224、226、228のアイドル状態を最適化することができる。有利には、その際に、ISSモジュール101は、作業負荷処理要求に迅速に対応するように種々のコアの状態を位置付けることによって、ユーザ体感を最適化する。   Returning to method 500, if it is determined at decision block 545 that the expected total power consumption level for a particular combination of core transitions is less than the power budget, block according to the “yes” branch. Proceeding to 550, the ISS module 101 performs the specified idle state transition. In this way, the ISS module 101 has the latency required to bring the idle core online to handle the workload without unduly affecting the power consumption and thermal energy level of the PCD 100. The idle state of one or more cores 222, 224, 226, 228 can be optimized to be minimized. Advantageously, in doing so, the ISS module 101 optimizes the user experience by positioning the various core states to quickly respond to workload processing requests.

本発明が上記のように機能するために、本明細書において説明されるプロセスまたは処理フローにおける特定のステップが必然的に他のステップに先行する。しかしながら、そのような順序またはシーケンスが本発明の機能性を変更しない場合には、本発明は、記載されるステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、いくつかのステップが、他のステップの前、後、またはそれと並列に(実質的に同時に)実行できることを認識されたい。場合によっては、本発明から逸脱することなく、いくつかのステップが省略されてもよく、または実行されなくてもよい。さらに、「それ以降」、「その後」、「次に」などの語は、ステップの順序を制限することを意図しない。これらの語は単に、例示的な方法の説明を理解できるように読者を導くために使用される。   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)

ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のための方法であって、
電力バジェットを求めるステップであって、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表す、求めるステップと、
前記複数の処理コアのための現在の総電力消費量レベルを求めるステップと、
前記現在の総電力消費量レベルを前記電力バジェットと比較するステップと、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも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.
前記現在の総電力消費量レベルは、前記複数の処理コアの動作温度に基づいて求められる、請求項1に記載の方法。   The method of claim 1, wherein the current total power consumption level is determined based on operating temperatures of the plurality of processing cores. 前記現在の総電力消費量レベルは、ルックアップテーブルから求められる、請求項2に記載の方法。   The method of claim 2, wherein the current total power consumption level is determined from a lookup table. 前記現在の総電力消費量レベルは、前記複数の処理コアのそれぞれに関連付けられる数学関数から求められる、請求項2に記載の方法。   The method of claim 2, wherein the current total power consumption level is determined from a mathematical function associated with each of the plurality of processing cores. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は割込み待ち(「WFI」)状態である、請求項1に記載の方法。   The method of claim 1, wherein the first idle state is a power down state and the second idle state is a wait for interrupt (“WFI”) state. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は保持状態である、請求項1に記載の方法。   2. The method of claim 1, wherein the first idle state is a sudden power reduction state and the second idle state is a holding state. 前記第1のアイドル状態は保持状態であり、前記第2のアイドル状態はWFI状態である、請求項1に記載の方法。   2. The method of claim 1, wherein the first idle state is a holding state and the second idle state is a WFI state. 前記相応しい処理コアは、アイドル動作状態で存在しているために移行するのに相応しい、請求項1に記載の方法。   The method of claim 1, wherein the suitable processing core is suitable for transitioning because it exists in an idle operating state. 処理されるべき作業負荷を受け取るステップと、前記処理コアを前記第2のアイドル状態からアクティブ状態に移行させるステップとをさらに含む、請求項1に記載の方法。   The method of claim 1, further comprising receiving a workload to be processed and transitioning the processing core from the second idle state to an active state. 前記PCDは、セルラー電話、衛星電話、携帯情報端末(「PDA」)、スマートフォン、ナビゲーションデバイス、タブレット、スマートブック、メディアプレーヤ、およびラップトップコンピュータのうちの少なくとも1つを含む、請求項1に記載の方法。   The PCD includes at least one of a cellular phone, a satellite phone, a personal digital assistant (“PDA”), a smartphone, a navigation device, a tablet, a smart book, a media player, and a laptop computer. the method of. ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のためのコンピュータシステムであって、前記システムは、
アイドル状態選択(「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 .
前記現在の総電力消費量レベルは、前記複数の処理コアの動作温度に基づいて求められる、請求項11に記載のコンピュータシステム。   12. The computer system of claim 11, wherein the current total power consumption level is determined based on operating temperatures of the plurality of processing cores. 前記現在の総電力消費量レベルは、ルックアップテーブルから求められる、請求項12に記載のコンピュータシステム。   The computer system of claim 12, wherein the current total power consumption level is determined from a look-up table. 前記現在の総電力消費量レベルは、前記複数の処理コアのそれぞれに関連付けられる数学関数から求められる、請求項12に記載のコンピュータシステム。   The computer system of claim 12, wherein the current total power consumption level is determined from a mathematical function associated with each of the plurality of processing cores. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は割込み待ち(「WFI」)状態である、請求項11に記載のコンピュータシステム。   12. The computer system of claim 11, wherein the first idle state is a sudden power reduction state and the second idle state is an interrupt waiting (“WFI”) state. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は保持状態である、請求項11に記載のコンピュータシステム。   12. The computer system according to claim 11, wherein the first idle state is a power suddenly decreasing state, and the second idle state is a holding state. 前記第1のアイドル状態は保持状態であり、前記第2のアイドル状態はWFI状態である、請求項11に記載のコンピュータシステム。   12. The computer system according to claim 11, wherein the first idle state is a holding state and the second idle state is a WFI state. 前記相応しい処理コアは、アイドル動作状態で存在しているために移行するのに相応しい、請求項11に記載のコンピュータシステム。   12. The computer system of claim 11, wherein the suitable processing core is suitable for transitioning because it exists in an idle operating state. 前記ISSモジュールは、処理されるべき作業負荷を認識し、前記処理コアを前記第2のアイドル状態からアクティブ状態に移行させるようにさらに構成される、請求項11に記載のコンピュータシステム。   12. The computer system of claim 11, wherein the ISS module is further configured to recognize a workload to be processed and transition the processing core from the second idle state to an active state. 前記PCDは、セルラー電話、衛星電話、携帯情報端末(「PDA」)、スマートフォン、ナビゲーションデバイス、タブレット、スマートブック、メディアプレーヤ、およびラップトップコンピュータのうちの少なくとも1つを含む、請求項11に記載のコンピュータシステム。   The PCD includes at least one of a cellular phone, a satellite phone, a personal digital assistant (“PDA”), a smartphone, a navigation device, a tablet, a smart book, a media player, and a laptop computer. Computer system. ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のためのコンピュータシステムであって、
電力バジェットを求めるための手段であって、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表す、求めるための手段と、
前記複数の処理コアのための現在の総電力消費量レベルを求めるための手段と、
前記現在の総電力消費量レベルを前記電力バジェットと比較するための手段と、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも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.
前記現在の総電力消費量レベルは、前記複数の処理コアの動作温度に基づいて求められる、請求項21に記載のコンピュータシステム。   24. The computer system of claim 21, wherein the current total power consumption level is determined based on operating temperatures of the plurality of processing cores. 前記現在の総電力消費量レベルは、ルックアップテーブルから求められる、請求項22に記載のコンピュータシステム。   23. The computer system of claim 22, wherein the current total power consumption level is determined from a lookup table. 前記現在の総電力消費量レベルは、前記複数の処理コアのそれぞれに関連付けられる数学関数から求められる、請求項22に記載のコンピュータシステム。   23. The computer system of claim 22, wherein the current total power consumption level is determined from a mathematical function associated with each of the plurality of processing cores. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は割込み待ち(「WFI」)状態である、請求項21に記載のコンピュータシステム。   23. The computer system of claim 21, wherein the first idle state is a sudden power reduction state and the second idle state is an interrupt waiting (“WFI”) state. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は保持状態である、請求項21に記載のコンピュータシステム。   22. The computer system according to claim 21, wherein the first idle state is a power suddenly decreasing state, and the second idle state is a holding state. 前記第1のアイドル状態は保持状態であり、前記第2のアイドル状態はWFI状態である、請求項21に記載のコンピュータシステム。   22. The computer system according to claim 21, wherein the first idle state is a holding state and the second idle state is a WFI state. 前記相応しい処理コアは、アイドル動作状態で存在しているために移行するのに相応しい、請求項21に記載のコンピュータシステム。   22. The computer system of claim 21, wherein the suitable processing core is suitable for transitioning because it exists in an idle operating state. 処理されるべき作業負荷を受け取るための手段と、前記処理コアを前記第2のアイドル状態からアクティブ状態に移行させるための手段とをさらに備える、請求項21に記載のコンピュータシステム。   The computer system of claim 21, further comprising means for receiving a workload to be processed and means for transitioning the processing core from the second idle state to an active state. 前記PCDは、セルラー電話、衛星電話、携帯情報端末(PDA)、スマートフォン、ナビゲーションデバイス、タブレット、スマートブック、メディアプレーヤ、およびラップトップコンピュータのうちの少なくとも1つを含む、請求項21に記載のコンピュータシステム。   The computer of claim 21, wherein the PCD includes at least one of a cellular phone, a satellite phone, a personal digital assistant (PDA), a smartphone, a navigation device, a tablet, a smart book, a media player, and a laptop computer. system. コンピュータ可読プログラムコードを具現したコンピュータ使用可能媒体を含むコンピュータプログラム製品であって、前記コンピュータ可読プログラムコードは、ポータブルコンピューティングデバイス(「PCD」)におけるアイドル状態最適化のための方法を実施するために実行されるように構成され、前記方法は、
電力バジェットを求めるステップであって、前記電力バジェットは複数の処理コアのための最大総電力消費量レベルを表す、求めるステップと、
前記複数の処理コアのための現在の総電力消費量レベルを求めるステップと、
前記現在の総電力消費量レベルを前記電力バジェットと比較するステップと、
前記現在の総電力消費量レベルが前記電力バジェットより低い場合には、少なくとも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.
前記現在の総電力消費量レベルは、前記複数の処理コアの動作温度に基づいて求められる、請求項31に記載のコンピュータプログラム製品。   32. The computer program product of claim 31, wherein the current total power consumption level is determined based on operating temperatures of the plurality of processing cores. 前記現在の総電力消費量レベルは、ルックアップテーブルから求められる、請求項32に記載のコンピュータプログラム製品。   The computer program product of claim 32, wherein the current total power consumption level is determined from a look-up table. 前記現在の総電力消費量レベルは、前記複数の処理コアのそれぞれに関連付けられる数学関数から求められる、請求項32に記載のコンピュータプログラム製品。   The computer program product of claim 32, wherein the current total power consumption level is determined from a mathematical function associated with each of the plurality of processing cores. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は割込み待ち(「WFI」)状態である、請求項31に記載のコンピュータプログラム製品。   32. The computer program product of claim 31, wherein the first idle state is a rapid power reduction state and the second idle state is a wait for interrupt (“WFI”) state. 前記第1のアイドル状態は電力急減状態であり、前記第2のアイドル状態は保持状態である、請求項31に記載のコンピュータプログラム製品。   32. The computer program product according to claim 31, wherein the first idle state is a power suddenly decreasing state and the second idle state is a holding state. 前記第1のアイドル状態は保持状態であり、前記第2のアイドル状態はWFI状態である、請求項31に記載のコンピュータプログラム製品。   32. The computer program product of claim 31, wherein the first idle state is a holding state and the second idle state is a WFI state. 前記相応しい処理コアは、アイドル動作状態で存在しているために移行するのに相応しい、請求項31に記載のコンピュータプログラム製品。   32. The computer program product of claim 31, wherein the suitable processing core is suitable for transitioning because it exists in an idle operating state. 処理されるべき作業負荷を受け取るステップと、前記処理コアを前記第2のアイドル状態からアクティブ状態に移行させるステップとをさらに含む、請求項31に記載のコンピュータプログラム製品。   32. The computer program product of claim 31, further comprising receiving a workload to be processed and transitioning the processing core from the second idle state to an active state. 前記PCDは、セルラー電話、衛星電話、携帯情報端末(PDA)、スマートフォン、ナビゲーションデバイス、タブレット、スマートブック、メディアプレーヤ、およびラップトップコンピュータのうちの少なくとも1つを含む、請求項31に記載のコンピュータプログラム製品。   32. The computer of claim 31, wherein the PCD comprises at least one of a cellular phone, a satellite phone, a personal digital assistant (PDA), a smartphone, a navigation device, a tablet, a smart book, a media player, and a laptop computer. Program product.
JP2016527135A 2013-07-18 2014-07-18 System and method for idle state optimization in a multiprocessor system on a chip Active JP6591971B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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