JP5649254B2 - ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム - Google Patents

ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム Download PDF

Info

Publication number
JP5649254B2
JP5649254B2 JP2013541082A JP2013541082A JP5649254B2 JP 5649254 B2 JP5649254 B2 JP 5649254B2 JP 2013541082 A JP2013541082 A JP 2013541082A JP 2013541082 A JP2013541082 A JP 2013541082A JP 5649254 B2 JP5649254 B2 JP 5649254B2
Authority
JP
Japan
Prior art keywords
processor
sleep
trigger
state
computing device
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.)
Active
Application number
JP2013541082A
Other languages
English (en)
Other versions
JP2014503883A (ja
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 JP2014503883A publication Critical patent/JP2014503883A/ja
Application granted granted Critical
Publication of JP5649254B2 publication Critical patent/JP5649254B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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

Description

優先権および関連出願に関する陳述
本出願は、「Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device」と題する2010年12月21日に出願された米国仮特許出願第61/425,677号に対する米国特許法第119条(e)項に基づく優先権を主張する。この米国仮特許出願の内容全体が、参照により本明細書に組み込まれる。
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある。これらのデバイスは、セルラー電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。
PCDは通常、中央処理装置、デジタル信号プロセッサなどを含む複数の処理ユニットから一般的に作られる複雑でコンパクトな電子パッケージングを有する。このハードウェアの大部分は、当業者によって理解されるようにSystem-on-a-chip(「SOC」)設計の一部であり得る。
従来型のPCDはたいてい、様々なSOCのそれぞれのプロセッサが低電力状態に入ろうとするときに、かなりの遅延時間に遭遇する。低電力状態は、当業者によって理解されるようにスリープ状態とも呼ばれる。
従来型のプロセッサが直面する1つの問題は、プロセッサがスリープ状態に入るために、たいてい、ソフトウェアにおいていくつかの通信が生じることである。この問題は、いくつかのリソースが、複数のSOCサブシステム間で状態を調整する必要がある共用リソースであることによって、さらに複雑になっている。
SoCの所与のサブシステム内において、ローカルリソースの管理は、たいてい容易であり、それぞれのオペレーティングシステムのアイドル状況から行われ得る。しかしながら、共用リソースのシャットダウンを管理するために、状態はたいてい、当該リソースのコントローラにより調整されなければならない。従来型の解決策は、サブシステムがスリープ状態に入るのを許容される前にソフトウェア内の同期ハンドシェイクを使用することによって、このシャットダウンの複雑性に対処してきた。この手法は次のようないくつかの理由で不利である。ソフトウェアハンドシェイクは遅い。ソフトウェアハンドシェイクはあらゆる種類の遅延、特に割込みサービスおよびコンテキスト切替えの問題を起こしやすい。
ソフトウェアハンドシェイクは電力節約を遅らせる。ハンドシェイクはソフトウェア内であるので、命令処理コアはすべてのハンドシェイクが完了するまで維持される必要がある。プロセッサコアは大きく複雑であるため、これは電力節約上、非常に不利である。
したがって、当技術分野で必要なものは、PCDのプロセッサがソフトウェアハンドシェイクなしでスリープ状態に入れるようにするための方法およびシステムである。
ポータブルコンピューティングデバイスのスリープ状態を管理するための方法およびシステムについて説明する。それらは、メモリでリソース状態のスリープセットおよびリソース状態のアクティブセットを維持するステップを含む。スリープセットおよびアクティブセットは、ポータブルコンピューティングデバイスの先行使用状況に基づいて修正され得る。プロセッサに対し、スリープ状態に入ることを求める要求が出され得る。これを受けてコントローラはトリガセットを調べて、プロセッサのシャットダウン条件が、トリガセットに記載されている1つまたは複数の条件とマッチしているか否かを判断する。各トリガセットは、「トリガイベント」を含むことができ、これによりコントローラは、システムパワーマネージャによって検出されるトリガイベントに基づいて特定のプロセッサによって望まれる指定のリソースセットを選択することができる。トリガセットがシャットダウン条件とマッチした場合、スリープセットに従って1つまたは複数のリソースの状態を切り替えるステップが、ソフトウェアハンドシェイクを使用せずにコントローラによって行われ得る。
図中、別段に規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
ポータブルコンピューティングデバイス(PCD)の一実施形態を示す機能ブロック図である。 コントローラ、システムパワーマネージャ、マスタプロセッサ、低レベルドライバ、共用リソース、およびローカルリソースの間の関係を示す機能ブロック図である。 コントローラおよびトリガセットに関する詳細を示す機能ブロック図である。 プロセッサの例示的なアクティブ/スリープトリガセットを示す図である。 プロセッサをスリープ状態に置くためのトリガセットを管理するための方法を示す論理フローチャートである。 プロセッサをスリープ状態からアクティブ状態に置くためのトリガセットを管理するための方法を示す論理フローチャートである。
「例示的な」という語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において用いられている。「例示的な」ものとして本明細書で説明する何らかの態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータ間に分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。各構成要素は、1つまたは複数のデータパケット(たとえば、信号を介してローカルシステム、分散システムにおける別の構成要素と相互作用するある構成要素からのデータ、および/または信号を介してインターネットなどのネットワーク上で他のシステムと相互作用するある構成要素からのデータ)を有する信号に従うなどしてローカルプロセスおよび/またはリモートプロセスを介して通信することができる。
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は交換可能に用いられる。第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多くのワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間バッテリー式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、中でも、セルラー電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述したデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。
図1:迅速にプロセッサスリープ状態に入ること、およびプロセッサスリープ状態から出ることを促進するためのPCD100の要素
図1を参照すると、この図は、PCD100内のプロセッサ110、126の迅速なスリープ状態を管理するための方法およびシステムを実現するためのワイヤレス電話の形態によるPCD100の例示的で非限定的な態様の機能ブロック図である。図示のように、PCD100は、マルチコアである第1の中央処理装置(「CPU」)110A、シングルコアタイプである第2のCPU110B、およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。
これらの3つのプロセッサ110A、110B、および126は連結され得る。第1のCPU110Aは、当業者によって理解されるように第0のコア222、第1のコア224、および第Nのコア230を含むことができる。代替実施形態では、2つのCPU110を使用する代わりに、当業者によって理解されるように2つのデジタル信号プロセッサ(「DSP」)を用いることもできる。さらなる例示的な実施形態では、当業者によって理解されるように前述のいずれかを組み合わせて使用することができる。
図1は、1つまたは複数のコントローラモジュール101を含む。この説明の残り部分では、コントローラモジュール101を複数形ではなく単数形でコントローラ101と呼ぶ。当業者は、本発明から逸脱することなく、コントローラ101を様々な部分に分割し、異なるプロセッサ110、126によって実行することができることを認識されよう。代替的に、コントローラ101を、単一の要素として編成し、単一のプロセッサ110または126によって実行することができる。
図1はまた、システムパワーマネージャ157を示している。システムパワーマネージャ(「SPM」)157は、CPU110Aおよびコントローラ101に結合される。SPM157は一般に、プロセッサのようなハードウェアを含む。ただし、当業者によって理解されるように、SPM157にソフトウェアおよび/またはファームウェアを用いてもよい。SPM157は、プロセッサ110、126、および母線の状態を監視する役目を果たすことができる。SPM157は、プロセッサ110、126がスリープ状態に入ろうとしているとき、またはスリープ状態から出ようとしているときを検出することができる。SPM157はコントローラ101に対し、プロセッサ110、126のこれらの状態を通信することができる。
コントローラ101は、CPU110によって実行されるソフトウェアを含むことができる。ただし、コントローラ101は、当業者によって理解されるように、ハードウェアおよび/またはファームウェアから形成されてもよい。
一般に、コントローラ101は、プロセッサ110、126がスリープ状態に迅速に入ること、およびスリープ状態から迅速に出ることを促進する役目を果たすことができる。コントローラ101は、図3に関して以下でさらに詳細に説明するように、リソースセットおよびトリガセットを備える1つまたは複数のテーブルを含むことができる。コントローラ101は、PCD100におけるすべての他のハードウェア要素が低電力状態に置かれ、機能していないときのために、それ自体の割込みコントローラ(不図示)を有してもよい。
コントローラ101はまた、1つまたは複数のマスタプロセッサ110、126の間のリソース要求を管理する。リソース要求は、リソース105(図2参照)によるアクションまたは機能を要求するマスタプロセッサ110によって出され得る。
リソース105は、1つまたは複数のマスタプロセッサ110、126によって実行されるソフトウェアアプリケーションのタスク、コマンド、および特徴をサポートするクロックおよび他の低レベルプロセッサを含むことができる。コントローラ101は、複数のマスタプロセッサ110、126の間のリソース要求競合を防ぐように設計され得る。
図1は、PCD100がメモリ112を含み得ることを示している。CPU110上で作動しているコントローラ101は、以下でさらに詳細に説明するように、迅速なスリープ状態を促進するために、またスリープ状態から迅速に出ることを促進するためにメモリ112にアクセスすることができる。
特定の態様において、本明細書で説明する方法ステップのうちの1つまたは複数は、コントローラ101を形成するメモリ112に記憶された実行可能命令およびパラメータによって実施され得る。コントローラ101を形成するこれらの命令は、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として動作し得る。
図1:PCD100の他の要素
図1に示されるように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130が、デジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。
図1は、ビデオコーダ/デコーダ(「コーデック」)134、たとえば、位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含むポータブルコンピューティングデバイス(PCD)の一実施形態を示す概略図である。ビデオコーデック134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136が、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138がビデオ増幅器136に結合される。図1に示すように、ユニバーサルシリアルバス(「USB」)コントローラ140がCPU110に結合される。また、USBポート142がUSBコントローラ140に結合される。加入者識別モジュール(SIM)カード146も、CPU110に結合され得る。さらに、図1に示すように、デジタルカメラ148がCPU110に結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
図1にさらに示すように、ステレオオーディオコーデック150がアナログ信号プロセッサ126に結合され得る。さらに、オーディオ増幅器152がステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156がオーディオ増幅器152に結合される。図1は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示している。加えて、マイクロフォン160がマイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)ラジオチューナー162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナー162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
図1は、高周波(「RF」)トランシーバ168がアナログ信号プロセッサ126に結合され得ることをさらに示している。RFスイッチ170がRFトランシーバ168およびRFアンテナ172に結合され得る。図1に示されるように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォンを備えたモノヘッドセット176がアナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178がアナログ信号プロセッサ126に結合され得る。図1は、たとえばバッテリーなどの電源180がオンチップシステム102に結合されることも示している。特定の態様では、電源180は、充電式DCバッテリー、または交流(「AC」)電源に接続されたAC-DC変換器から導かれるDC電源を含む。
図1に示されるように、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157B、および電源180は、オンチップシステム102の外部にある。
図2は、システム103を形成するコントローラ101、システムパワーマネージャ157、マスタプロセッサ110、126、低レベルドライバ103、共用リソース105A〜C、およびローカルリソース105D〜Hの間の関係を示す機能ブロック図である。システム103は、ソフトウェアハンドシェイクなしにプロセッサ110によって望まれるリソース状態間で切り替えることができる。
図2はまた、どのようにタッチスクリーン132がタッチスクリーンドライバ/コントローラ130に結合され得るかを示している。タッチスクリーンドライバ/コントローラ130は、第1のマスタプロセッサ110Aのクロックコード113Aに結合され得る。
第1のマスタプロセッサ110Aは、システムパワーマネージャ157およびコントローラ101に結合され得る。コントローラ101は、第1のマスタプロセッサ110Aのクロックコード113Aに結合され得る。コントローラ101は、1つまたは複数の低レベルドライバ103を含むことができる。1つまたは複数の低レベルドライバ103は、1つまたは複数の共用リソース105A〜Cと通信する役目を果たすことができる。共用リソース105A〜Cは、マスタプロセッサ110のタスクまたは機能をサポートする任意のタイプのデバイスを含むことができる。共用リソース105A〜Cは、グラフィカルプロセッサ、デコーダなどの単一の機能要素および他のプロセッサのクロックのようなデバイスを含むことができる。
共用リソース105A〜Cは、1つまたは複数のローカルリソース105D〜Hに結合され得る。1つまたは複数のローカルリソース105D〜Hは、マスタプロセッサ110のタスクまたは機能をサポートする任意のタイプのデバイスを含み得るという点で、共用リソース105A〜Cに類似していてよい。ローカルリソース105D〜Hは、グラフィカルプロセッサ、デコーダなどの単一の機能要素および他のプロセッサのクロックのようなデバイスを含むことができる。ローカルリソース105D〜Hは、リーフノードを含むことができる。リーフノードは、他の従属リソース105を通常は参照せず、または含まないローカルリソース105D〜Hとして当業者によって理解される。
コントローラ101は、1つまたは複数のマスタプロセッサ110、126から出される要求を管理する役目を果たすことができる。たとえば、コントローラ101は、第1のマスタプロセッサ110Aから生じる要求を管理することができる。第1のマスタプロセッサ110Aは、オペレータがタッチスクリーン132を操作したことに応答して、この要求を出すことができる。タッチスクリーン132は、タッチスクリーンドライバ/コントローラ130に信号を出すことができる。そして、タッチスクリーンドライバ/コントローラ130は、第1のマスタプロセッサ110Aのクロックコード113Aに信号を出すことができる。
コントローラ101はまた、特定のプロセッサ110のスリープ状態を管理する役目を果たすことができる。スリープ状態に入る前に、プロセッサ110は、スリープ状態を管理するための情報を提供する。スリープ状態を管理するための情報は、スリープ状態に入ること、およびスリープ状態から出ることを含む。スリープ状態を管理するためのこの情報を、以下ではトリガおよびリソース状態と呼ぶ。
トリガは、スリープ状態に入ること、またはスリープ状態から出ることのいずれかをプロセッサ110に行わせるイベントを定義することができる。トリガは一般に、コントローラ101内に含まれているか、コントローラ101によってアクセス可能なリソース状態を参照する。リソース状態は、特定のプロセッサ110が必要とするリソース105の所望の状態を定義する。各プロセッサ110はコントローラ101に対し、リソース状態の少なくとも2つのセット、すなわち、リソース状態のアクティブセットおよびリソース状態のスリープセットを提供することができる。
リソース状態のアクティブセットは、プロセッサ110がアクティブであり、リソース105からのアクション/機能を要求しているときに関するリソース105の状態を定義することができる。リソース状態のスリープセットは、プロセッサ110がスリープ状態または休止状態にあるときのリソース105の状態を定義することができる。トリガおよびリソース状態については、図3に関連して以下でさらに詳しく説明する。
図3は、コントローラ101、リソースセット304、およびトリガセット314に関する詳細を示す機能ブロック図である。前述のように、コントローラ101は、PCD100のプロセッサ110、126のうちの1つまたは複数によって実行されるソフトウェアを含むことができる。コントローラ101は、メモリ112に、または当業者によって理解されるようにローカルストレージのようなコントローラ101内のエリアに、情報を格納することができる。この情報は、コントローラ101によってサービスされる各マスタプロセッサ110に割り当てられるリソースセット304を含むリソーステーブル302を含むことができる。この情報はまた、同じく各マスタプロセッサ110に割り当てられる、各マスタプロセッサ110に固有であり得るトリガセット314を含むことができる。
各リソースセット304は一般に、特定のマスタプロセッサ110によって望まれるリソース105の状態に関係する情報を含む。特定のマスタプロセッサ110に割り当てられる各リソースセット304は、アクティブリソースセット306およびスリープリソースセット308を含むことができる。アクティブリソースセット306は、特定のマスタプロセッサ110がアクティブであるか、正常に機能しているときのリソース105の状態を定義または記述することができる。スリープリソースセット308は、特定のマスタプロセッサが当業者によって理解されるようにスリープ状態または休止状態にあるときのリソース105の状態を定義または記述することができる。各リソースセット304はまた、図3に示す例示的な実施形態において、第1のマスタプロセッサ110に割り当てられる「セット1」および「セット2」のような追加セットを含むことができる。
一例として、図3に示す第1のマスタプロセッサ(A)110Aのアクティブリソースセット306は、リソース105の各々に以下の値を割り当てている。第1の共用リソース(SR#1)105Aの場合には値は1であり、第2の共用リソース(SR#2)105Bの値は1であり、第Nの共用リソース(SR#N)105Cの値は1である一方、第1のローカルリソース(LR#1)105Dの4つの値は1、0、1、および1である。
前述のように、リソース105の状態は単一の値に限定されず、複数の値を含むことができる。さらに、リソースの状態は、いくつかの異なるタイプのパラメータのいずれかを含むことができる。たとえば、状態は、リソース105として機能することができる特定のクロックのクロック速度のレベルについて数百メガヘルツを指定することができる。
別の例として、図3に示す第1のマスタプロセッサ(A)110Aのスリープリソースセット308Aは、リソース105の各々に以下の値を割り当てている。第1の共用リソース(SR#1)105Aの場合、このリソースは0の値を割り当てられており、第2の共用リソース(SR#2)105Bは0の割当て値を有する一方、第Nの共用リソース(SR#N)105Cは0の割当て値を有する。第1のローカルリソース(LR#1)105Dは、0、1、0および0の割当て値を有し得る。
特定のマスタプロセッサ110に割り当てられる各トリガセット314は、少なくとも3つのフィールド、すなわち、割込みフィールド316、「セットから」318、および「セットへ」320を含むことができる。トリガセット314のこれら3つのフィールドの各々はまた、3つの列、すなわち、トリガ開始列322、クリア列324、およびタイマー列326からなる対応する1セットを含むことができる。
割込みフィールド316は、システムパワーマネージャ157によって生成および/または検出され得るアクションまたは活動を記述する。割込みフィールド316は一般に、「トリガイベント」と特徴付けることができ、これによりコントローラ101は、SPM157によって検出されるトリガイベントに基づいて特定のプロセッサ110によって望まれる指定のリソースセット304を選択することができる。コントローラ101によるリソースセット304の選択は、背景技術セクションで上述した時間のかかるソフトウェアハンドシェイクを回避することができる。
第1のマスタプロセッサ(A)110Aについて図3の第1のトリガセット(トリガセット#1)を調べるにあたり、セットのフィールドについて列ごとに順に論じる。トリガセット314Aの第1の列から始めると、トリガ開始列322は割込みフィールド316に対応する第1の行に「復号割込み」と記載されたアクションを有する。
前述のように、割込みフィールド316は、トリガ開始フィールド322の検出に応答してリソースセット304の状態をアクティブ化することをコントローラ101に行わせるパラメータを定義することができる。図3に示す例示的な実施形態では、割込みフィールド316Aは、「復号割込み」と定義または記述されており、これは、システムパワーマネージャ110が「復号割込み」を検出したとき、たとえば、PCD100がビデオを復号しているとき、このイベントがコントローラ101に対し、「トリガ開始」列にある第1の列322A1における「セットから」フィールド318を調べるように警告し得ることを意味する。
「セットから」フィールド318は、コントローラ101によって調べられている特定のマスタプロセッサ110に当てはまる現在のリソースセット304を示す値を含むことができる。このフィールド318は、リソースセット304をその識別子、たとえば「アクティブセット」、「スリープセット」、または「セット1」もしくは「セット2」のようなセット番号によって記載することができる。フィールド320は、アスタリスクのような「ワイルドカード」を含むこともある。
「セットから」フィールド318におけるワイルドカード指定により、コントローラ101は、特定のマスタプロセッサ101によって使用されていた最後の既知のアクティブリソースセット304を取り出すことができる。図3に示す例示的な実施形態では、「セットから」行318Aおよびトリガ開始列322A1は、アスタリスクまたはワイルドカードの値を有する。
「セットへ」320は、「セットから」318と同様に、識別子、たとえば「アクティブセット」、「スリープセット」、または「セット1」もしくは「セット2」のようなセット番号によるリソースセット304の記載を含むことができる。フィールド320はまた、プロセッサ110によって利用されている最後のリソースセット304を意味するアスタリスクのような「ワイルドカード」を含むことができる。図3に示す例示的な実施形態では、「セットへ」フィールド320Aおよびトリガ開始列322A1は、第1のリソースセット304Aの列310Aに記載されているリソースセット1である「セット1」の値を有する。
図3に示す例では、復号割込みイベントは、SPM157によって検出されたとき、コントローラ101に警告する。コントローラ101は、第1のマスタプロセッサ110の第1のトリガセットを調べる。トリガ開始列322A1は、マッチング値(復号割込み)を記載しているので、コントローラ101は、「セットから」フィールド318Aを調べて、値がワイルドカード値またはアスタリスクであると判断する。次いでコントローラ101は、特定のリソースセット304Aを指定する「セット1」の値を有する「セットへ」フィールド320Aを調べる。コントローラ101によって調べられたこの情報に基づき、コントローラ101は、第1のマスタプロセッサ110Aの現在のリソースセット304Aを、現在のセットからリソースセット「セット1」に切り替える。リソースセット1は、第1のマスタプロセッサ110Aに割り当てられているリソースセット304Aの列310Aに記載されている。
さらに、SPM157またはコントローラ101が、第1のトリガセットのクリア列324A1に示すような「非復号」イベントを検出したとき、コントローラ101は「セットから」フィールド318Aを調べ、この値が「セット1」を含むと判断する。次いで、コントローラ101は、この例ではワイルドカードまたはアスタリスクの値を有する「セットへ」フィールド320を調べる。これは、コントローラ101が、第1のマスタプロセッサ110Aのリソースセット304Aを、「セット1」のリソースセットから、プロセッサ110Aによって使用された最後のアクティブリソースセットに切り替えることを意味する。
トリガセットのタイマーフィールド326は、特定のリソースセット304がコントローラ101によって使用され得る時間量を示すことができる。そのため、図3に示す例示的な実施形態では、第1のトリガセットのタイマーフィールド326A1の場合、このフィールドは3ミリ秒の値を有する。これは、復号割込みイベントが第1のトリガセットのトリガ開始フィールド322A1とマッチしたときに、コントローラ101が、「セットへ」フィールド320Aに指定されたリソースセット304を3ミリ秒間だけ利用することを意味する。他の例示的な実施形態では、タイマーフィールド326に情報がない状況、またはこの移行のタイマートリガ326がないこと、および移行が非復号フィールドにのみ適用されることを示す値に対応するように値が定義される状況が発生または存在し得る。図3に示すようなタイマーフィールド、すなわちタイマーフィールド326A1および326A2が定義される状況では、タイマーフィールド326とクリアフィールド324との間でどちらのイベントが最初に生じても、たいてい移行が始まる。
図4は、プロセッサ110の例示的なアクティブ/スリープトリガセット314を示している。この例示的な実施形態では、第1の列322における割込みフィールド316は、「シャットダウン」イベントを、特定のプロセッサ110のスリープセット308(図3)を開始するアクションと定義する。「シャットダウン」イベントは、オペレータがPCD100をシャットダウンするためにオン/オフボタンを選択するようなアクションを含むことができる。
図4の例示的な実施形態では、「シャットダウン」イベントが検出されたとき、コントローラ101は、現在のアクティブリソースセット306をスリープセット308に移行させる。スリープセット308は、図3のテーブル302のマスタリソースセット304に記載されている。
コントローラ101が、PCD100のオペレータによって開始されるパワーオンイベントのような「立ち上げ」イベントが生じていることを示すメッセージをSPM157から受信したとき、コントローラは、トリガセット314の「セットへ」フィールド320に記載されているワイルドカードまたはアスタリスク値に基づいて、プロセッサ110をスリープセット308から最後のアクティブリソースセット304に移行させる。
上記のように、システム103は、アクティブセット306およびスリープセット308に限定されない。システム103は、図3に示すように、スリープ状態に入ること、またはスリープ状態から出ること以外のイベントにおけるリソースセット304間の切替えに使用され得る。
図5は、プロセッサ110をスリープ状態に置くためのトリガセット314を管理するための方法500を示す論理フローチャートである。ブロック505が、方法500の最初のステップである。ブロック505において、各プロセッサ110は、PCD100の先行使用事例からのデータに基づいて必要に応じて、コントローラ101内のトリガセット314およびリソースセット304を更新することができる。
ブロック510において、プロセッサ110はシステムパワーマネージャ(「SPM」)157に対し、コントローラ101へのシャットダウン信号を生成するように要求することができる。ブロック515において、SPM157はシャットダウン信号をコントローラ101に送ることができる。
コントローラ101は、ブロック520においてシャットダウン信号を受信することができ、図4に示すようにシャットダウンイベントに割り当てられ得るトリガセット314をアクティブ化することができる。図4に示す例示的な実施形態では、シャットダウン信号は、トリガセット314の割込みフィールド316と突き合わせられる。トリガセット314はコントローラ101に対し、「セットへ」フィールド320に示されているようにスリープセット308にアクセスするように指示する。ブロック525において、コントローラ101は早急に、確認応答信号をSPM157に送ることができ、コントローラ101は引き続き、シャットダウン信号イベントとマッチするトリガセット314によって参照されるリソースセット304をアクティブ化することができる。
ブロック530において、図4に示す対応する割込みフィールド316に「シャットダウン」イベントを記載しているマッチングトリガセット314のような各マッチングトリガセット314について、コントローラ101は、現在のリソースセット304を、図3のマスタプロセッサ110Aの第1のリソースセット304Aのスリープセット308Aのようなスリープセット308に切り替えることができる。
次に、ブロック535において、コントローラ101は、図2に示すような低レベルドライバ103にスリープ要求状態を伝えることができる。低レベルドライバ103は、要求された状態を、対応するリソース105に伝達することができる。
ブロック540において、各リソース105はシャットダウン信号確認応答をコントローラ101およびSPM157に出すことができる。そして、方法500は終了することができる。
図6は、プロセッサ110をスリープ状態からアクティブ状態に置くためのトリガセット314を管理するための方法600を示す論理フローチャートである。ブロック605が、方法600の最初のステップである。ブロック605において、ウェイクアップ状態またはウェイクアップイベントが、SPM157により検出されるか、ウェイクアップイベントが、それ自体の割込みコントローラ(不図示)を有し得るコントローラ101によって直接検出される。例示的な実施形態は、ウェイクアップ割込みがSPM157によって検出可能ではないように設計され得る。そのような例示的な実施形態では、コントローラ101はその割込みコントローラを使用して、それらを検出し、これらをマスタプロセッサ110のスリープセット要件に「マッピング」させることができる。
次に、ブロック610において、SPM157はウェイクアップ信号をコントローラ101に送ることができる。ブロック615において、コントローラ101は、SPM157からウェイクアップ信号を受信し、ウェイクアップ信号とマッチした1つまたは複数のトリガセット314をアクティブ化することができる。たとえば、コントローラ101はウェイクアップ信号を、図4のトリガセット314の「アクティブ」列内の割込みフィールド316に記載されている「立ち上げ」イベントと突き合わせることができる。図4の例示的な実施形態では、アクティブ列324内の「セットへ」フィールド320はコントローラを、現在のプロセッサ110によって使用された最後のリソースセット304に案内する。
そのため、ブロック620において、コントローラ101は、このマッチングトリガセット314に基づいて、プロセッサ110の現在のリソースセット304を変更する。当業者は、コントローラ101が図3に示すように維持するそのトリガセットのすべてを巡回することを認識する。
次に、ブロック625において、コントローラ101はSPM157に対し、どのマスタプロセッサ110がスリープ状態からアウェイクしたかを識別するウェイクアップ確認応答を送ることができる。次に、ブロック630において、マッチングウェイクアップトリガセット314を有する各プロセッサ110は、スリープ状態から解放され、SPM157によって電力を供給されてアクティブ状態に戻される。そして、方法600は終了する。
本発明が説明通りに機能するように、本明細書で説明したプロセスまたはプロセスの流れの特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、ステップの順序または順番によって本発明の機能が変わることがない場合、本発明は説明したステップの順序に限定されない。つまり、開示されたシステムおよび方法から逸脱することなく、あるステップを他のステップの前に実行しても、後に実行してもよく、あるいは各ステップを並行して(実質的に同時に)実行してもよいことを認識されたい。場合によっては、当業者によって理解されるように方法から逸脱することなく、特定のステップを省略してよく、実行しなくてもよい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
上記の開示に鑑みて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。コンピュータによって実施される特許請求されるプロセスの発明性のある機能が、上の説明において、かつ、様々なプロセスの流れを示し得る各図に関連して、より詳細に説明される。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。
また、任意の接続をコンピュータ可読媒体と呼ぶのが適切である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザディスク、光ディスク、デジタル多用途ディスク(「DVD」)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
選択された態様について詳細に図示し説明したが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
100 PCD
101 コントローラモジュール、コントローラ
102 オンチップシステム
103 低レベルドライバ、システム
105 リソース
105A〜C 共用リソース
105A 第1の共用リソース(SR#1)
105B 第2の共用リソース(SR#2)
105C 第Nの共用リソース(SR#N)
105D〜H ローカルリソース
105D 第1のローカルリソース(LR#1)
110 プロセッサ、CPU、マスタプロセッサ、デジタル信号プロセッサ、マルチコア中央処理装置(「CPU」)
110A 第1の中央処理装置(「CPU」)、プロセッサ、第1のマスタプロセッサ(A)
110B 第2のCPU、プロセッサ
112 メモリ
113A クロックコード
126 プロセッサ、アナログ信号プロセッサ、マスタプロセッサ
128 ディスプレイコントローラ
130 タッチスクリーンドライバ/コントローラ
132 タッチスクリーンディスプレイ、タッチスクリーン
134 ビデオコーダ/デコーダ(「コーデック」)、ビデオエンコーダ
136 ビデオ増幅器
138 ビデオポート
140 ユニバーサルシリアルバス(「USB」)コントローラ
142 USBポート
146 加入者識別モジュール(SIM)カード
148 デジタルカメラ、カメラ
150 ステレオオーディオコーデック
152 オーディオ増幅器
154 第1のステレオスピーカー
156 第2のステレオスピーカー
157 システムパワーマネージャ(「SPM」)
157B 熱センサ
158 マイクロフォン増幅器
160 マイクロフォン
162 周波数変調(「FM」)ラジオチューナー
164 FMアンテナ
166 ステレオヘッドフォン
168 高周波(「RF」)トランシーバ
170 RFスイッチ
172 RFアンテナ
174 キーパッド
176 マイクロフォンを備えたモノヘッドセット
178 バイブレータデバイス、バイブレータ
180 電源
222 第0のコア
224 第1のコア
230 第Nのコア
302 リソーステーブル
304 リソースセット、マスタリソースセット
306 アクティブリソースセット、アクティブセット
308 スリープリソースセット、スリープセット
314 トリガセット
316 割込みフィールド
318 「セットから」フィールド、
320 「セットへ」フィールド
322 トリガ開始列、トリガ開始フィールド
324 クリア列、クリアフィールド、アクティブ列
326 タイマー列、タイマーフィールド、タイマートリガ

Claims (40)

  1. ポータブルコンピューティングデバイスのスリープ状態を管理するための方法であって、
    メモリで、前記ポータブルコンピューティングデバイスのプロセッサがスリープ状態にあるときの前記プロセッサのリソースの状態を定義するリソース状態のスリープセット、および前記ポータブルコンピューティングデバイスの前記プロセッサがアクティブであるときの前記プロセッサのリソースの状態を定義するリソース状態のアクティブセットを維持するステップであって、前記スリープセット及び前記アクティブセットはそれぞれ、リソース状態の組み合わせを含んでおり、前記リソース状態の組み合わせは、前記ポータブルコンピューティングデバイスの前記プロセッサに割り当てられたトリガセットの中の値と関連する、ステップと、
    前記ポータブルコンピューティングデバイスの先行使用状況に基づいて、前記スリープセットおよび前記アクティブセットを更新するステップと、
    前記プロセッサに対し、スリープ状態に入ることを求める要求を出すステップと、
    前記トリガセットを調べて、前記プロセッサに対する前記スリープ状態要求に関連するシャットダウン信号が、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するステップと、
    トリガセット値が前記シャットダウン信号とマッチした場合に、前記スリープセットの中の前記トリガセット値と関連するリソース状態の組み合わせに従って1つまたは複数のリソースの状態を切り替えるステップと
    を含む方法。
  2. 前記プロセッサに対し前記スリープ状態に入ることを求める前記要求が受信されたことを示す確認応答を生成するステップをさらに含む、請求項1に記載の方法。
  3. リソース状態の前記アクティブセットおよびリソース状態の前記スリープセットは互いに異なる、請求項1に記載の方法。
  4. 前記トリガセットを調べて、前記プロセッサに対するシャットダウン信号がマッチしているか否かを判断する前記ステップは、コントローラによって実行される、請求項1に記載の方法。
  5. 前記コントローラは、ソフトウェアおよびハードウェアのうちの少なくとも1つを含む、請求項4に記載の方法。
  6. 各トリガセットは、割込みフィールド、セットからフィールド、セットへフィールド、トリガ開始フィールド、クリアフィールド、およびタイマーフィールドのうちの少なくとも1つを含む、請求項1に記載の方法。
  7. 前記ポータブルコンピューティングデバイス(PCD)の各マスタプロセッサのアクティブセットおよびスリープセットを維持するステップをさらに含む、請求項1に記載の方法。
  8. PCDの各マスタプロセッサの少なくとも1つのトリガセットを維持するステップをさらに含む、請求項7に記載の方法。
  9. トリガセットを調べて、前記プロセッサのウェイクアップイベントが、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するステップと、
    トリガセット値がウェイクアップイベントとマッチした場合に、前記アクティブセットに従って1つまたは複数のリソースの状態を切り替えるステップと
    をさらに含む、請求項1に記載の方法。
  10. 前記ポータブルコンピューティングデバイスは、セルラー電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、およびワイヤレス接続を有するラップトップコンピュータのうちの少なくとも1つを含む、請求項1に記載の方法。
  11. ポータブルコンピューティングデバイスのスリープ状態を管理するためのコンピュータシステムであって、
    プロセッサを含み、前記プロセッサは、
    メモリで、前記ポータブルコンピューティングデバイスのプロセッサがスリープ状態にあるときの前記プロセッサのリソースの状態を定義するリソース状態のスリープセット、および前記ポータブルコンピューティングデバイスの前記プロセッサがアクティブであるときの前記プロセッサのリソースの状態を定義するリソース状態のアクティブセットを維持するステップであって、前記スリープセット及び前記アクティブセットはそれぞれ、リソース状態の組み合わせを含んでおり、前記リソース状態の組み合わせは、前記ポータブルコンピューティングデバイスの前記プロセッサに割り当てられたトリガセットの中の値と関連する、ステップと、
    前記ポータブルコンピューティングデバイスの先行使用状況に基づいて、前記スリープセットおよび前記アクティブセットを更新するステップと、
    前記プロセッサに対し、スリープ状態に入ることを求める要求を出すステップと、
    前記トリガセットを調べて、前記プロセッサに対する前記スリープ状態要求に関連するシャットダウン信号が、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するステップと、
    トリガセット値がシャットダウン信号とマッチした場合に、前記スリープセットの中の前記トリガセット値と関連するリソース状態の組み合わせに従って1つまたは複数のリソースの状態を切り替えるステップと
    を行うように動作可能である、コンピュータシステム。
  12. 前記プロセッサは、前記プロセッサに対し前記スリープ状態に入ることを求める前記要求が受信されたことを示す確認応答を生成するステップを行うようにさらに動作可能である、請求項11に記載のシステム。
  13. リソース状態の前記アクティブセットおよびリソース状態の前記スリープセットは互いに異なる、請求項11に記載のシステム。
  14. 前記トリガセットを調べて、前記プロセッサに対するシャットダウン信号がマッチしているか否かを判断するステップを行うように動作可能である前記プロセッサは、コントローラによって実行される、請求項11に記載のシステム。
  15. 前記コントローラは、ソフトウェアおよびハードウェアのうちの少なくとも1つを含む、請求項14に記載のシステム。
  16. 各トリガセットは、割込みフィールド、セットからフィールド、セットへフィールド、トリガ開始フィールド、クリアフィールド、およびタイマーフィールドのうちの少なくとも1つを含む、請求項11に記載のシステム。
  17. 前記プロセッサは、前記ポータブルコンピューティングデバイス(PCD)の各マスタプロセッサのアクティブセットおよびスリープセットを維持するステップを行うようにさらに動作可能である、請求項11に記載のシステム。
  18. 前記プロセッサは、PCDの各マスタプロセッサの少なくとも1つのトリガセットを維持するステップを行うようにさらに動作可能である、請求項17に記載のシステム。
  19. 前記プロセッサは、
    トリガセットを調べて、前記プロセッサのウェイクアップイベントが、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するステップと、
    トリガセット値がウェイクアップイベントとマッチした場合に、前記アクティブセットに従って1つまたは複数のリソースの状態を切り替えるステップと
    を行うようにさらに動作可能である、請求項11に記載のシステム。
  20. 前記ポータブルコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項11に記載のシステム。
  21. ポータブルコンピューティングデバイスのスリープ状態を管理するためのコンピュータシステムであって、
    メモリで、前記ポータブルコンピューティングデバイスのプロセッサがスリープ状態にあるときの前記プロセッサのリソースの状態を定義するリソース状態のスリープセット、および前記ポータブルコンピューティングデバイスの前記プロセッサがアクティブであるときの前記プロセッサのリソースの状態を定義するリソース状態のアクティブセットを維持するための手段であって、前記スリープセット及び前記アクティブセットはそれぞれ、リソース状態の組み合わせを含んでおり、前記リソース状態の組み合わせは、前記ポータブルコンピューティングデバイスの前記プロセッサに割り当てられたトリガセットの中の値と関連する、手段と、
    前記ポータブルコンピューティングデバイスの先行使用状況に基づいて、前記スリープセットおよび前記アクティブセットを更新するための手段と、
    前記プロセッサに対し、スリープ状態に入ることを求める要求を出すための手段と、
    前記トリガセットを調べて、前記プロセッサに対する前記スリープ状態要求に関連するシャットダウン信号が、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するための手段と、
    トリガセット値が前記シャットダウン信号とマッチした場合に、前記スリープセットの中の前記トリガセット値と関連するリソース状態の組み合わせに従って1つまたは複数のリソースの状態を切り替えるための手段と
    を含むコンピュータシステム。
  22. 前記プロセッサに対し前記スリープ状態に入ることを求める前記要求が受信されたことを示す確認応答を生成するための手段
    をさらに含む、請求項21に記載のシステム。
  23. リソース状態の前記アクティブセットおよびリソース状態の前記スリープセットは互いに異なる、請求項21に記載のシステム。
  24. 前記トリガセットを調べて、前記プロセッサに対するシャットダウン信号がマッチしているか否かを判断するための前記手段は、コントローラを含む、請求項21に記載のシステム。
  25. 前記コントローラは、ソフトウェアおよびハードウェアのうちの少なくとも1つを含む、請求項24に記載のシステム。
  26. 各トリガセットは、割込みフィールド、セットからフィールド、セットへフィールド、トリガ開始フィールド、クリアフィールド、およびタイマーフィールドのうちの少なくとも1つを含む、請求項21に記載のシステム。
  27. 前記ポータブルコンピューティングデバイス(PCD)の各マスタプロセッサのアクティブセットおよびスリープセットを維持するための手段
    をさらに含む、請求項21に記載のシステム。
  28. PCDの各マスタプロセッサの少なくとも1つのトリガセットを維持するための手段
    をさらに含む、請求項21に記載のシステム。
  29. トリガセットを調べて、前記プロセッサのウェイクアップイベントが、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するための手段と、
    トリガセット値がウェイクアップイベントとマッチした場合に、前記アクティブセットに従って1つまたは複数のリソースの状態を切り替えるための手段と
    をさらに含む、請求項21に記載のシステム。
  30. 前記ポータブルコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項21に記載のシステム。
  31. コンピュータ可読プログラムコードからなるコンピュータプログラムであって、前記コンピュータ可読プログラムコードは、ポータブルコンピューティングデバイスのスリープ状態を管理するための方法を実施するために実行されるように適合される、コンピュータプログラムにおいて、前記方法は、
    メモリで、前記ポータブルコンピューティングデバイスのプロセッサがスリープ状態にあるときの前記プロセッサのリソースの状態を定義するリソース状態のスリープセット、および前記ポータブルコンピューティングデバイスの前記プロセッサがアクティブであるときの前記プロセッサのリソースの状態を定義するリソース状態のアクティブセットを維持するステップであって、前記スリープセット及び前記アクティブセットはそれぞれ、リソース状態の組み合わせを含んでおり、前記リソース状態の組み合わせは、前記ポータブルコンピューティングデバイスの前記プロセッサに割り当てられたトリガセットの中の値と関連する、ステップと、
    前記ポータブルコンピューティングデバイスの先行使用状況に基づいて、前記スリープセットおよび前記アクティブセットを更新するステップと、
    前記プロセッサに対し、スリープ状態に入ることを求める要求を出すステップと、
    前記トリガセットを調べて、前記プロセッサに対する前記スリープ状態要求に関連するシャットダウン信号が、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するステップと、
    トリガセット値が前記シャットダウン信号とマッチした場合に、前記スリープセットの中の前記トリガセット値と関連するリソース状態の組み合わせに従って1つまたは複数のリソースの状態を切り替えるステップと
    を含む、コンピュータプログラム。
  32. 前記方法を実施する前記プログラムコードは、
    前記プロセッサに対し前記スリープ状態に入ることを求める前記要求が受信されたことを示す確認応答を生成するステップ
    をさらに含む、請求項31に記載のコンピュータプログラム。
  33. リソース状態のアクティブセットおよびリソース状態のスリープセットは互いに異なる、請求項31に記載のコンピュータプログラム。
  34. 前記トリガセットを調べて、前記プロセッサに対するシャットダウン信号がマッチしているか否かを判断する前記ステップは、コントローラによって実行される、請求項31に記載のコンピュータプログラム。
  35. 前記コントローラは、ソフトウェアおよびハードウェアのうちの少なくとも1つを含む、請求項34に記載のコンピュータプログラム。
  36. 各トリガセットは、割込みフィールド、セットからフィールド、セットへフィールド、トリガ開始フィールド、クリアフィールド、およびタイマーフィールドのうちの少なくとも1つを含む、請求項31に記載のコンピュータプログラム。
  37. 前記方法を実施する前記プログラムコードは、
    前記ポータブルコンピューティングデバイス(PCD)の各マスタプロセッサのアクティブセットおよびスリープセットを維持するステップ
    をさらに含む、請求項31に記載のコンピュータプログラム。
  38. 前記方法を実施する前記プログラムコードは、
    PCDの各マスタプロセッサの少なくとも1つのトリガセットを維持するステップ
    をさらに含む、請求項31に記載のコンピュータプログラム。
  39. 前記方法を実施する前記プログラムコードは、
    トリガセットを調べて、前記プロセッサのウェイクアップイベントが、前記トリガセットに記載されている1つまたは複数の値とマッチするか否かを判断するステップと、
    トリガセット値がウェイクアップイベントとマッチした場合に、前記アクティブセットに従って1つまたは複数のリソースの状態を切り替えるステップと
    をさらに含む、請求項31に記載のコンピュータプログラム。
  40. 前記ポータブルコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項31に記載のコンピュータプログラム。
JP2013541082A 2010-12-21 2011-12-19 ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム Active JP5649254B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201061425677P 2010-12-21 2010-12-21
US61/425,677 2010-12-21
US13/069,071 2011-03-22
US13/069,071 US9285856B2 (en) 2010-12-21 2011-03-22 Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device
PCT/US2011/065885 WO2012087957A1 (en) 2010-12-21 2011-12-19 Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device

Publications (2)

Publication Number Publication Date
JP2014503883A JP2014503883A (ja) 2014-02-13
JP5649254B2 true JP5649254B2 (ja) 2015-01-07

Family

ID=46236060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013541082A Active JP5649254B2 (ja) 2010-12-21 2011-12-19 ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム

Country Status (6)

Country Link
US (1) US9285856B2 (ja)
EP (1) EP2656172A1 (ja)
JP (1) JP5649254B2 (ja)
KR (1) KR101483897B1 (ja)
CN (1) CN103229124B (ja)
WO (1) WO2012087957A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10304051B2 (en) 2010-04-09 2019-05-28 Paypal, Inc. NFC mobile wallet processing systems and methods
US11887105B2 (en) 2010-04-09 2024-01-30 Paypal, Inc. Transaction token issuing authorities
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
US8996898B2 (en) * 2012-04-24 2015-03-31 The Morey Corporation Alarm-based power saving mode for electronic device where a power latch controls power switch based on a control value
US9927866B2 (en) * 2013-11-21 2018-03-27 Qualcomm Incorporated Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US9612651B2 (en) 2014-10-27 2017-04-04 Futurewei Technologies, Inc. Access based resources driven low power control and management for multi-core system on a chip
US9658893B2 (en) 2015-05-06 2017-05-23 Runtime Design Automation Multilayered resource scheduling

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461266A (en) * 1990-11-27 1995-10-24 Hitachi, Ltd. Power consumption control system
US5692197A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Method and apparatus for reducing power consumption in a computer network without sacrificing performance
US5812860A (en) 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
JPH09244940A (ja) 1996-03-12 1997-09-19 Hitachi Ltd 分散計算機資源の管理方法
CA2255932C (en) 1996-05-22 2006-12-19 Geovector Corporation Method and apparatus for controlling electrical devices in response to sensed conditions
JP3463555B2 (ja) 1998-03-17 2003-11-05 ソニー株式会社 無線通信方法、無線通信システム、通信局、及び制御局
SG83684A1 (en) 1998-07-07 2001-10-16 Compaq Computer Corp Computer system performing machine specific tasks before going to a low power state
US6535798B1 (en) 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
GB2360670B (en) 2000-03-22 2004-02-04 At & T Lab Cambridge Ltd Power management system
US7062302B2 (en) 2000-05-12 2006-06-13 Denso Corporation Mobile terminal having power saving function variable with microphone usage conditions
GB0021171D0 (en) 2000-08-30 2000-10-11 Gibbs Int Tech Ltd Power train
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US20030110153A1 (en) 2001-12-11 2003-06-12 Sprint Communications Company L.P. Database performance monitoring method and tool
US7089430B2 (en) 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US6848057B2 (en) * 2002-05-28 2005-01-25 Nvidia Corporation Method and apparatus for providing a decoupled power management state
JP4749793B2 (ja) 2004-08-05 2011-08-17 パナソニック株式会社 省電力処理装置、省電力処理方法、及び省電力処理プログラム
US7360106B2 (en) 2004-08-05 2008-04-15 Matsushita Electric Industrial Co., Ltd. Power-saving processing unit, power-saving processing method and program record medium
US7383450B2 (en) * 2004-12-22 2008-06-03 Intel Corporation Low power firmware
US20060146769A1 (en) 2004-12-31 2006-07-06 Patel Anil N Method of operating a WLAN mobile station
KR101114984B1 (ko) 2005-03-14 2012-03-06 삼성전자주식회사 가변적인 웨이크업 레이턴시를 가진 프로세싱 장치에서전원 관리 방법 및 장치
KR100685664B1 (ko) 2005-08-12 2007-02-26 삼성전자주식회사 호스트 및 클라이언트로 구성된 데이터 통신 시스템 및데이터 통신 시스템의 작동 방법
JP2007232588A (ja) 2006-03-01 2007-09-13 Nec Electronics Corp 半導体集積回路装置、及び、その制御方法
US7929912B2 (en) 2006-04-04 2011-04-19 Texas Instruments Incorporated Apparatus for and method of Bluetooth and WiMAX coexistence in a mobile handset
US8041972B2 (en) 2006-04-04 2011-10-18 Qualcomm Incorporated Apparatus and method for setting wakeup times in a communication device based on estimated lock on time of frequency synthesizer
FI20065449A0 (fi) 2006-06-29 2006-06-29 Nokia Corp Tehonkulutuksen valvontamenetelmä, tehonkulutuksen valvontalaite, tietokoneohjelmatuote, tietokoneohjelman jakeluväline ja kommunikaatioväline
US7689849B2 (en) * 2006-08-28 2010-03-30 Ati Technologies Ulc Reduction of power consumption by throttling processor requests
US9146600B2 (en) * 2006-10-11 2015-09-29 Texas Instruments Incorporated Array and peripheral power control decoded from circuitry and registers
TWI320908B (en) 2006-10-27 2010-02-21 Ind Tech Res Inst Apparatus and method for increasing the utilization by the processors on the shared resources
JP4748057B2 (ja) 2006-12-28 2011-08-17 ソニー株式会社 情報処理装置、起動方法、およびプログラム
US7962775B1 (en) 2007-01-10 2011-06-14 Marvell International Ltd. Methods and apparatus for power mode control for PDA with separate communications and applications processors
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
US20090049314A1 (en) 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US8176341B2 (en) * 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US8020025B2 (en) 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US8250579B2 (en) 2008-06-27 2012-08-21 Oracle America, Inc. Method for stage-based cost analysis for task scheduling
US8108696B2 (en) 2008-07-24 2012-01-31 International Business Machines Corporation Optimizing non-preemptible read-copy update for low-power usage by avoiding unnecessary wakeups
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8219994B2 (en) 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
US20100115144A1 (en) 2008-10-31 2010-05-06 Justin Tyler Dubs Wireless Switch State Using Controller Powered with System in Various Low-Powered States
WO2010058252A1 (en) 2008-11-24 2010-05-27 Freescale Semiconductor, Inc. Multimode voltage regulator and method for providing a multimode voltage regulator output voltage and an output current to a load
CN101414271A (zh) 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
US20100191911A1 (en) 2008-12-23 2010-07-29 Marco Heddes System-On-A-Chip Having an Array of Programmable Processing Elements Linked By an On-Chip Network with Distributed On-Chip Shared Memory and External Shared Memory
EP2205029A1 (en) 2009-01-06 2010-07-07 Thomson Licensing A method for scheduling wake/sleep cycles by a central device in a wireless network
TWI474734B (zh) 2009-01-23 2015-02-21 Realtek Semiconductor Corp 無線通訊裝置之電源管理方法及無線通訊裝置
US8271818B2 (en) 2009-04-30 2012-09-18 Hewlett-Packard Development Company, L.P. Managing under-utilized resources in a computer
JP5187277B2 (ja) 2009-06-16 2013-04-24 ソニー株式会社 情報処理装置、及びモード切り替え方法
US8190939B2 (en) 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US8683476B2 (en) 2009-06-30 2014-03-25 Oracle America, Inc. Method and system for event-based management of hardware resources using a power state of the hardware resources
US8230249B2 (en) 2009-07-15 2012-07-24 International Business Machines Corporation Dynamic selection of server states for servers in a cluster of servers
US7906996B1 (en) 2009-08-18 2011-03-15 Nxp B.V. System and method for controlling an integrated circuit in different operational modes
EP2323035B1 (en) 2009-11-16 2019-04-17 Red Bend Software Scheduling system
US8583945B2 (en) 2010-01-14 2013-11-12 Muse Green Investments LLC Minimizing power consumption in computers
US8271812B2 (en) * 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8335938B2 (en) 2010-06-11 2012-12-18 Kevin Howard Orr Method and device for activation of components
US8589932B2 (en) 2010-07-02 2013-11-19 International Business Machines Corporation Data processing workload control
US8806232B2 (en) * 2010-09-30 2014-08-12 Apple Inc. Systems and method for hardware dynamic cache power management via bridge and power manager
US8694811B2 (en) 2010-10-29 2014-04-08 Texas Instruments Incorporated Power management for digital devices
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
US20120291043A1 (en) 2010-12-21 2012-11-15 Qualcomm Incorporated Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
US20120284729A1 (en) 2011-05-03 2012-11-08 Microsoft Corporation Processor state-based thread scheduling
US8694817B2 (en) 2011-06-15 2014-04-08 Osram Sylvania Inc. System bus with variable output power supply
US20130007492A1 (en) 2011-06-30 2013-01-03 Sokol Jr Joseph Timer interrupt latency
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions

Also Published As

Publication number Publication date
WO2012087957A1 (en) 2012-06-28
JP2014503883A (ja) 2014-02-13
US20120159222A1 (en) 2012-06-21
KR101483897B1 (ko) 2015-01-16
EP2656172A1 (en) 2013-10-30
CN103229124A (zh) 2013-07-31
KR20130095842A (ko) 2013-08-28
US9285856B2 (en) 2016-03-15
CN103229124B (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
JP5649254B2 (ja) ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム
CN107025906B (zh) 扩展语音识别的周期的方法和产品以及信息处理设备
JP5605970B2 (ja) リソースセット移行をスケジュールすることによる、ポータブルコンピューティングデバイスにおけるプロセッサアプリケーション状態間のリソース待ち時間の最小化
JP5734505B2 (ja) ポータブルコンピューティングデバイスのマルチコアプロセッサにおける複数のコアへの電力を動的に制御するための方法およびシステム
JP5705999B2 (ja) ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム
CN108566634B (zh) 降低蓝牙音箱连续唤醒延时的方法、装置及蓝牙音箱
US8689037B2 (en) System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
JP5743245B2 (ja) 性能スケーリングアルゴリズムのセットを公開して管理するためのモバイルデバイスおよび方法
JP5824162B2 (ja) スケジュールされたリソースセット移行を使用したポータブルコンピューティングデバイスのための作業負荷推定による電力の節約
US20120291043A1 (en) Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
JP2013516710A (ja) 中央処理装置内のデータをサンプリングするシステムおよび方法
CN107547742B (zh) 一种用于移动终端的唤醒锁释放方法和装置
WO2020082354A1 (zh) 一种系统状态检测方法、系统状态装置及终端设备
JP5678210B2 (ja) ポータブルコンピューティングデバイス内のリソースを管理するための方法およびシステム
US20230134813A1 (en) Display brightness management for loading content

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

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: 20141014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R150 Certificate of patent or registration of utility model

Ref document number: 5649254

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250