JP5705999B2 - ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム - Google Patents

ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム Download PDF

Info

Publication number
JP5705999B2
JP5705999B2 JP2013548448A JP2013548448A JP5705999B2 JP 5705999 B2 JP5705999 B2 JP 5705999B2 JP 2013548448 A JP2013548448 A JP 2013548448A JP 2013548448 A JP2013548448 A JP 2013548448A JP 5705999 B2 JP5705999 B2 JP 5705999B2
Authority
JP
Japan
Prior art keywords
interrupt
setting
processor
activation
controller
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
JP2013548448A
Other languages
English (en)
Other versions
JP2014503097A (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 JP2014503097A publication Critical patent/JP2014503097A/ja
Application granted granted Critical
Publication of JP5705999B2 publication Critical patent/JP5705999B2/ja
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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

優先権および関連出願に関する陳述
本出願は、「Method and system for managing sleep states of interrupt controllers in a portable computing device」と題する2011年1月4日に出願された米国仮特許出願第61/429,522号に対する米国特許法第119条(e)項に基づく優先権を主張する。この米国仮特許出願の内容全体が、参照により本明細書に組み込まれる。
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門家レベルの人々に必要なものになりつつある。これらのデバイスは、セルラー電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。
PCDは通常、中央処理装置、デジタル信号プロセッサなどを含む複数の処理ユニットから一般的に作られる複雑でコンパクトな電子パッケージングを有する。多くの中央処理装置(「CPU」)が、その内部構造の一部として、割込みコントローラ(「IC」)をもつ。ICは一般に、割込みを集めてから、CPU上の単一割込みピンに信号を渡す。こうすることにより、CPU上の割込みピンを節約することができ、システムを設計するときの柔軟性を与えることもできる。各ICは、割込みを制御するマスクおよび状況レジスタを有し得る。
ICは、CPUにとって、マルチタスクを容易にするのに有用であるが、CPUが低電力状態に入る必要があるとき、問題を呈する。低電力状態は、当業者にはスリープ状態としても知られている。通常、ICがスリープ状態にあるとき、ICを「起動」またはアクティブ化するためのいかなるハードウェアもソフトウェアもないので、多くのICは、スリープ状態に入ることを許可されない。
ICは、通常、スリープ状態にされないので、PCDの貴重な電力を消費してしまう。したがって、当該分野において、ICをスリープ状態にさせ、そうすることによってPCD用の電力を節約し得る方法およびシステムを提供する必要がある。
ポータブルコンピューティングデバイス内に含まれるプロセッサの1つまたは複数の割込みコントローラのスリープ状態を管理するための方法およびシステムについて、記載する。この方法は、ポータブルコンピューティングデバイス内に含まれる記憶デバイスにおいて起動割込み設定を定義するプロセッサを含む。この記憶デバイスは、メッセージランダムアクセスメモリ(「RAM」)を含み得る。メッセージRAM内で起動設定が確立された後、プロセッサは、メッセージRAM内で起動設定が定義されたというアラートを生成し得る。次に、コントローラは、ポータブルコンピューティングデバイス内に含まれる複数のプロセッサと合致する、メッセージRAMにおける、複数の割込みコントローラについての起動割込み設定を検討する。コントローラは、メッセージRAMにおける起動設定をマージし、次いで、マージされた起動設定を、常時オン電力マネージャ(「APM」)に送る。APMは、プロセッサの割込みコントローラをスリープ状態にするための信号を発行することを担う。「常時オン」という用語は、APMが通常、他のデバイスと通信するために、十分な一定の電力を常に受信することを意味する。
コントローラは、許可テーブルを検討して、特定のプロセッサについての割込みコントローラの状態を変えるための権限をプロセッサがもつかどうか判断することができる。コントローラは、マージされた起動設定を、APM内に含まれる複数のレジスタに送ることができる。起動設定は、有効設定、タイプ/検出設定、極性設定、状況設定、およびクリア設定のうちの少なくとも1つを含み得る。
図中、別段に規定されていない限り、類似の参照番号は、様々な図の全体を通じて、類似の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
ポータブルコンピューティングデバイス(PCD)の一実施形態を示す機能ブロック図である。 コントローラ、常時オン電力マネージャ、および常時オン割込みコントローラの詳細を示す機能ブロック図である。 図2の常時オン割込みコントローラ用のレジスタを示す機能ブロック図である。 メッセージランダムアクセスメモリを示す機能ブロック図である。 マスタープロセッサの隣にあるローカル割込みテーブルを示す機能ブロック図である。 複数のCPUの1つまたは複数の割込みコントローラ(「IC」)をスリープ状態にするための方法を示す論理フローチャートである。 1つまたは複数の割込みコントローラおよび複数のマスタープロセッサをスリープ状態から起動するための方法を示す論理フローチャートである。 1つまたは複数の割込みコントローラおよび複数のマスタープロセッサをスリープ状態から起動するための方法を示す論理フローチャートである。
「例示的」という語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において用いられている。「例示的な」ものとして本明細書で説明する態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータ間に分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号によりローカルシステム、分散システムにおいて別の構成要素と対話し、かつ/または他のシステムとインターネットなどのネットワークにわたって対話する、1つの構成要素からのデータ)を有する信号に従うなどしてローカルプロセスおよび/またはリモートプロセスにより通信することができる。
本明細書では、用語「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」および「ワイヤレスハンドセット」は交換可能に用いられる。第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多様なワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間バッテリー式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、中でも、セルラー電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述したデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。
図1: PCD100内のIC209Bのスリープ状態を管理するための要素
図1を参照すると、この図は、PCD100の割込みコントローラ209Bのスリープ状態を管理するための方法およびシステムを実現するためのワイヤレス電話の形態によるPCD100の例示的で非限定的な態様の機能ブロック図である。図示のように、PCD100は、マルチコアである第1の中央処理装置(「CPU」)110A、シングルコアタイプである第2のCPU110B、およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。これらのプロセッサ110A、110B、および126は結合され得る。第1のCPU110Aは、当業者によって理解されるように第0のコア222、第1のコア224、および第Nのコア230を含むことができる。代替的実施形態では、当業者に理解されるように、2つのCPU110の代わりに2つのデジタル信号プロセッサ(「DSP」)も利用することができる。
図1は、コントローラ101、電力管理集積回路(「PMIC」)157、常時オン電力マネージャ(「APM」)177、およびレジスタを有する常時オン割込みコントローラ(「AIC」)209Aを含むPCD100を示す。APM177およびAIC209Aについての「常時オン」という用語は、APM177およびAIC209Aが通常、他のデバイスと通信するために、十分な一定の電力を常に受信することを意味する。
PMIC157は、常時オン電力マネージャ177から受信された制御信号に応答して、プロセッサ110、126ならびに割込みコントローラ209Bへの電力のオンおよびオフを担う。常時オン割込みコントローラ209A、コントローラ101、およびマスタープロセッサ110のさらなる詳細を、図2に示し、後で説明する。コントローラ101および常時オン電力マネージャ177は、各プロセッサ110、126の個々の割込みコントローラ209Bについてのスリープ状態の管理を担う。
図1は、PCD100がメモリまたはメッセージRAM112を含み得ることも示している。コントローラ101ならびにマスタープロセッサ110、126は、メッセージRAM112にアクセスすることができる。これらのデバイスは、後で説明するように、マスタープロセッサ110、126内でIC209Bのスリープ状態を管理するために、メッセージRAM112にアクセスする。
特定の態様において、本明細書で説明する方法ステップのうちの1つまたは複数は、コントローラ101、常時オン電力マネージャ177、および常時オン割込みコントローラ209Aの一部を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。本明細書に記載する1つまたは複数の方法ステップは、これらの3つの要素の各々によって実行される実行可能命令およびパラメータによっても実装され得る。いくつかの図に示す例示的な実施形態は、ハードウェアで実施されるべき割込みコントローラ電力システム107のいくつかの部分(図2参照)を示しているが、これらのデバイスの機能および特徴は、ソフトウェアまたはそれらの組合せで実装され得ることが当業者には認識されよう。
コントローラ101を含む、割込みコントローラ電力システム107の一部(図2参照)は、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行することができる。さらに、割込みコントローラ電力システム107、プロセッサ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、電力管理集積回路157、および電源180は、オンチップシステム102の外部にある。
図2は、コントローラ101、常時オン電力マネージャ(「APM」)177、常時オン割込みコントローラ209A、電力管理集積回路(「PMIC」)157、およびメッセージRAM112を備え得る割込みコントローラ電力システム107の詳細を示す機能ブロック図である。PCD100は、1つまたは複数のコントローラモジュール101を有し得る。
この説明の残り部分では、コントローラモジュール101を複数形ではなく単数形でコントローラ101と呼ぶ。当業者は、本発明から逸脱することなく、コントローラ101を様々な部分に分割し、異なるプロセッサ110、126によって実行することができることを認識されよう。代替的に、コントローラ101を、単一の要素として編成し、単一のプロセッサ110または126によって実行することができる。コントローラ101は、当業者によって理解されるように、ハードウェアおよび/またはファームウェアから形成されてもよい。
概して、コントローラ101は、各プロセッサ110の一部である割込みコントローラ209Bのスリープ状態の管理を担う。コントローラ101は、レジスタを使って、常時オン電力マネージャ177および常時オン割込みコントローラ209Aと通信する。コントローラ101は、許可テーブル211を維持する。許可テーブル211は、常時オン割込みコントローラ290Aにおいて、プロセッサ110がどの割込みを使用することが認められているかを示すように機能する。こうすることにより、当業者に理解されるように、PCD100は、プロセッサ110が、システムソフトウェア(「SW」)区分が原因でプロセッサ110がアクセスするべきでない割込みソースを使うのを制限する。
常時オン電力マネージャ177は、電力管理集積回路(「PMIC」)157にコマンドを発行するのに使われるハードウェアを備え得る。PMIC157は、各個々のプロセッサ110への電力供給を担う。常時オン電力マネージャ177は、複数のレジスタに結合されてよく、または常時オン電力マネージャ177がそれらのレジスタを備えてもよい。これらのレジスタのさらなる詳細については、図3に関連して以下で説明する。
コントローラ101は、各マスタープロセッサ110の割込みコントローラ209Bのスリープ状態についての決定を行う。コントローラ101は、メッセージRAM112内に含まれる情報に基づいて、常時オン電力マネージャ177にコマンドも発行する。図2に示したように、メッセージRAM112は、常時オン割込みコントローラ209Aのレジスタを反映するメモリ要素を有する。メッセージRAM112の詳細については、図4に関連して以下で説明される。APM177は、常時オン割込みコントローラ209Aに結合され、および/またはAPM177が常時オン割込みコントローラ209Aを備え得る。
例示的な実施形態は、メモリ112用にRAMを使うが、当業者には諒解されるように、他のタイプのメモリデバイスまたはメモリデバイスの組合せが、メッセージRAM112用に利用されてもよい。他のメモリデバイスは、動的ランダムアクセスメモリ(「DRAM」)「オフチップ」102、スタティックランダムアクセスメモリ(「SRAM」)「オンチップ」122、キャッシュメモリ、電気的消去可能プログラマブル読出し専用メモリ(「EEPROM」)などを含むが、それに限定されない。
前述したように、メッセージRAM112は、常時オン割込みコントローラ177のレジスタを反映するメモリ要素を備え得る。各マスタープロセッサ110は、メッセージRAM112の専用のセクションまたは部分をもつ。メッセージRAM112の各専用セクションは、各セクションに割り当てられたマスタープロセッサ110による書込みおよび読取りを受け得る。コントローラ101は、メッセージRAM112のすべてのプロセッサセクションへのアクセスを有することができ、これらの専用セクションへの読取りおよび書込みアクセスも有することができる。
図2に示すように、各マスタープロセッサ110は、それ自体の割込みコントローラ(「IC」)209B、サブシステム電力マネージャ(「SPM」)207、およびローカル割込みテーブル205を備える。各割込みコントローラ209は一般に、割込みを集めてから、CPU110上の単一割込みピン(図示せず)に信号を渡す。こうすることにより、CPU110上の割込みピン(図示せず)を節約することができ、システムを設計するときの柔軟性を与えることもできる。各IC209は、割込みを制御するマスクおよび状況レジスタ(図示せず)を有し得る。各SPM207は、プロセッサ110内にあるハードウェアの電力管理を担う。
CPU110のローカル割込みテーブル205は、常時オン電力マネージャ(「APM」)割込み値およびローカル割込み値を含む。ローカル割込みテーブル205についてのさらなる詳細は、図5に関連して後で説明する。
APM177は、PMIC157を介した、各プロセッサ110の割込みコントローラ(「IC」)209Bへの電力の監視および制御を担い得る。APM177は、PMIC157に制御信号を送って、プロセッサ110のIC209Bを、低電力またはスリープ状態にすることができるとともに、IC209をスリープ状態から出させる。
図3は、図2の常時オン割込みコントローラ209A用のレジスタの機能ブロック図である。レジスタは、有効レジスタ303、タイプ/検出レジスタ306、極性レジスタ309、状況レジスタ312、およびクリアレジスタ315を備え得る。レジスタ303の状態に応じて、有効レジスタ303は、常時オン電力マネージャ177に送られる割込み信号をアクティブ化する。タイプ/検出レジスタ306は、割込み信号をアクティブ化するために、常時オン割込みコントローラ209Aによって検出された信号のタイプを識別する。
タイプ/検出レジスタ306は、2つのタイプの信号、すなわちエッジ信号およびレベル信号のうちの1つを指定することができる。極性レジスタ309は、タイプ/検出レジスタ306内で特定された信号の極性を識別することができる。極性レジスタ309は、タイプ/検出レジスタ306内で特定された信号がエッジ信号である場合、上昇値または下降値を含み得る。あるいは、極性レジスタ309は、タイプ/検出レジスタ306内で特定された信号がレベルタイプ信号である場合、高い値または低い値を含み得る。
状況レジスタ312は、どの割込みが起こった可能性があるか、および常時オン割込みコントローラ209Aによって検出された割込みを列挙することができる。クリアレジスタ315は、常時オン割込みコントローラ209Aによる割込み信号の追跡を中止または停止することができる。コントローラ101は、常時オン割込みコントローラ209Aのレジスタに書込みおよび読取りを行うことができる。コントローラ101は、図4に関連してさらに詳しく記載するように、これらのレジスタの内容を、メッセージRAM112内に含まれる情報に基づいて更新する。
図4は、メッセージランダムアクセスメモリ(「RAM」)112を示す機能ブロック図である。メッセージRAM112は、常時オン割込みコントローラ209Aに含まれるレジスタを反映するメモリ要素を備え得る。図4に示す例示的な一実施形態において、各マスタープロセッサ110には、常時オン割込みコントローラ209Aにおいて見られるものを反映する独自のレジスタセットが割り当てられる。
各マスタープロセッサ110は、有効メモリ要素303、タイプ/検出メモリ要素306、極性メモリ要素309、状況メモリ要素312、およびクリアメモリ要素315を有する。各マスタープロセッサ110に割り当てられたメッセージRAM112のメモリ要素内に含まれる信号プロファイルは、特定のマスタープロセッサ110についての、スリープ状態を開始するための条件を識別する。メッセージRAM112の各プロセッサセクションのこれらの信号プロファイルは、それらに割り当てられたマスタープロセッサ110によって変更可能または調節可能である。
仮想常時オン電力マネージャレジスタとも呼ばれる、メッセージRAM112のメモリ要素は、特定のマスタープロセッサ110についての、スリープ状態から出るための条件を識別することもできる。各マスタープロセッサ110は、メッセージRAM112のメモリ要素に記憶された状態への書込みおよび読取りを行うことができる。
限界、無効、レベル、エッジ、高、低、捕獲、ヌル、およびクリアなどの例示的な状態が、図4のメッセージRAM112内に示されている。ただし、これらの状態は、バイナリコード中のビットとして実装され得ることが当業者には認識されよう。たとえば、タイプ/検出メモリ要素306についてのエッジ検出状態は、「0b000」のバイナリ値を含み得るが、タイプ/検出メモリ要素306についての低検出状態は、「0b010」のバイナリ値を含み得る。他のバイナリ値は、当業者に理解されるように、メモリ112を用いて追跡される検出状態の各々について利用され得る。
図5は、上述した図2に示したように、マスタープロセッサ110の隣にあるローカル割込みテーブル205の機能ブロック図である。各マスタープロセッサ110のローカル割込みテーブル205は、常時オン電力マネージャ割込み値を、割込みコントローラ209Bによって理解されるローカル割込み値に翻訳する値を含む。これらの翻訳値は、メッセージRAM112を経由してマスタープロセッサ110から常時オン電力マネージャ177に渡され得る。
たとえば、テーブル205中の第1のAPM値は、5という値を含む。対応するローカル割込み値は、126という値を含み得る。5というAPM割込み値がコントローラ101からプロセッサ110に渡されると常に、プロセッサ110は、この値を、126というローカル割込み値に翻訳し得る。このローカル割込み値は、プロセッサ110から、そのCPU割込みコントローラ209Bに渡され得る。
図6は、複数のCPU110の1つまたは複数の割込みコントローラ(「IC」)209Bをスリープ状態にするための方法600を示す論理フローチャートである。ブロック605が、方法600の最初のステップである。ブロック605で、マスタープロセッサ110は、プロセッサ110がスリープ状態に入る準備ができていると判断する。スリープ状態は、当業者に理解されるように、低電力状態としても知られている。
次に、ブロック610で、マスタープロセッサ110は、メッセージRAM112の仮想常時オン電力マネージャレジスタの値を、プロセッサ110が所望する、スリープ状態に入るための割込み設定でセットまたは更新することができる。これらの設定は、図4に示したように、対応する有効仮想レジスタ303、タイプ/検出仮想レジスタ306、極性仮想レジスタ309、およびクリア仮想レジスタ315についての値を含み得る。
ブロック615で、メッセージRAM112内で仮想常時オン電力マネージャレジスタについてのその値をセットしたばかりのマスタープロセッサ110が、コントローラ101に割込み信号を送ることができる。この割込み信号は、プロセッサ110がメッセージRAM112内のその仮想レジスタに対して行った変更をコントローラ101にアラートし得る。
ブロック620で、コントローラ101は、許可テーブル211を検討して、現在のプロセッサ110が、常時オン割込みコントローラ209A内のレジスタのうちのいずれかの状態を変えることを許可されるかどうか判断する。許可テーブル211に対するこのルックアップに基づいて、コントローラ101は、メッセージRAM112の仮想常時オン電力マネージャレジスタ内の値の更新または状況を、他のマスタープロセッサ110に割り当てられた仮想レジスタ内に存在する値とマージすることができる。たとえば、コントローラ101は、図4に示したように、第1のマスタープロセッサA(110A)に割り当てられた仮想レジスタの値を、第2および第3のマスタープロセッサB、C(110B、110C)に割り当てられた仮想レジスタの値とマージし得る。
次に、ブロック625で、コントローラ101は、マージした結果の値セットを、メッセージRAM112から、常時オン割込みコントローラ209A内の実際のレジスタに送ることができる。ブロック630で、常時オン電力マネージャ177は、常時オン割込みコントローラ209A内のレジスタの更新値を読み取り、対応するスリープ信号を電力管理集積回路(「PMIC」)157に発行する。ブロック635で、PMIC157は、指定されたマスタープロセッサ110およびどの対応する割込みコントローラ209Bにも配送される、それらをスリープ状態にするための電力を変える。そして、方法600は終了する。
図7Aおよび図7Bは、1つまたは複数の割込みコントローラ(「IC」)209Bおよび複数のマスタープロセッサ110をスリープ状態から起動するための方法700を示す論理フローチャートである。具体的には、図7Aは、割込みコントローラ209Bをスリープ状態から起動するための方法700の部分を示す。図7Bは、コントローラ209Bに対応するマスタープロセッサ110を起動するための方法700の部分を示す。
ブロック705が、方法700の最初のステップである。ブロック705で、常時オン割込みコントローラ209Aのレジスタにおける割込み設定に基づいて、常時オン電力マネージャ177を用いて起動イベントが検出され得る。常時オン割込みコントローラ209Aのレジスタにおける設定は、メッセージRAM112内で列挙されるこれらの設定を、コントローラ101によってマージした直接的な結果である。
ブロック710で、コントローラ101およびマスター割込みコントローラ209Aを起動するための電源オン信号が、PMIC157に送られる。次に、ブロック715で、常時オン電力マネージャ209A内のレジスタの現在の状況が、コントローラ101を用いて読み取られる。次に、ブロック720で、各マスタープロセッサ110について、コントローラは、許可テーブル211を、メッセージRAM112内の特定のマスターに割り当てられたアクティブな値セットと比較する。次に、ブロック725で、コントローラ101は、ブロック720で行われた比較をマージし、メッセージRAM112において、常時オン電力マネージャ177についての結果的マスタープロセッサ仮想状況を準備する。
決定ブロック730で、コントローラ101によって、メッセージRAM112内で確立されたマスタープロセッサ仮想状況に基づいて、コントローラ101は、マスタープロセッサ110の一部である割込みコントローラ209Bを起動するのに特定のマスタープロセッサ110を必要とする、有効化された割込みが作成されているかどうか判断する。決定ブロック730への問合せが否定である場合、「NO」分岐の後、ブロック745に続き、ここで、マスター割込みコントローラ209Aの常時オン電力マネージャレジスタにおける、常時オン電力マネージャによるすべての物理的割込みが、コントローラ101を用いてクリアされる。
決定ブロック730への問合せが肯定である場合、「YES」分岐の後、ブロック735に続き、ここでコントローラは、1つまたは複数の割込みコントローラ209Bおよびマスタープロセッサ110にマスター起動信号を送信し、または送る。ブロック740で、各割込みコントローラ209は、そのスリープまたは低電力状態から起こされる。ブロック740の後およびブロック745の後、方法700は終了する。
ここで図7Bを参照すると、この図は、1つまたは複数のマスタープロセッサ110をスリープまたは低電力状態から起動するための、方法700の部分を示す。方法700のブロック750は、図7Aのブロック735の後に続き得る。ブロック750で、マスタープロセッサ110は、コントローラ101から、CPU割込みコントローラ209Bを経由して割込み信号を受信し得る。
ブロック755で、各マスタープロセッサ110は、メッセージRAM112内の、プロセッサ110に割り当てられた仮想状況レジスタを読み取ることができる。ブロック760で、メッセージRAM112内の仮想APM状況レジスタにおける各アクティブ割込みについて、特定のマスタープロセッサ110は、マスタープロセッサ110内に含まれるローカル割込みテーブル211中の、対応するローカル割込み等価物をルックアップする。
次に、ブロック765で、マスタープロセッサ110は、ブロック760で実施されたルックアップ機能に基づいて、翻訳された割込み信号をローカル割込みコントローラ209Bに送信する。ブロック770で、マスタープロセッサ110は、メッセージRAM112のクリアレジスタ315に、ブロック760で読み取られた値を書き込むためのコマンドを発行する。
ブロック775で、マスタープロセッサ110は、コントローラ101に割込みを送信する。この割込みは、マスタープロセッサ110によってメッセージRAM112に対して行われた変更を、コントローラにアラートする。
次に、ブロック780で、クリアレジスタ315内に列挙されている割込みが、コントローラ101によって、メッセージRAM112内の状況レジスタ312から削除される。決定ブロック785で、コントローラ101は、各マスタープロセッサ110についてのメッセージRAM112内の値の状況を検討する。メッセージRAM112のこの検討に基づいて、コントローラ101は、そのスリープ状態から起動するのに特定のマスタープロセッサ110を必要とする、有効化された割込みが作成されているかどうか判断する。
決定ブロック785への問合せが否定である場合、「NO」分岐に続き、そこでプロセスは終了する。決定ブロック785への問合せが肯定である場合、「YES」分岐の後、ブロック790に続き、ここでコントローラ101は、1つまたは複数のマスタープロセッサ110に起動信号を送る。
ブロック795で、起動信号を受信すると、各マスタープロセッサ110は、そのスリープ状態または低電力状態から出るための、それ自体の起動シーケンスを開始する。そして、方法700は終了する。
この割込みコントローラ電力システム107および方法600、700により、プロセッサ110のIC209Bはスリープ状態にされ、その結果PCD100用の電力が節約され得る。システム107は、PCD100内の複数のプロセッサ110についてのスリープ状態の集中管理を可能にする。複数のプロセッサ110について、より多くのスリープ状態を認めることにより、PCD100によって消費される平均電力は、割込みコントローラ電力システム107をもたないPCD100よりも低くなる。
本発明が説明通りに機能するように、本明細書で説明したプロセスまたはプロセスの流れの特定のステップが他のステップよりも前に行われるのは当然であることが、当業者には諒解されよう。しかしながら、ステップの順序または順番によってシステムおよび方法の機能が変わることがない場合、システムおよび方法は説明したステップの順序に限定されない。つまり、開示されたシステムおよび方法から逸脱することなく、あるステップを他のステップの前に実施しても、後に実施してもよく、あるいは各ステップを並行して(実質的に同時に)実施してもよいことを認識されたい。
場合によっては、当業者によって理解されるように方法から逸脱することなく、特定のステップを省略してよく、実施しなくてもよい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
上記の開示に鑑みて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。特許請求されるコンピュータで実施されるプロセスの発明性のある機能は、上の説明において、かつ、様々なプロセスの流れを示し得る図面とともに、より詳細に説明される。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。
記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。
また、任意の接続をコンピュータ可読媒体と呼ぶのが妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザディスク、光ディスク、デジタル多用途ディスク(「DVD」)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
それゆえ、選択された態様について詳細に示し、詳述してきたが、以下の請求項によって定義されるような開示したシステムから逸脱することなく、本明細書において様々な置換および改変がなされ得ることが当業者には理解されよう。
100 PCD
101 コントローラ、コントローラモジュール
102 オンチップシステム、動的ランダムアクセスメモリ(DRAM)オフチップ
107 割込みコントローラ電力システム
110 マスタープロセッサ、CPU、プロセッサ、デジタル信号プロセッサ、マルチコア中央処理装置
110A 第1の中央処理装置(CPU)、プロセッサ、第1のマスタープロセッサA
110B 第2のCPU、プロセッサ、第2のマスタープロセッサB
110C 第3のマスタープロセッサC
112 メッセージRAM、メモリ、メッセージランダムアクセスメモリ
122 スタティックランダムアクセスメモリ(SRAM)オンチップ
126 アナログ信号プロセッサ、プロセッサ、マスタープロセッサ
128 ディスプレイコントローラ
130 タッチスクリーンコントローラ
132 タッチスクリーンディスプレイ
134 ビデオコーダ/デコーダ(コーデック)、ビデオコーデック
136 ビデオ増幅器
138 ビデオポート
140 ユニバーサルシリアルバス(USB)コントローラ
142 USBポート
146 加入者識別モジュール(SIM)カード
148 デジタルカメラ、カメラ
150 ステレオオーディオコーデック
152 オーディオ増幅器
154 第1のステレオスピーカー
156 第2のステレオスピーカー
157 電力管理集積回路(PMIC)
158 マイクロフォン増幅器
160 マイクロフォン
162 周波数変調(FM)ラジオチューナー
164 FMアンテナ
166 ステレオヘッドフォン
168 高周波(RF)トランシーバ
170 RFスイッチ
172 RFアンテナ
174 キーパッド
176 モノヘッドセット
177 常時オン電力マネージャ(APM)
178 バイブレータデバイス、バイブレータ
180 電源
205 ローカル割込みテーブル
207 サブシステム電力マネージャ(SPM)
209 割込みコントローラ、IC
209A 常時オン割込みコントローラ(AIC)
209B IC、割込みコントローラ
211 許可テーブル
222 第0のコア
224 第1のコア
230 第Nのコア
303 有効レジスタ、レジスタ、有効メモリ要素、有効仮想レジスタ
306 タイプ/検出レジスタ、タイプ/検出メモリ要素、タイプ/検出仮想レジスタ
309 極性レジスタ、極性メモリ要素、極性仮想レジスタ
312 状況レジスタ、状況メモリ要素
315 クリアレジスタ、クリアメモリ要素、クリア仮想レジスタ

Claims (32)

1つまたは複数の割込みコントローラのスリープ状態を管理するための方法であって、
ポータブルコンピューティングデバイス内に含まれるプロセッサが前記1つまたは複数の割込みコントローラを有し、前記方法が、
前記ポータブルコンピューティングデバイス内に含まれる記憶デバイスにおいて起動割込み設定を定義するステップであって、前記記憶デバイスのメモリ要素が、割込みコントローラをスリープ状態にするための信号を発行することを担う電力マネージャ内に含まれるレジスタに反映される値を有するように設定するステップと、
前記記憶デバイスにおいて起動割込み設定が定義されたというアラートを生成するステップと、
前記ポータブルコンピューティングデバイス内に含まれる複数のプロセッサと通信する複数の割込みコントローラについての、前記記憶デバイスにおける起動割込み設定を取得するステップであって、各割込みコントローラは、各々対応するプロセッサと通信するステップと、
前記複数の割込みコントローラについての、前記記憶デバイスにおける複数の前記起動割込み設定を1つの起動割込み設定にマージするステップと、
前記マージされた起動割込み設定を、割込みコントローラをスリープ状態にするための信号を発行することを担う前記電力マネージャに送るステップと、
前記電力マネージャから電力管理集積回路(PMIC)に前記割込みコントローラをスリープ状態にするための信号を発行するステップと
を含む方法。
許可テーブルを検索して、割込みコントローラのレジスタのうちのいずれかの状態を変えるための権限をプロセッサがもつかどうか判断するステップをさらに含む、請求項1に記載の方法。
前記マージされた起動割込み設定を、前記電力マネージャ内の複数のレジスタに送るステップをさらに含む、請求項1に記載の方法。
前記起動割込み設定が、有効設定、タイプ/検出設定、極性設定、およびクリア設定のうちの少なくとも1つを含む、請求項1に記載の方法。
前記電力マネージャからプロセッサに割込み信号を送るステップをさらに含む、請求項1に記載の方法。
起動割込み設定用に特定のプロセッサに割り当てられた、前記記憶デバイスの部分を読み取るステップをさらに含む、請求項1に記載の方法。
ローカル割込みテーブルを使って、前記記憶デバイスにある前記起動割込み設定を、前記割込みコントローラによって理解されるローカルな起動割込み設定に翻訳するステップをさらに含む、請求項6に記載の方法。
前記翻訳された起動割込み設定を、前記特定のプロセッサの割込みコントローラに送信するステップをさらに含む、請求項7に記載の方法。
1つまたは複数の割込みコントローラのスリープ状態を管理するためのコンピュータシステムであって、ポータブルコンピューティングデバイス内に含まれるプロセッサが前記1つまたは複数の割込みコントローラを有し、前記コンピュータシステムが、
プロセッサを備え、前記プロセッサが、
前記ポータブルコンピューティングデバイス内に含まれる記憶デバイスであって、割込みコントローラをスリープ状態にするための信号を発行することを担う電力マネージャ内に含まれるレジスタに反映される値を有するメモリ要素を備える記憶デバイスにおいて起動割込み設定を定義し、
前記記憶デバイスにおいて起動割込み設定が定義されたというアラートを生成し、
前記ポータブルコンピューティングデバイス内に含まれる複数のプロセッサと通信する複数の割込みコントローラについての、前記記憶デバイスにおける起動割込み設定を取得し、各割込みコントローラは、各々対応するプロセッサと通信し、
前記複数の割込みコントローラについての、前記記憶デバイスにおける複数の前記起動割込み設定を1つの起動割込み設定にマージし、
前記マージされた起動割込み設定を、割込みコントローラをスリープ状態にするための信号を発行することを担う前記電力マネージャに送り、
前記電力マネージャから電力管理集積回路(PMIC)に前記割込みコントローラをスリープ状態にするための信号を発行する
ように動作可能であるシステム。
前記プロセッサが、
許可テーブルを検索して、割込みコントローラのレジスタのうちのいずれかの状態を変えるための権限をプロセッサがもつかどうか判断するようにさらに動作可能である、請求項9に記載のシステム。
前記プロセッサが、
前記マージされた起動割込み設定を、前記電力マネージャ内の複数のレジスタに送るようにさらに動作可能である、請求項9に記載のシステム。
前記起動割込み設定が、有効設定、タイプ/検出設定、極性設定、およびクリア設定のうちの少なくとも1つを含む、請求項9に記載のシステム。
前記プロセッサが、
前記電力マネージャからプロセッサに割込み信号を送るようにさらに動作可能である、請求項9に記載のシステム。
前記プロセッサが、
起動割込み設定用に特定のプロセッサに割り当てられた、前記記憶デバイスの部分を読み取るようにさらに動作可能である、請求項9に記載のシステム。
前記プロセッサがさらに、
ローカル割込みテーブルを使って、前記記憶デバイスにある前記起動割込み設定を、前記割込みコントローラによって理解されるローカルな起動割込み設定に翻訳するようにさらに動作可能である、請求項14に記載のシステム。
前記プロセッサがさらに、
前記翻訳された起動割込み設定を、前記特定のプロセッサの割込みコントローラに送信するようにさらに動作可能である、請求項15に記載のシステム。
1つまたは複数の割込みコントローラのスリープ状態を管理するためのコンピュータシステムであって、ポータブルコンピューティングデバイス内に含まれるプロセッサが前記1つまたは複数の割込みコントローラを有し、前記コンピュータシステムが、
前記ポータブルコンピューティングデバイス内に含まれる記憶デバイスにおいて起動割込み設定を定義するための手段であって、前記記憶デバイスのメモリ要素が、割込みコントローラをスリープ状態にするための信号を発行することを担う電力マネージャ内に含まれるレジスタに反映される値を有するように設定する手段と、
前記記憶デバイスにおいて起動割込み設定が定義されたというアラートを生成するための手段と、
前記ポータブルコンピューティングデバイス内に含まれる複数のプロセッサと通信する複数の割込みコントローラについての、前記記憶デバイスにおける起動割込み設定を取得するための手段であって、各割込みコントローラは、各々対応するプロセッサと通信する手段と、
前記複数の割込みコントローラについての、前記記憶デバイスにおける複数の前記起動割込み設定を1つの起動割込み設定にマージするための手段と、
前記マージされた起動割込み設定を、割込みコントローラをスリープ状態にするための信号を発行することを担う前記電力マネージャに送るための手段と、
前記電力マネージャから電力管理集積回路(PMIC)に前記割込みコントローラをスリープ状態にするための信号を発行するための手段と
を備えるシステム。
許可テーブルを検索して、割込みコントローラのレジスタのうちのいずれかの状態を変えるための権限をプロセッサがもつかどうか判断するための手段をさらに備える、請求項17に記載のシステム。
前記マージされた起動割込み設定を、前記電力マネージャ内の複数のレジスタに送るための手段をさらに備える、請求項17に記載のシステム。
前記起動割込み設定が、有効設定、タイプ/検出設定、極性設定、およびクリア設定のうちの少なくとも1つを含む、請求項17に記載のシステム。
前記電力マネージャからプロセッサに割込み信号を送るための手段をさらに備える、請求項17に記載のシステム。
起動割込み設定用に特定のプロセッサに割り当てられた、前記記憶デバイスの部分を読み取るための手段をさらに備える、請求項17に記載のシステム。
ローカル割込みテーブルを使って、前記記憶デバイスにある前記起動割込み設定を、前記割込みコントローラによって理解されるローカルな起動割込み設定に翻訳するための手段をさらに備える、請求項22に記載のシステム。
前記翻訳された起動割込み設定を、前記特定のプロセッサの割込みコントローラに送信するための手段をさらに備える、請求項23に記載のシステム。
ンピュータプログラムであって、1つまたは複数の割込みコントローラのスリープ状態を管理するための方法を実施するために実行されるように適合され、ポータブルコンピューティングデバイス内に含まれるプロセッサが前記1つまたは複数の割込みコントローラを有し、前記プロセッサに
前記ポータブルコンピューティングデバイス内に含まれる記憶デバイスにおいて起動割込み設定を定義するステップであって、前記記憶デバイスのメモリ要素が、割込みコントローラをスリープ状態にするための信号を発行することを担う電力マネージャ内に含まれるレジスタに反映される値を有するように設定するステップと、
前記記憶デバイスにおいて起動割込み設定が定義されたというアラートを生成するステップと、
前記ポータブルコンピューティングデバイス内に含まれる複数のプロセッサと通信する複数の割込みコントローラについての、前記記憶デバイスにおける起動割込み設定を取得するステップであって、各割込みコントローラは、各々対応するプロセッサと通信するステップと、
前記複数の割込みコントローラについての、前記記憶デバイスにおける複数の前記起動割込み設定を1つの起動割込み設定にマージするステップと、
前記マージされた起動割込み設定を、割込みコントローラをスリープ状態にするための信号を発行することを担う前記電力マネージャに送るステップと、
前記電力マネージャから電力管理集積回路(PMIC)に前記割込みコントローラをスリープ状態にするための信号を発行するステップと
実行させるコンピュータプログラム。
可テーブルを検索して、割込みコントローラのレジスタのうちのいずれかの状態を変えるための権限をプロセッサがもつかどうか判断することをさらに含む、請求項25に記載のコンピュータプログラム。
記マージされた起動割込み設定を、前記電力マネージャ内の複数のレジスタに送ることをさらに含む、請求項25に記載のコンピュータプログラム。
前記起動割込み設定が、有効設定、タイプ/検出設定、極性設定、およびクリア設定のうちの少なくとも1つを含む、請求項25に記載のコンピュータプログラム。
記電力マネージャからプロセッサに割込み信号を送ることをさらに含む、請求項25に記載のコンピュータプログラム。
動割込み設定用に特定のプロセッサに割り当てられた、前記記憶デバイスの部分を読み取ることをさらに含む、請求項25に記載のコンピュータプログラム。
ーカル割込みテーブルを使って、前記記憶デバイスにある前記起動割込み設定を、前記割込みコントローラによって理解されるローカルな起動割込み設定に翻訳することをさらに含む、請求項30に記載のコンピュータプログラム。
記翻訳された起動割込み設定を、前記特定のプロセッサの割込みコントローラに送信することをさらに含む、請求項31に記載のコンピュータプログラム。
JP2013548448A 2011-01-04 2012-01-03 ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム Active JP5705999B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161429522P 2011-01-04 2011-01-04
US61/429,522 2011-01-04
US13/069,087 US8463970B2 (en) 2011-01-04 2011-03-22 Method and system for managing sleep states of interrupt controllers in a portable computing device
US13/069,087 2011-03-22
PCT/US2012/020009 WO2012094271A1 (en) 2011-01-04 2012-01-03 Method and system for managing sleep states of interrupt controllers in a portable computing device

Publications (2)

Publication Number Publication Date
JP2014503097A JP2014503097A (ja) 2014-02-06
JP5705999B2 true JP5705999B2 (ja) 2015-04-22

Family

ID=46381821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013548448A Active JP5705999B2 (ja) 2011-01-04 2012-01-03 ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム

Country Status (7)

Country Link
US (1) US8463970B2 (ja)
EP (1) EP2661661B1 (ja)
JP (1) JP5705999B2 (ja)
KR (1) KR101503628B1 (ja)
CN (1) CN103282856B (ja)
TW (1) TW201243572A (ja)
WO (1) WO2012094271A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954017B2 (en) * 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device
US9535483B2 (en) 2012-12-19 2017-01-03 Intel Corporation Adaptively disabling and enabling sleep states for power and performance
US9383801B2 (en) * 2012-12-21 2016-07-05 Advanced Micro Devices, Inc. Methods and apparatus related to processor sleep states
US9317105B2 (en) * 2013-01-09 2016-04-19 Htc Corporation Method for performing application wake-up management for a portable device by classifying one application wake-up event of a plurality of application wake-up events as a triggering event for the other application wake-up events
US9304571B2 (en) * 2013-04-12 2016-04-05 Apple Inc. Interrupt based power state management
TWI515645B (zh) * 2013-09-24 2016-01-01 緯創資通股份有限公司 電子裝置及其控制方法
CN105354491B (zh) * 2015-10-12 2018-10-16 广东小天才科技有限公司 智能终端待机状态检测方法及装置
US11301406B2 (en) * 2016-08-16 2022-04-12 Intel Corporation Method, apparatus and system for role transfer functionality for a bus master
LU100947B1 (en) * 2018-09-27 2020-03-27 Nanopower As Device connection system and method of operation
CN110940947B (zh) * 2019-12-19 2022-04-22 国网宁夏电力有限公司检修公司 一种手持极性测试装置自适应超长工作时间方法
US11721992B2 (en) * 2020-07-23 2023-08-08 Motorola Solutions, Inc. System and method for supplying power from a multi-cell battery to a single-cell power management system
CN113721501A (zh) * 2021-08-12 2021-11-30 珠海格力电器股份有限公司 编码器的低功耗控制方法、装置、控制器和编码器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905898A (en) 1994-05-31 1999-05-18 Advanced Micro Devices, Inc. Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
US6081752A (en) 1995-06-07 2000-06-27 International Business Machines Corporation Computer system having power supply primary sense to facilitate performance of tasks at power off
US6425087B1 (en) 1999-05-28 2002-07-23 Palm, Inc. Method and apparatus for using residual energy in a battery-powered computer
US7472301B2 (en) 2005-05-27 2008-12-30 Codman Neuro Sciences Sárl Circuitry for optimization of power consumption in a system employing multiple electronic components, one of which is always powered on
US7797555B2 (en) 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
CN100524170C (zh) * 2006-06-27 2009-08-05 北京中星微电子有限公司 一种控制存储器进入低功耗模式的控制器及控制方法
CN101155355A (zh) * 2006-09-26 2008-04-02 华为技术有限公司 一种用户设备睡眠模式的控制方法、装置及设备
JP4685040B2 (ja) * 2007-01-24 2011-05-18 パナソニック株式会社 半導体集積回路及びその電源供給制御方法
US7788511B2 (en) * 2007-08-16 2010-08-31 Texas Instruments Incorporated Method for measuring utilization of a power managed CPU
JP5104254B2 (ja) 2007-11-30 2012-12-19 富士通セミコンダクター株式会社 集積回路装置
US8762759B2 (en) 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
JP2010282585A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd 電力管理回路、電力管理方法及び電力管理プログラム
US8601302B2 (en) * 2009-06-22 2013-12-03 Amazon Technologies, Inc. Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC

Also Published As

Publication number Publication date
CN103282856A (zh) 2013-09-04
EP2661661B1 (en) 2017-04-19
KR20130108658A (ko) 2013-10-04
KR101503628B1 (ko) 2015-03-18
WO2012094271A1 (en) 2012-07-12
JP2014503097A (ja) 2014-02-06
EP2661661A1 (en) 2013-11-13
US8463970B2 (en) 2013-06-11
US20120173782A1 (en) 2012-07-05
CN103282856B (zh) 2016-04-27
TW201243572A (en) 2012-11-01

Similar Documents

Publication Publication Date Title
JP5705999B2 (ja) ポータブルコンピューティングデバイス内の割込みコントローラのスリープ状態を管理するための方法およびシステム
CN107025906B (zh) 扩展语音识别的周期的方法和产品以及信息处理设备
US20220066536A1 (en) Low-power ambient computing system with machine learning
CN110096253B (zh) 利用相同的音频输入的设备唤醒和说话者验证
US9678560B2 (en) Methods and apparatuses to wake computer systems from sleep states
CN108566634B (zh) 降低蓝牙音箱连续唤醒延时的方法、装置及蓝牙音箱
JP5649254B2 (ja) ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム
US10064141B2 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
US11467650B2 (en) Selecting a low power state in an electronic device
TW201022922A (en) System and method of utilizing resources within an information handling system
JP2017533493A (ja) システムオンチップのサブシステムの外部アクセス検出および回復のためのシステムおよび方法
CN110853644B (zh) 语音唤醒方法、装置、设备及存储介质
US8544082B2 (en) Security reuse in hybrid information handling device environments
US20150268706A1 (en) System and method for memory power management in a system on a chip with multiple execution environments
US8539132B2 (en) Method and system for dynamically managing a bus of a portable computing device
JP5678210B2 (ja) ポータブルコンピューティングデバイス内のリソースを管理するための方法およびシステム
US9354942B2 (en) Coordinating power states in a hybrid information handling device
CN116243997A (zh) 芯片系统及其启动方法、电子设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150225

R150 Certificate of patent or registration of utility model

Ref document number: 5705999

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