JP2017520937A - 常時オンプロセッサを有するシステムオンチップ - Google Patents

常時オンプロセッサを有するシステムオンチップ Download PDF

Info

Publication number
JP2017520937A
JP2017520937A JP2017515669A JP2017515669A JP2017520937A JP 2017520937 A JP2017520937 A JP 2017520937A JP 2017515669 A JP2017515669 A JP 2017515669A JP 2017515669 A JP2017515669 A JP 2017515669A JP 2017520937 A JP2017520937 A JP 2017520937A
Authority
JP
Japan
Prior art keywords
component
soc
memory
state
sensor
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
JP2017515669A
Other languages
English (en)
Other versions
JP6449997B2 (ja
Inventor
ブリジェシュ トゥリパーティー
ブリジェシュ トゥリパーティー
シェーン ジェイ キール
シェーン ジェイ キール
マヌ グラティ
マヌ グラティ
ジュン ウック チョ
ジュン ウック チョ
エリック ピー マシュニキ
エリック ピー マシュニキ
ギルバート エイチ ハーベック
ギルバート エイチ ハーベック
ティモシー ジェイ ミレー
ティモシー ジェイ ミレー
ジョシュア ピー ディチェザレ
ジョシュア ピー ディチェザレ
アナンド ダラル
アナンド ダラル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2017520937A publication Critical patent/JP2017520937A/ja
Application granted granted Critical
Publication of JP6449997B2 publication Critical patent/JP6449997B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D9/00Recording measured values
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61GTRANSPORT, PERSONAL CONVEYANCES, OR ACCOMMODATION SPECIALLY ADAPTED FOR PATIENTS OR DISABLED PERSONS; OPERATING TABLES OR CHAIRS; CHAIRS FOR DENTISTRY; FUNERAL DEVICES
    • A61G3/00Ambulance aspects of vehicles; Vehicles with special provisions for transporting patients or disabled persons, or their personal conveyances, e.g. for facilitating access of, or for loading, wheelchairs
    • A61G3/02Loading or unloading personal conveyances; Facilitating access of patients or disabled persons to, or exit from, vehicles
    • A61G3/06Transfer using ramps, lifts or the like
    • A61G3/061Transfer using ramps, lifts or the like using ramps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60PVEHICLES ADAPTED FOR LOAD TRANSPORTATION OR TO TRANSPORT, TO CARRY, OR TO COMPRISE SPECIAL LOADS OR OBJECTS
    • B60P1/00Vehicles predominantly for transporting loads and modified to facilitate loading, consolidating the load, or unloading
    • B60P1/43Vehicles predominantly for transporting loads and modified to facilitate loading, consolidating the load, or unloading using a loading ramp mounted on the vehicle
    • B60P1/433Vehicles predominantly for transporting loads and modified to facilitate loading, consolidating the load, or unloading using a loading ramp mounted on the vehicle the loading floor or a part thereof being movable to form the ramp
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P5/00Measuring speed of fluids, e.g. of air stream; Measuring speed of bodies relative to fluids, e.g. of ship, of aircraft
    • G01P5/14Measuring speed of fluids, e.g. of air stream; Measuring speed of bodies relative to fluids, e.g. of ship, of aircraft by measuring differences of pressure in the fluid
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Veterinary Medicine (AREA)
  • Power Sources (AREA)
  • Transmission Devices (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Telephone Function (AREA)

Abstract

ある実施形態では、システムオンチップ(SOC)は、SOCの残り部分が電源オフされているときに電源供給されたままである構成要素を含む。構成要素は、各種のデバイスセンサからデータをキャプチャするためのセンサキャプチャユニットを含み得、キャプチャされたセンサデータをフィルタリングし得る。フィルタリングすることに応じて、構成要素は、処理を可能にするためにSOCの残り部分をスリープ解除し得る。構成要素は、SOCの他の構成要素について、それらをスリープ解除後に再プログラミングするために、SOCが直近に電源切断されたときの状態に合致するプログラミング可能な設定データを格納し得る。幾つかの実施形態では、構成要素は、データをメモリに書き込むために、SOC内のメモリコントローラ及びメモリコントローラへの経路をスリープ解除するように構成され得る。SOCの残り部分は、電源切断されたままであり得る。

Description

(技術分野)
本明細書に記述する実施形態は、システムオンチップ(SOC)の分野に関し、特に、SOC内の常時オンブロックに関する。
(関連技術の説明)
今日では、各種の電子デバイスが、消費者に日常的に使用されている。特にモバイルデバイスが普及してきている。モバイルデバイスとしては、携帯電話、携帯情報端末(PDA)、電話機能と各種のPDA機能及び/又は汎用アプリケーションサポートなどの他のコンピューティング機能とを組み合わせたスマートフォン、タブレット、ラップトップ、ネットトップ、スマートウォッチ、ウェアラブル電子機器などが挙げられる。概して、モバイルデバイスは、ユーザにより携帯されたり、ユーザにより着用されたりするように設計された任意の電子デバイスであり得る。モバイルデバイスは、一般的に、コンセントなどの一定の電源から離れて動作し得るようにバッテリにより電源供給される。
多くのモバイルデバイスは、殆どの時間、「スタンバイ」モードで動作し得る。スタンバイモードでは、デバイスは、ユーザのための内容をアクティブに表示していないので、及び/又はユーザのための機能をアクティブに実行していないので、「オフ」であるように見え得る。スタンバイモードでは、かなりのデバイスは、実際に電源オフされ得る。しかし、バックグラウンドでは、デバイスは電話呼び出し又はネットワークパケットを待ち、アラームを確認し、動きに反応するなどし得る。
モバイルデバイスは、しばしば、限られた電源(例えばバッテリ)により動作しているため、デバイスにとって省エネルギーが重要な設計要点となる。システムオンチップ(SOC)の搭載は、デバイスに必要とされるかなりの機能をSOC内に搭載できるので、省エネルギーを支援することができる。「スタンバイ」モード及び他の低電力モードでは、リーク電流損失を解消するためにSOCを電源切断することが望ましく、リーク電流損失は、最新の集積回路技術におけるエネルギー消費の重要なファクタである。一方、SOCは、上述したスタンバイ機能のうちの幾つかのために必要とされる。
ある実施形態では、SOCは、SOCの残り部分が電源オフされている時に、電源供給されたままである構成要素を含む。構成要素は、各種のデバイスセンサからデータをキャプチャするように構成されたセンサキャプチャユニットを含み得る。キャプチャされたセンサデータは、構成要素内のメモリにバッファリングされ得る。構成要素はプロセッサを更に含み得、プロセッサは、幾つかの実施形態では、キャプチャされたセンサデータをフィルタリングし、デバイスによる更なる処理の必要性を示し得るパターンを探索し得る。更なる処理の必要性が検出された場合、構成要素は、処理を可能にするためにSOCの残り部分をスリープ解除し得る(すなわち、電源投入及び再プログラミングを生じさせ得る)。電力/エネルギー消費は、幾つかの実施形態では、デバイスがアクティブに使用されていない時に、センサデータのキャプチャをサポートしながら低減され得る。例えば、集積回路上に構成要素を組み込むことにより得られ得る電力/エネルギー効率が、センサデータキャプチャをサポートしながら実現され得る。構成要素は、SOCの他の構成要素のためのプログラミング可能な設定データを、スリープ解除後にそれらを再プログラミングするために格納し得る。プログラミング可能な設定データは、(構成要素が電源供給されたままでありながら)SOCが直近に電源切断されたときの構成要素の状態に合致してもよく、スリープ解除のために望まれる異なる状態でもよい。
幾つかの実施形態では、構成要素は、データをメモリに書き込み及び/又はメモリから読み出すために、SOC内のメモリコントローラ及びメモリコントローラへの経路の両方をスリープ解除するように構成され得る。SOCの残り部分は、電源切断されたままであり得る。このようにして、構成要素は、転送を可能にするために、他の構成要素(例えば、中央処理装置(CPU)の1つ以上のプロセッサを含む)をウェイクさせずに、データ(例えばセンサデータ)を格納するためにより大きなメインメモリを利用し得る。電力/エネルギー消費は、必要とされる構成要素のみが電源投入されるため低減され得る。
幾つかの実施形態では、プログラミング可能な設定データの保存及び構成要素からのデータの復元は、SOCの電源切断(例えばスリープ)状態から再び電源投入するときの待ち時間を短縮させ得る。幾つかの実施形態では、1つの状態(例えば、構成要素内のプロセッサがアウェイクしている一方で、SOCがスリープしている)でのデータの処理は、より高い電力/パフォーマンス状態がほどなく必要とされ得るという推測を生じさせ得る。SOCは、その状態へ推測的に移行し得、よって、推測が精確である場合にはアウェイクさせるための待ち時間を更に短くし得る。
以下の詳細な説明は、次に簡単に記述する添付の図面を参照する。
SOCの一実施形態のブロック図である。 SOC内の常時オンブロックの一実施形態のブロック図である。 図2に示す常時オンブロックのための状態マシンの一実施形態のブロック図である。 図2に示す常時オンブロックのための状態マシンの別の実施形態のブロック図である。 ブート中又は設定変更中にSOC内のCPU上で動作するソフトウェアの一実施形態の動作を例示するフローチャートである。 図2に示す常時オンブロックの一実施形態の再設定中の動作のフローチャートである。 メモリオンリー通信状態にあるSOCの一実施形態のブロック図である。 再設定手法を使用する一実施形態のための待ち時間短縮のブロック図である。 待ち時間短縮のための推測的なスリープ解除の一実施形態のブロック図である。 図1に示すSOCを含むシステムの一実施形態のブロック図である。 コンピュータアクセス可能な記憶媒体の一実施形態のブロック図である。
この開示に記述する実施形態には、各種の変更形態及び代替形態の余地があり得るが、その具体的な実施形態を例として図面に示し、本明細書で詳細に記述する。しかし、図面及び図面に関する詳細な説明は、開示する特定の形態に実施形態を限定することを意図しておらず、むしろその意図は、添付の請求項の主旨及び範囲に含まれる全ての変更形態、等価形態、及び代替形態を網羅することであると理解されるべきである。本明細書で使用する見出しは、構成を目的とするにすぎず、説明の範囲を限定するために使用することを意図していない。この出願を通して使用するとき、「〜し得る(may)」という語は、義務的な意味(すなわち、〜しなければならない(must)を意味する)ではなく、許容的な意味(すなわち、〜する可能性を有することを意味する)で使用される。同様に、単語「含む(include)」、「含む(including)」及び「含む(includes)」は、何かを含むことを意味するが、その何かに限定されることを意味していない。
各種のユニット、回路、又は他の構成要素は、1つ以上のタスクを実行「するように構成される(configured to)」と記述され得る。このような文脈において、「〜するように構成される」は、動作中に1つ以上のタスクを実行する「回路を有する」ことを概ね意味する構造を広く記載するものである。よって、ユニット/回路/構成要素は、ユニット/回路/構成要素が現在動作していなくても、タスクを実行するように構成され得る。概して、「〜するように構成される」に対応する構造を形成する回路は、ハードウェア回路を含み得る。同様に、各種のユニット/回路/構成要素は、説明の便宜上、1つ以上のタスクを実行すると記述され得る。このような説明は、「〜するように構成される」というフレーズを含むものと解釈されるべきである。1つ以上のタスクを実行するように構成されるユニット/回路/構成要素の記載は、そのユニット/回路/構成要素について米国特許法第112条第6項の解釈を援用しないことを明示的に意図している。
この明細書は、「一実施形態」又は「ある実施形態」に対する参照を含む。特徴の任意の組合せを含む実施形態が概して企図されるが、本明細書で明示的に否定しない限り、「一実施形態で」又は「ある実施形態で」のフレーズの形態は、必ずしも同じ実施形態を意味していない。特定の機能、構造又は特性は、この開示と整合する任意の好適な方法で組み合わされ得る。
次に図1に移ると、メモリ12、少なくとも1つのセンサ20、及び電源管理ユニット(PMU)156に接続されたSOC10の一実施形態のブロック図が示される。名前により暗示されるように、SOC10の構成要素は、集積回路「チップ」としての単一の半導体基板上に集積され得る。幾つかの実施形態では、構成要素は、システム内の2つ以上の個別のチップ上に実装され得る。しかし、本明細書では、SOC10を例として使用する。例示する実施形態では、SOC10の構成要素は、中央処理装置(CPU)コンプレックス14、「常時オン」構成要素16、周辺構成要素18A〜18B(より短く、「周辺装置」)、メモリコントローラ22、電源マネージャ(PMGR)32、及び通信ファブリック27を含む。構成要素14、16、18A〜18B、22、及び32は、全て通信ファブリック27に接続され得る。メモリコントローラ22は、使用中にメモリ12に接続され得る。PMGR32及び常時オン構成要素16は、PMU156に接続され得る。PMU156は、各種の電源電圧をSOC、メモリ12、及び/又はセンサ20に供給するように構成され得る。常時オン構成要素16は、センサ20に接続され得る。例示する実施形態では、CPUコンプレックス14は、1つ以上のプロセッサ(図1のP30)を含み得る。プロセッサ30は、SOC10のCPU(単数又は複数)を形成し得る。
常時オン構成要素16は、SOC10の他の構成要素(例えば、CPUコンプレックス14、周辺装置18A〜18B、及びPMGR32)が電源切断されている時に、電源投入されたままであるように構成され得る。特に、常時オン構成要素16は、SOC10がPMU156から電力を受けているときは常にオンであり得る。よって、常時オン構成要素は、SOC10が電力を受けている場合(例えば、SOC10を含むデバイスがスタンバイモードにあるとき、又はアクティブに動作しているとき)に電源供給され得るが、SOC10が電力を受けていないとき(例えば、デバイスの電源が完全に切られているとき)には電源供給され得ないという意味で「常時オン」である。常時オン構成要素16は、SOC10の残り部分がオフである間に特定の機能をサポートし、低電力動作を可能にし得る。
図1では、常時オン構成要素16を他の構成要素から隔てる点線24が、常時オン構成要素16のための独立したパワードメインを示し得る。同様に、例示する実施形態では、点線26が、メモリコントローラ22のための独立したメモリコントローラパワードメインを表し得る。他の構成要素、構成要素の群、及び/又は下位構成要素もまた独立したパワードメインを有し得る。概して、パワードメインは、他のパワードメインから独立して、供給電圧を受けたり(すなわち電源オンされたり)、供給電圧を受けなかったり(すなわち電源オフされたり)するように構成され得る。幾つかの実施形態では、複数のパワードメインが、様々な大きさの供給電圧を同時に供給され得る。独立性は、各種のやり方でもたらされ得る。例えば、独立性は、PMU156からの別個の供給電圧入力を設けることによって、供給電圧入力と構成要素の間に電源スイッチを設け、ユニットとしての所与のドメインのための電源スイッチを制御することによって、及び/又は上記の組合せによってもたらされ得る。図1に例示するよりも多くのパワードメインもまた存在し得る。例えば、CPUコンプレックス14は、ある実施形態では、独立したパワードメインを有し得る(各CPUプロセッサ30もまた独立したパワードメインを有し得る)。ある実施形態では、1つ以上の周辺構成要素18A〜18Bが、1つ以上の独立したパワードメイン内にあり得る。
図1に例示するように、常時オン構成要素16は、少なくとも1つのセンサ20に接続され得る(及び複数のセンサ20に接続され得る)。常時オン構成要素16は、(SOC10が電源オンされるときに加えて、)SOC10が電源オフされている間にセンサ20からセンサデータを読み取るように構成され得る。常時オン構成要素16は、センサデータをバッファリングするためのメモリ(図1には示さない)を含み得、SOC10の残り部分は、メモリ(又はセンサデータを格納するために割り当てられたその一部分)がデータでフルにならない(又は満杯状態の閾値レベルに到達しない)限り、電源投入される必要がない。幾つかの実施形態では、常時オン構成要素16は、幾つかのやり方でセンサデータを処理するようにもまた構成され得る。例えば、常時オン構成要素16は、センサデータをフィルタリングするように構成され得る。データのフィルタリングは、概して、CPUコンプレックス14内のプロセッサによりセンサデータが更に処理されるべきであることを示すパターン若しくは他のデータ特性を探索すること、データ中のノイズを検出/除去するためにデータを操作すること、誤った肯定的な整合を解消するためにパターン若しくは他の特性に整合するように見えるデータを更に処理することなどのうちの1つ以上を意味し得る。
センサ20は、センサを含むデバイスの物理的環境の態様を検出又は測定するように構成される任意のデバイスであり得る。例えば、センサは、デバイスの加速度を測定する加速度計を含み得る。加速度計は、方向式(所定の方向の加速度を測定する)又はベクトル式(多次元の加速度を測定し、加速度及びその方向を示すベクトルを生成する)であり得る。複数の方向式加速度計は、加速度ベクトル検知とともに加速度方向検知を可能にするために用いられ得る。センサの別の例は、ジャイロスコープ(又はジャイロ)であり得る。ジャイロスコープは、デバイスの向き及び/又は向きの変化を検出するために使用され得る。加速度計と同様に、ジャイロスコープは、方向式又は多次元式であり得、及び/又は多方向式ジャイロスコープが使用され得る。また別のセンサは磁力計であり得、それは、磁性配向を測定するために使用され得、よってコンパスを形成するために使用され得る。他の実施形態では、コンパス機能は、センサ内に組み込まれ得る。別のセンサは、音声検出器(例えばマイク)であり得る。音声検出器は、音をキャプチャし、音を示すデータを生成し得る。別のセンサは、光又は他の電磁エネルギーを検出する光検出器であり得る。他の例示的なセンサは、高度を検出するための高度計、温度センサ、及び/又は圧力センサを含み得る。また別のセンサは、ボタン、タッチスクリーン、キーボード、ポインティングデバイス、カメラなどのユーザインタフェースデバイスであり得る。センサの任意の集合が用いられ得る。
上述したように、常時オン構成要素16は、構成要素内のメモリにデータをバッファリングするように構成され得る。バッファがフルに近くなると、常時オン構成要素16は、センサデータをメモリ12に書き込むためにメモリコントローラ22をウェイクさせるように構成され得る。幾つかの実施形態では、常時オン構成要素16は、データのフィルタリング結果をメモリ12に書き込むように構成され得る。幾つかの実施形態では、常時オン構成要素16は、SOC10の残り部分が電源切断されている間に他の処理タスクを実行し得る。これらのタスクがメモリ12にアクセスする程度まで、常時オン構成要素16は、メモリコントローラ22をウェイクさせるように構成され得る。加えて、常時オン構成要素16は、通信ファブリック27の少なくとも一部分(すなわち、常時オン構成要素16をメモリコントローラ22に接続する部分)をウェイクさせるように構成され得る。
このメモリオンリー通信モードを使用して、常時オン構成要素16は、メモリ12にアクセスし得、SOC10の残り部分が電源切断されたままであるので、比較的少ない量のエネルギー/電力を費やしながら、メモリ12内で利用可能な著しい記憶領域を利用し得る。常時オン構成要素16は、メモリコントローラ22のためのプログラミング可能な設定データを格納し得るので、常時オン構成要素16は、電力が復元するとメモリコントローラ22をプログラミングし得る。つまり、常時オン構成要素16は、オペレーティングシステムがSOC10を含むデバイスのブート中にメモリコントローラ22をプログラミングするのと同様の方法で、メモリコントローラ22をプログラミングするように構成され得る。常時オン構成要素16により格納されるプログラミング可能な設定データは、一実施形態では、SOC10(常時オン構成要素16を除く)が直近に電源切断されたときにメモリコントローラ22内に存在していた設定データであり得る。別の実施形態では、プログラミング可能な設定データは、メモリコントローラ22の任意の従前の設定及び/又はメモリ12の任意の設定のために機能することが知られている設定であり得る。既知の良好な設定は、例えば、常時オン構成要素16によるメモリアクセスのパフォーマンスにおいて許容できる設定であり得る。
常時オン構成要素16が電源供給されたままの状態でSOC10が電源切断されるとき、電源切断シーケンスの一部分は、メモリ12を保持モードにすることであり得る。例えば、メモリ12がダイナミックランダムアクセスメモリ(DRAM)である実施形態の場合、保持モードは「セルフリフレッシュ」モードであり得る。保持モードでは、メモリ12は、モードが変更されるまで、外部的にアクセス不能であり得る。しかし、メモリ12の内容は保存され得る。例えば、セルフリフレッシュモードでは、DRAMは、データを保持するために必要とされる周期的なリフレッシュを実行し得る(通常は、メモリコントローラ22が電源オンされる時に、メモリコントローラ22により実行される)。
幾つかの実施形態では、常時オン構成要素16は、SOC10内の他の構成要素のためのプログラミング可能な設定データを更に格納し得る。プログラミング可能な設定データは、SOC10の残り部分が直近に電源切断されたときの構成要素の状態を反映し得る。常時オン構成要素16は、SOC10を処理のためにウェイクさせるように構成され得、格納されたプログラミング可能な設定データを用いて構成要素を再プログラミングし得る。格納されたプログラミング可能な設定データに基づいて構成要素に対する状態を復元する処理は、再設定と称され得る。再び、上で議論したメモリオンリー通信モードと同様に、構成要素に対して復元される状態は、構成要素が直近に電源切断されたときの状態であってもよく、又はSOC10を動作のために復元するための許容できるパフォーマンスを有する既知の良好な状態であってもよい。後者の場合、状態は、再設定が完了した後に、より高いパフォーマンス状態に変更され得る。
常時オン構成要素16の再設定機能を使用した状態の復元は、SOC10の電力を復元し、コールドブートと同様の方法でSOC10及びオペレーティングシステムを初期化するよりも短い待ち時間動作となり得る。常時オン構成要素16を用いない初期化中、オペレーティングシステムは、システム状態がメモリ12に格納された状態でSOC10が従前に電源切断され、幾つかの初期化動作を迂回したことを発見した。しかし、復元の待ち時間は、所望されるよりも長かった。以下では、一実施形態の追加詳細がより詳細に議論される。
常時オン構成要素16は、PMU156に対するPMGR32の通信に加えて、PMU156と通信するように構成され得る。PMU156と常時オン構成要素16の間のインタフェースは、PMGR32が電源切断される時に、常時オン構成要素16が構成要素(例えば、メモリコントローラ22、又はSOC10の他の構成要素)を電源投入させることを可能にし得る。インタフェースは、常時オン構成要素16がそれ自体の電力状態を制御することもまた可能にし得る。
概して、構成要素は、電源オンされる又は電源オフされると称され得る。構成要素は、設計されたように動作し得るように、供給電圧を受けている場合に電源オンされ得る。構成要素は、電源オフされる場合に、供給電圧を受けておらず、動作していない。構成要素は、電源オンされる場合に電源投入されるとも称され得、電源オフされる場合に電源切断されるとも称され得る。構成要素の電源投入は、電源オフされている構成要素に供給電圧を供給することを意味し得、構成要素の電源切断は、構成要素への供給電圧の供給を終了することを意味し得る。同様に、任意の下位構成要素及び/又はSOC10の全体は、電源投入される/電源切断されるなどと称され得る。構成要素は、SOC10内の指定された機能を提供し、SOC10の残り部分に対する特定のインタフェースを有する、回路の予め定められたブロックであり得る。よって、常時オン構成要素16、周辺装置18A〜18B、及びCPUコンプレックス14、メモリコントローラ22、並びにPMGR32は、それぞれ構成要素の例であり得る。
構成要素は、電源投入されクロックゲートされていない場合、アクティブであり得る。よって、例えば、CPUコンプレックス14内のプロセッサは、アクティブである場合、命令実行のために利用可能であり得る。構成要素は、電源オフされている場合、又は命令が実行され得る前に著しい遅延が経験され得る別の低電力状態にある場合に、非アクティブであり得る。例えば、構成要素は、位相ロックループ(PLL)のリセット又は再ロックを必要とする場合、電源供給されたままでも非アクティブであり得る。構成要素は、クロックゲートされている場合、非アクティブであり得る。クロックゲートは、構成要素内のデジタル回路へのクロックが一時的に「電源を切られ」、フロップ、レジスタなどのクロック制御される記憶デバイス内のデジタル回路から状態がキャプチャされることを妨げる技術を意味し得る。
上述したように、CPUコンプレックス14は、SOC10のCPUとして機能する1つ以上のプロセッサ30を含み得る。システムのCPUは、オペレーティングシステムなどの、システムの主制御ソフトウェアを実行するプロセッサ(単数又は複数)を含む。概して、使用中にCPUにより実行されるソフトウェアは、システムの所望の機能を実現するために、システムの他の構成要素を制御し得る。プロセッサは、アプリケーションプログラムなどの他のソフトウェアも実行し得る。アプリケーションプログラムは、ユーザ機能を提供し得、低レベルデバイス制御、スケジューリング、メモリ管理などについてオペレーティングシステムに依存し得る。したがって、プロセッサは、アプリケーションプロセッサとも称され得る。CPUコンプレックス14は、L2キャッシュ及び/又はシステムの他の構成要素に対するインタフェース(例えば、通信ファブリック27に対するインタフェース)などの他のハードウェアを更に含み得る。
動作点は、電源電圧の大きさと、CPUコンプレックス14、常時オン構成要素16、SOC10の他の構成要素などの動作周波数との組合せを意味し得る。動作周波数は、構成要素をクロック制御するクロックの周波数であり得る。動作周波数は、クロック周波数又は単に周波数とも称され得る。動作点は、動作状態又は電力状態とも称され得る。動作点は、常時オン構成要素16に格納され、再設定が生じるときに構成要素内に再プログラミングされ得る、プログラミング可能な設定データの一部分であり得る。
概して、プロセッサは、プロセッサにより実装される命令セットアーキテクチャ内に定義された命令を実行するように構成された任意の回路及び/又はマイクロコードを含み得る。プロセッサは、システムオンチップ(SOC10)又は他の集積化レベルとして他の構成要素とともに集積回路上に実装されるプロセッサコアを包含し得る。プロセッサは、別個のマイクロプロセッサ、マルチチップモジュール実装内に集積化されるプロセッサコア及び/又はマイクロプロセッサ、複数の集積回路として実装されるプロセッサなどを更に包含し得る。
メモリコントローラ22は、概して、SOC10の他の構成要素からメモリ操作を受信し、メモリ操作を完了するためにメモリ12にアクセスするための回路を含み得る。メモリコントローラ22は、任意の種類のメモリ12にアクセスするように構成され得る。例えば、メモリ12は、スタティックランダムアクセスメモリ(SRAM)、ダブルデータレート(DDR、DDR2、DDR3、DDR4など)DRAMを含むシンクロナスDRAM(SDRAM)などのダイナミックRAM(DRAM)であり得る。DDR DRAMの低電力/モバイルバージョン(例えば、LPDDR、mDDRなど)がサポートされ得る。メモリコントローラ22は、操作を順序付けし(及び場合によっては再順序付けし)、メモリ12へ操作を提示するための、メモリ操作用の待ち行列を含み得る。メモリコントローラ22は、メモリへの書き込みを待っている書き込みデータ、及びメモリ操作の送信元への返送を待っている読出しデータを格納するためのデータバッファを更に含み得る。幾つかの実施形態では、メモリコントローラ22は、最近アクセスされたメモリデータを格納するためのメモリキャッシュを含み得る。SOC実装形態では、例えば、メモリキャッシュは、データがほどなく再びアクセスされると予想される場合、メモリ12からのデータの再アクセスを回避することによって、SOC内の電力消費を低減させ得る。幾つかの場合、メモリキャッシュは、L2キャッシュ又はプロセッサ内のキャッシュなど特定の構成要素のみに役立つプライベートキャッシュとは異なり、システムキャッシュとも称され得る。加えて、幾つかの実施形態では、システムキャッシュはメモリコントローラ22内に位置する必要がない。
周辺装置18A〜18Bは、SOC10内に含まれる追加ハードウェア機能の任意の集合であり得る。例えば、周辺装置18A〜18Bは、カメラ若しくは他の画像センサからの画像キャプチャデータを処理するように構成された画像信号プロセッサなどの映像周辺装置、1つ以上の表示デバイスに映像データを表示するように構成された表示コントローラ、グラフィック処理ユニット(GPU)、映像エンコーダ/デコーダ、スケーラ、ローテータ、ブレンダなどを含み得る。周辺装置は、マイク、スピーカ、マイク及びスピーカに対するインタフェース、音声プロセッサ、デジタル信号プロセッサ、ミキサなどの音声周辺装置を含み得る。周辺装置は、ユニバーサルシリアルバス(USB)、PCIエクスプレス(PCIe)を含むペリフェラルコンポーネント相互接続(PCI)、シリアルポート及びパラレルポートなどのインタフェースを含む、SOC10(例えば周辺装置18B)の外部の各種のインタフェースのためのインタフェースコントローラを含み得る。周辺装置は、メディアアクセスコントローラ(MAC)などのネットワーク用周辺装置を含み得る。ハードウェアの任意の集合が含まれ得る。
通信ファブリック27は、SOC10の構成要素間で通信するための任意の通信相互接続及び通信プロトコルであり得る。通信ファブリック27は、共有バス構成、クロスバー構成、及びブリッジを有する階層化バスを含むバスベースであり得る。通信ファブリック27は、またパケットベースであり得、ブリッジを有する階層構造、クロスバー、ポイントツーポイント、又は他の相互接続であり得る。
PMGR32は、PMU156から要求される供給電圧の大きさを制御するように構成され得る。SOC10のためにPMU156により発生される複数の供給電圧が存在し得る。例えば、図1には、VCPU及びVSOCが例示される。VCPUは、CPUコンプレックス14のための供給電圧であり得る。VSOCは、概して、CPUコンプレックス14の外側にあるSOC10の残り部分のための供給電圧であり得る。例えば、他の構成要素のためのVSOCに加えて、メモリコントローラのパワードメイン及び常時オンパワードメインのための別の供給電圧が存在し得る。別の実施形態では、VSOCは、メモリコントローラ22、常時オン構成要素16、及びSOC10の他の構成要素に役立ち得、パワーゲート(登録商標)は、パワードメインに基づいて用いられ得る。幾つかの実施形態では、SOC10の残り部分のための複数の供給電圧が存在し得る。幾つかの実施形態では、CPUコンプレックス14内及び/又はSOC10内の各種のメモリアレイのためのメモリ供給電圧も存在し得る。メモリ供給電圧は、ロジック回路に供給される電圧(例えばVCPU又はVSOC)とともに使用され得、ロバストなメモリ操作を確実にするために必要とされるよりも低い電圧を有し得る。PMGR32は、ソフトウェアの直接制御下にあり得(例えば、構成要素の電源投入及び/又は電源切断をソフトウェアが直接要求し得る)、及び/又は、SOC10を監視し、各種の構成要素が電源投入又は電源切断されるべき時を決定するように構成され得る。
PMU156は、概して、供給電圧を発生させ、それらの供給電圧をSOC10、メモリ12(図1のVMEM)、ディスプレイデバイス、画像センサ、ユーザインタフェースデバイスなどの各種のオフチップ周辺構成要素(図1には示さない)などのシステムの他の構成要素に提供するための回路を含み得る。PMU156は、よって、プログラミング可能な電圧レギュレータ、SOC10、特に、電圧要求などを受信するためにPMGR32に対してインタフェースするためのロジックを含み得る。
SOC10の構成要素の数(及びCPUコンプレックス14内などの、図1に示すもののための下位構成要素の数)が実施形態によって異なり得ることに留意されたい。各構成要素/下位構成要素の数は、図1に示すよりも多くても少なくてもよい。
次に図2に移ると、常時オン構成要素16の一実施形態のブロック図が示される。例示する実施形態では、常時オン構成要素16は、プロセッサ40、メモリ42、センサキャプチャモジュール(SCM)44、SOC再設定回路46、ローカルPMGR48、及び相互接続50を含み得る。プロセッサ40、メモリ42、SCM44、SOC再設定回路46、及びローカルPMGR48は、相互接続50に接続され得る。SCM44は、センサキャプチャユニット又はセンサキャプチャ回路とも称され得る。
センサキャプチャモジュール44は、SOC10がシステムに搭載されるときにセンサ20に接続され得、センサ20からデータをキャプチャするように構成され得る。例示する実施形態では、センサキャプチャモジュール44は、キャプチャされたセンサデータ(SCMデータ52)をメモリ42に書き込むように構成され得る。メモリ42は、例えばSRAMであり得る。しかし、他の実施形態では、任意の種類のメモリが使用され得る。
SCMデータ52は、キャプチャされたセンサデータを格納するために常時オン構成要素16により予め割り当てられる領域に格納され得る。領域が消費されるので、キャプチャされたデータを格納するために利用可能なメモリの量が減少する。センサキャプチャモジュール44は、割り当てメモリ領域の満杯状態の透かし又は他の表示(概して、例えば「閾値」)を用いてプログラミングされ得、センサキャプチャモジュール44は、キャプチャされたセンサデータをメモリ12に書き込むために、メモリコントローラ22をウェイクさせるように構成され得る。代わりに、プロセッサ40は、キャプチャされたセンサデータをメモリ12に書き込むように構成されてもよい。このような場合、センサキャプチャモジュール44は、プロセッサ40をウェイクさせるように構成され得る。
プロセッサ40は、メモリ42に格納されたコード(プロセッサコード/データ54)を実行するように構成され得る。コードは、実行されると、プロセッサ40に各種の機能を実施させる一連の命令を含み得る。例えば、コードは、上で議論したようにSCMデータ52をフィルタリングするためにプロセッサ40により実行され得るフィルタコードを含み得る。所望のパターン又は他のデータ属性(単数又は複数)をSCMデータ52中に検出することに応じて、プロセッサ40は、メモリ12を更新するためにメモリコントローラ22をウェイクさせるように、及び/又はSOC10をウェイクさせるように構成され得る。
プロセッサコード/データ54は、SOC10を含むデバイスがブートされると初期化され得る。コードは、SOC10上又はデバイス内の何処かにある不揮発性メモリに格納され得、例えば、メモリ42にロードされ得る。幾つかの実施形態では、リードオンリーメモリ(ROM)などのローカルの不揮発性メモリも使用され得る。
ある実施形態では、プロセッサ40は、CPUコンプレックス14内のCPUプロセッサ30よりも小さく、電力効率が高いプロセッサであり得る。よって、プロセッサ40は、CPUプロセッサ30が消費するよりも少ない電力をアクティブ時に消費し得る。ある実施形態では、CPUプロセッサ30が存在するよりも少ないプロセッサ40が存在し得る。
SOC再設定回路46は、電源オフ状態から戻る構成要素に電力供給することに応じて各種の構成要素を再プログラミングするために、メモリコントローラ22及びSOC10の他の構成要素のためのプログラミング可能な設定データ56を格納するように構成され得る。代わりに、プログラミング可能な設定データ56は、メモリ42に又はメモリ42とSOC再設定回路46の組合せに格納されてもよい。設定データ56は、例えば、対応する構成要素のプログラミングの一部分として、CPUプロセッサ30により回路46に書き込まれ得る。つまり、(例えば、デバイスのブートの一部として及び/又は設定が変更される他の時に、オペレーティングシステムソフトウェアを実行する)CPUプロセッサ30は、データをSOC再設定回路46に書き込み得る。代わりに、幾つかの実施形態では、SOC再設定回路46は、設定状態を監視及びシャドーウィングするハードウェアを有してもよい。幾つかの実施形態では、プログラミング可能な設定データ56の少なくとも一部分は、予め定められ得、メモリ42及び/又はSOC再設定回路46に書き込まれるよりも、ROMなどの不揮発性メモリに格納され得る。
ある実施形態では、SOC再設定回路46は、SOC10が再び電源投入された後に、プログラミング可能な設定データ56を処理し、SOC10内の対応する構成要素にデータを書き込むように構成されたロジック回路を含み得る。プログラミング可能な設定データ56は、書き込まれるべき一連のレジスタアドレスと、それらのレジスタに書込むためのデータとを含み得る。幾つかの実施形態では、プログラミング可能な設定データ56は、レジスタを読み出すための読出しコマンド、例えば、各種の書き込みにより実行された初期化が完了したこと及び/又は対応する状態が構成要素内で有効であることを示す予想値に対してのポーリングを更に含み得る。予想値は、読み出された値の全体でもよく、値の一部分でもよい(例えば、予想値は、値と、比較の前に読出し値に適用されるべきマスクとを含み得る)。幾つかの実施形態では、プログラミング可能な設定データ56は、レジスタを読み出し、読出しデータの一部分を変更し、変更データをレジスタに書き戻すための読出し−変更−書き込みコマンドを更に含み得る。例えば、レジスタ値のどの部分を更新すべきであるかを判定するために第2のマスクが使用され得る。レジスタのうち第2のマスクによりマスクされた部分は、値がレジスタに書き込まれるときに更新され得ない。
別の実施形態では、SOC再設定回路46は、別のプロセッサと、プロセッサのためコードを格納する対応するメモリとを含み得る(又は、コードはメモリ42に格納され得る)。コードは、プロセッサにより実行されると、プログラミング可能な設定データ56を用いてSOC10内の各種の構成要素をプロセッサに設定させ得る。コードは、上述したポーリング機能をコード自体の構造の一部として実施してもよく、プログラミング可能な設定データ56は、上の議論と同様に、ポーリングするためのアドレス及び予想値を格納してもよい。別の実施形態では、プロセッサ40は、SOC10の構成要素を再プログラミングするためにソフトウェアを実行し得る。
プログラミング可能な設定データ56は、メモリコントローラ22のためのデータ、SOC10の他の構成要素のための別のデータ、及び、プロセッサ40が電源投入されるときにプロセッサ40を再設定するための別のデータを含み得る。SOC10の残り部分が電源切断されている間に、メモリコントローラ22が電源投入されると、メモリコントローラ22のためのデータが処理され得る。データは、メモリコントローラ22のためのプログラミング可能な設定データを含み得る。データは、ある実施形態では、追加のプログラミング可能な設定データを更に含み得る。例えば、通信ファブリック27のためのプログラミング可能な設定データが含まれ得る。プログラミング可能な設定データは、常時オン構成要素16とメモリコントローラ22の間の通信に使用される全ての構成要素のために含まれ得る。SOC10の残り部分が電源投入される時に、他の構成要素のためのデータが処理され得る。同様に、プロセッサ40が電源投入される時に、プロセッサ40のためのプログラミング可能な設定データが処理され得る。
幾つかの実施形態では、SOC再設定回路46は、SOC10の電源投入の1つ以上の時点で、プログラミング可能な設定データをSOC10の構成要素に提供するように構成され得る。例えば、幾つかのプログラミング可能な再設定データは、電源オンへの移行の初め近くで提供され得(例えば、電源電圧が安定化した直後)、他のプログラミング可能な再設定データは、電源オンへの移行の、より終わり近くで提供され得る。更に、幾つかの実施形態では、プログラミング可能な設定データ56は、プログラミング可能な設定のうちSOC10の構成要素内で確立されるべき一部分のみであり得る。プログラミング可能な設定の残り部分は、メモリ12に格納され得る。例えば、CPUプロセッサ30上で動作するオペレーティングシステムソフトウェアは、プログラミング可能な設定を電源切断の前にメモリ12にキャプチャし得る。メモリ12に格納されたプログラミング可能な設定データの復元は、CPUプロセッサ30がリセットから解放され、実行を再開した後に、SOC再設定回路46、他のハードウェア、及び/又はオペレーティングシステムソフトウェアにより実行され得る。
ローカルPMGR48は、図1のPMGR32がSOC10に対して行うのと全体として同様な方法で、常時オン構成要素16内の電源管理機能を処理するように構成され得る。常時オン構成要素16は、複数の電力状態をサポートし得、ローカルPMGR48は、それらの状態間の移行を支援し得る。ローカルPMGR48は、状態変化をサポートするとともに、各種の構成要素のスリープ解除又はスリープ投入の一部として、SOC10の各種の構成要素への供給電圧の提供を管理するために、PMU156と通信するように構成され得る。
相互接続50は、図2に示す各種の下位構成要素間で情報を送信するとともに、通信ファブリック27を介してSOC10の他の構成要素と通信するために、任意の相互接続を備え得る。相互接続は、各種の実施形態では、所望に応じて、図1に関して上で議論した通信ファブリック27の例のいずれかを含み得る。
次に図3に移ると、常時オン構成要素16の一実施形態で実装され得る状態マシンの一実施形態のブロック図が示される。例示する実施形態では、状態は、待機状態60、キャプチャ状態62、処理状態64、メモリアクセス状態66、及びSOCオン状態68を含む。状態間の移行が実線で例示され、可能な特定の追加的移行が点線で例示される。図3には、図面を煩雑にしないために、可能な移行の全ては例示されない。
図3に例示する状態は、相対的な電力/エネルギー消費の順序であり得、待機状態60が最小電力状態であり、SOCオン状態68が最大電力状態である。待機状態60では、常時オン構成要素16の下位構成要素は、パワーゲートされているか又はクロックゲートされているかのいずれかであり得る。例えば、ある実施形態では、プロセッサ40はパワーゲートされ得、SCM44はクロックゲートされ得る。メモリ42は保持モードでもよく、通常どおりに電源供給されてもよい。SOC再設定回路46及びローカルPMGR48は、クロックゲートされ得る。下位構成要素の間でクロックゲート及びパワーゲートの任意の組合せが使用され得る。
待機状態60では、常時オン構成要素16は、実質的にアイドルであり得る。状態マシンは、SCM44によりセンサ20からのセンサデータのキャプチャの準備が整った時に、待機状態60からキャプチャ状態62へ移行し得る。一実施形態では、常時オン構成要素16内のタイマ(例えば監視タイマ)(図2には明示的に示されない)が、待機状態60からキャプチャ状態62への移行を周期的に生じさせ得る。この場合、キャプチャのためのセンサデータが存在してもよく、存在しなくてもよい。一実施形態では、センサは、センサデータがキャプチャのために利用可能であることを示すために、常時オン構成要素16への信号をアサートし得る。いずれの場合でも、キャプチャ状態62への移行が実行され得る。
例示する実施形態では、状態マシンは、待機状態60から処理状態64へ直接的にも移行し得る。この移行は、(プロセッサ40による)プロセッササポートが望まれることをセンサが常時オン構成要素16にシグナリングするように構成される場合にサポートされ得る。信号は、信号を実施する実施形態の場合、センサデータが利用可能であることを示すための信号とは別であり得る。移行は、例えば、センサデータの高速処理(例えばフィルタリング)をサポートしてもよく、SOC10の高速スリープ解除(プロセッサ40上で動作するソフトウェアにより管理され得る)が望まれる場合に使用されてもよい。例えば、デバイスと相互作用するユーザの望みを示すボタン又は他のユーザインタフェースデバイスが、SOC10の高速スリープ解除を生じさせるイベントとなり得る。プロセッサ40が待機状態60でパワーゲートされている場合、待機状態60から処理状態64への移行は、プロセッサ40の電源投入、並びにプロセッサ40のリセット及び初期化を含み得る。他の実施形態では、待機状態60からの移行は、キャプチャ状態62を通過するが、キャプチャ状態62に留まり得ない。この実施は、プロセッサ40のための僅かに長いスリープ解除時間によって複雑性を低下させ得る。
キャプチャ状態62では、SCM44は、アクティブであり得、センサ20のうちの1つ以上からデータをサンプリングし得る。SCM44は、キャプチャされたセンサデータ(SCMデータ52)をメモリ42に書き込み得る。SCM44は、キャプチャされたセンサデータに関連するタイムスタンプ、センサ識別子などの追加データ(SCMデータ52)もメモリ42に書き込み得る。任意の所望の追加データがメモリ42に格納され得る。一実施形態では、タイムスタンプは、センサデータがセンサ20により検知された時間であり得、それは、データがSCM44によりキャプチャされる前であり得る。代わりに、タイムスタンプは、SCM44によるセンサデータキャプチャ時間であってもよい。
SCM44は、データを処理するためにSCM44がプロセッサ40をウェイクさせるように設定され得る1つ以上の閾値を検出し得る。閾値は、例えば、メモリ42内のSCMデータ52の相対的な満杯状態、取られたセンササンプルの数、第1のサンプルからの経過時間、サンプルによりトリガされていないスリープ解除タイマ、誤り検出などを含み得る。1つ以上の閾値の任意の集合が使用され得、様々な閾値が様々なセンサのために使用され得る。閾値に到達した場合、状態マシンは、キャプチャ状態62から処理状態64へ移行し得る。代わりに、センサデータキャプチャが完了した場合、状態マシンは、キャプチャ状態62から待機状態60へ移行してもよい。
処理状態64では、プロセッサ40は、アクティブであり、メモリ42から(又は、存在する場合にはプロセッサ40のキャッシュから)のコードを実行し得る。コードは、例えばフィルタコードを含み得る。処理状態64の間、SCM44は、追加センサデータをキャプチャするために周期的にアクティブであってもよく、処理状態64の間、連続的にアクティブであってもよい。プロセッサ40上で動作するコードは、コードが完了したと少なくとも一時的に判定し得、キャプチャ状態62に戻る移行を生じさせ得る。代わりに、移行は、待機状態60への直接的な移行であってもよい(例えば、SCM44が非アクティブである場合)。
コードは、処理状態64の間のメモリ12との通信が望まれるとも判定し得る。例えば、メモリ12との通信は、メモリ42からキャプチャされたセンサデータをメモリ12に書き込むように使用され、メモリ12内の利用可能なより大きな記憶スペースを使用する。幾つかの実施形態では、メモリ12は、メモリ42に連続的に格納され得ない、プロセッサ40により実行可能な追加コード(例えば追加のフィルタリングアルゴリズム)も格納し得る。追加コードは、メモリ12との通信が確立された後にプロセッサ40により実行され得る。例えば、追加コードは、メモリ12からメモリ42にフェッチされ得、及び/又はプロセッサ40によりキャッシュされ得る。データは、プロセッサ40がキャプチャされたセンサデータ中に所望のパターン若しくは他の態様を検出することに応じて、メモリ42からメモリ12に書き込まれ得、CPUコンプレックス14内のCPUプロセッサ30による追加処理が保証され得る。データは、CPUプロセッサ30がデータへのアクセスを有するようにメモリ12に書き込まれ得る。メモリ12との通信が望まれる場合、状態マシンは、メモリアクセス状態66へ移行し得る。移行は、メモリコントローラ22の状態とともに、常時オン構成要素16からメモリコントローラ22への通信経路をプログラミングするための、SOC再設定回路46による動作を含み得る。幾つかの実施形態では、通信ファブリック27の全体がアクティブ化され得る。他の実施形態では、通信ファブリック27のうちメモリコントローラ22と常時オン構成要素16の間の通信に関与する部分のみがアクティブ化され得る。メモリ12は、セルフリフレッシュから引き出されもし得る。ある実施形態では、ローカルPMGR48は、メモリコントローラの供給電圧がPMU156により管理される場合、メモリコントローラ22の電源投入を要求する、移行にも関与し得る。
メモリアクセス状態66では、メモリコントローラ22は、アクティブであり得、常時オン構成要素16は、メモリ12へのアクセスを有し得る。常時オン構成要素16(ある実施形態では、特にプロセッサ40)は、メモリ12に対する読出し及び書き込み操作を発生させるように構成され得、操作は、相互接続50及び通信ファブリック27を介してメモリコントローラ22に引き継がれ得る。データは、同様なやり方で、メモリコントローラ22により(読出しのために)戻されてもよく、メモリコントローラ22により(書き込みのために)受信されてもよい。
プロセッサ40は、メモリ12にアクセスする必要性が終了したと判定し得、処理状態64に戻る移行を生じさせ得る。移行は、メモリ12をセルフリフレッシュモードに復帰し、メモリコントローラ22及び通信ファブリック27を電源切断することを含み得る。
プロセッサ40は、SOC10が(例えば、CPUコンプレックス14に対するハンドオフ処理のために)アウェイクされるべきであるとも判定し得る。状態マシンは、メモリアクセス状態66からSOCオン状態68へ移行し得る。移行は、ローカルPMGR48が、SOC10のためにPMU156からの電源投入を要求することを含み得、SOC再設定回路46が設定データ56により各種の構成要素をプログラミングすることを含み得る。一実施形態では、処理状態64からSOCオン状態68への直接的な移行がサポートされ得る。このような移行では、メモリコントローラ22の電源投入及びメモリ12のセルフリフレッシュ解除もまた実行され得る。代わりに、プロセッサ40は、SOCオン状態68への移行の望みを検出し得るが、移行を実行するためにメモリアクセス状態66を通過してもよい。
SOCオン状態68から、SOC10(例えば、PMGR32及び/又はCPUプロセッサ30上で動作するソフトウェア)は、SOC10がより低い電力状態へ移行すべきであると判定し得る。一実施形態では、ソフトウェアは、メモリ12がセルフリフレッシュにされ、SOC10の構成要素が電源切断される前に、設定データ56によって表されもする状態を含む各種のシステム状態がメモリ12に書き込まれる「RAMへのサスペンド(suspend to RAM)」動作を実行し得る。よって、SOCオン状態68に復帰すると、設定データ56による状態の再プログラミングが実行され得、ソフトウェアは、メモリ12に格納されたデータに基づく実行を再開し得る。移行は、例えば、常時オン構成要素16が搭載されていない場合と比べて、相対的に迅速であり得る。このような場合、ソフトウェアは、通常のコールドブート処理を開始し得る。処理中の一部の時点で、ソフトウェアは、RAMへのサスペンドが生じていたことを認識し得るが、処理中のその時点で一部の不要な初期化処理が既に実行されていてもよい。
概して、状態マシンがより高い電力状態のうちのいずれかである間に、より低い電力状態で実行される動作もまた実行され得る。例えば、センサデータキャプチャは、状態マシンが処理状態64、メモリアクセス状態66、及びSOCオン状態68である間にも実行され得る(例えば、状態マシンが他の状態のうちのいずれかである間に、SCM44にデータをキャプチャさせるトリガのうちの1つが生じる場合)。同様に、プロセッサ40は、処理状態64、メモリアクセス状態66、及びSOCオン状態68のうちのいずれかでアクティブであり得、よって、それらの状態のいずれかでデータを処理し得る。
SOC10が停止する場合、状態マシンは、SOCオン状態68からメモリアクセス状態66に復帰し得る(及び常時オン構成要素16内の他のアクティビティに基づいて、より低い状態へ移行し得る)。代わりに、SOCオン状態68から状態60、62、64、又は66のいずれかへの直接的な移行が、移行が生じるときの常時オン構成要素16内の現在のアクティビティに基づいて実行されてもよい。
次に図4に移ると、別の状態マシンのブロック図が示される。図4の状態マシンは、図3の状態マシンと共同して実装され得る。例示する実施形態では、状態マシンは、オフ状態70、SOCオン状態72、AO+メモリ状態74、AO状態76、及び非AO状態78を含む。この文脈でのAOは、常時オンの頭文字であり得る。
オフ状態70は、SOC10を含むデバイスが完全にオフであるときなど、SOC10に対する全電力がオフである状態であり得る。したがって、状態マシンは、SOC10に対して電源が入れられることに応じてオフ状態70から(例えばSOCオン状態72へ)移行し得る。SOC10のリセットが実行され得、SOC10はブートに進み得る。状態マシンは、SOC10を完全に電源オフすることに応じて、SOCオン状態72からオフ状態70へ移行し得る。電源オフは、CPU30上で動作するソフトウェアが任意の所望の状態をメモリ12から不揮発性メモリに保存し、デバイスが有し得る各種の接続(例えば、無線及び/又は有線ネットワーク接続、無線電話接続など)を閉鎖し、その他の方法で、順序立った停止のためにデバイスを準備した後に生じ得る。図4では、移行がSOCオン状態72からオフ状態70への移行であるが、他の実施形態では、他の状態からオフ状態70への移行がサポートされ得る。
SOCオン状態72では、SOC10は、フル動作中であり得る。SOC10の各種の構成要素は、所望に応じて電源オン又は電源オフされ得るが、SOC10全体としては、SOCオン状態72で概してアクティブであると見られ得る。SOCオン状態72は、図3の実施形態では、SOCオン状態68に対応し得る。
SOCオン状態72では、CPUコンプレックス14上で動作するソフトウェアは、SOC10が低電力状態(例えばスリープ)に行くべきであると判定し得る。ある実施形態では、ソフトウェアは、「RAMへのサスペンド」動作を実行し得、その動作では、各種のSOC状態がSOC10の電源切断前にメモリ12に書き込まれる。メモリ12は、メモリ内容を維持するが、メモリコントローラ22に対するメモリインタフェースに関して非アクティブである、「セルフリフレッシュ」モードにされ得る。PMGR32は、メモリコントローラ22、ファブリック27(又はそのうちのメモリコントローラ22との間で通信するために使用される部分)、及び常時オン構成要素16を除く、SOC10内の構成要素の電源切断を生じさせるために電源切断コマンドをPMU156に通信し得る。代わりに、ローカルPMGR48は、電源切断コマンドを送信してもよい。状態マシンは、AO+メモリ状態74へ移行し得る。幾つかの実施形態では、SOCオン状態72からAO状態76への移行もまたサポートされ得る。代わりに、SOCオン状態72からAO状態76への移行は、AO+メモリ状態74を通過してもよい。つまり、ターゲット状態がAO状態76である場合、AO+メモリ状態74への移行が行われ、それにAO状態76への移行が続き得る。
AO+メモリ状態74では、メモリコントローラ22、通信ファブリック27(又は常時オン構成要素16に対する部分)、及び常時オン構成要素16は、アクティブであり得る。AO+メモリ状態74は、図3のメモリアクセス状態66に対応し得る。SOCをスリープ解除させるイベントが検出された場合、状態マシンは、SOCオン状態72へ移行し得る(各種の実施形態では、PMU156及び/又はSOC10内の電源スイッチとの通信によるSOC10の他の構成要素の電源投入、並びにSOC再設定回路46による及び/又はメモリ12内のデータによる構成要素の再設定)。
一方、常時オン構成要素16は、メモリアクセスが完了したと判定し得、(メモリ12をセルフリフレッシュなどの保持モードにした後に)メモリコントローラ22を非アクティブ化させ得る。メモリコントローラ22は電源切断され得、常時オン構成要素16は電源供給されたままであり得る。状態マシンはAO状態76へ移行し得る。AO状態76は、図3の処理状態64、キャプチャ状態62、及び待機状態60のうちのいずれかに対応し得る。常時オン構成要素16が、メモリアクセスが再び望まれると判定した場合、(例えば、SCMデータ52中の各種の閾値に到達するか、又はプロセッサ40によりパターン/属性を検出するかによって)、状態マシンは、AO+メモリ状態76へ移行し得る(メモリコントローラ22及び通信ファブリック27に電源供給し、それらをSOC再設定回路46により再設定する)。幾つかの実施形態では、メモリコントローラ22、通信ファブリック27、及びSOC10内の他の構成要素の電源投入、並びにSOC再設定回路46によるそれらの構成要素の再設定を含めて、AO状態76からSOCオン状態72への直接的な移行がサポートされ得る。
一実施形態では、非AO状態78がサポートされ得る。非AO状態78は、常時オン構成要素16が電源切断されるが、メモリ12が保持モードで電源供給されたままである状態であり得る。非AO状態78は、「典型的な」RAMへのサスペンド状態と同様であり得る。非AO状態78からSOCオン状態72への復帰は、ソフトウェアが常時オン構成要素16を含むSOC10の構成要素を再設定することを含み得る。ソフトウェアは、CPUプロセッサ30上で動作し得る。よって、非AO状態78からSOCオン状態72への移行は、ソフトウェアが、SOC10を初期化し、メモリ12が状態を既に格納していることを検出するまで、基本ブート動作を含み得る。
次に図5に移ると、(例えば、CPUプロセッサ30により)SOC10上で動作し得るソフトウェアコードの一実施形態の動作を例示するフローチャートが示される。コードは、SOC10を含むデバイスのブートで実行され得る。コードは、構成要素のプログラミング可能な設定の変更中に同様に実行され得る。設定変更中に動作するコードは、各種の実施形態では、ブート中に動作するコードと同じであってもよく、同じでなくてもよい。他の実施形態では、図5に示す動作の部分は、ハードウェア内で実施され得る。コードは、プロセッサ上で実行されると、図5に例示する動作を実施する命令を含み得る。ある実施形態では、図5に示す動作を実施するコードは、対応する構成要素のためのドライバコードの一部であり得、よって、図5に例示する動作は、複数のコードシーケンスで実施され得る。
コードは、構成要素内にプログラミングされるべき設定パラメータを決定し得る(ブロック80)。パラメータは、構成要素及びその能力を発見することに基づき得る。SOC10内の構成要素は、ハードウェア内に実装されるため一定であり得るが、コードは、SOC10の複数のバージョンで走るように汎用であり得る。更に、SOC10は、様々に設計された複数のデバイスに搭載され得る。所望のパラメータは、SOC10がインスタンス化される特定のデバイスによる影響を受け得る。
コードは、設定パラメータを構成要素に書き込み(ブロック82)、構成要素をプログラミングし得る。設定パラメータが、スリープ状態又は他の電源切断状態の後にSOC10に再び電源供給すると復元されるべきデータを含む場合(判定ブロック84、「はい」の脚)、コードは、設定パラメータをプログラミング可能な設定データ56に書き込み、よってSOC再設定回路46の状態をシャドーウィングし得る(ブロック86)。他の実施形態では、SOC再設定回路46は、所望の状態を自動的にシャドーウィングするように構成され得る。
幾つかの実施形態では、設定パラメータの全ては、SOC10の次の電源投入時に構成要素に対して復元される再設定状態の一部である必要がないことに留意されたい。例えば、構成要素との基本通信に必要とされない各種の任意選択的な機能を設定するパラメータは、再設定時にデフォルト値に設定され得る。このような任意選択的パラメータは、構成要素に対する復元のためにCPU30上の実行を再開した後に、メモリ12内のRAMへのサスペンド状態から読み出され得る。したがって、このようなパラメータは、SOC再設定回路46により格納された状態の一部である必要がない。更に、前述したように、幾つかの実施形態では、SOC再設定回路46に書き込まれたパラメータは、SOC10が電源切断されるときに構成要素にプログラミングされたパラメータとは異なり得る。このような場合、SOC再設定回路46に書き込まれたパラメータは、SOC10のスリープ解除に応じて構成要素内に再プログラミングされるべきパラメータであり得る。
次に図6に移ると、SOC10の1つ以上の構成要素が再び電源投入されるべきであるという、常時オン構成要素16内の判定に応じた、常時オン構成要素16の一実施形態の動作を例示するフローチャートが示される。例えば、図6の動作は、メモリコントローラ22及び通信ファブリック27を復元するための、メモリアクセス状態66/AO+メモリ状態74への移行の一部であり得る。図6の動作は、SOC10全体の構成要素を復元するための、SOCオン状態68/SOCオン状態72への移行の一部であり得る。常時オン構成要素16は、図6に示す動作を実施するように構成され得る。
常時オン構成要素16は、電源投入される構成要素の電力の復元を生じさせるように構成され得る(ブロック90)。例えば、ローカルPMGR48は、PMU156がSOC10の1つ以上の供給電圧レールへの供給電圧を復元することを要求するように構成され得る。代わりに、ローカルPMGR48又は常時オン構成要素16内の他の回路は、パワーゲートされている構成要素への電力を復元するために、SOC10内の電源スイッチを制御するように構成されてもよい。PMU要求及び電源スイッチ制御の組合せもまた使用され得る。
電力が安定化し、任意の構成要素のリセットが完了すると、SOC再設定回路46は、構成要素に対応するプログラミング可能な設定データ56を用いて構成要素をプログラミングするように構成され得る(ブロック92)。SOC再設定回路46は、プログラミング可能な設定データ56を読み出し、再設定が完了するまで、データを構成要素に送信するように構成され得る(判定ブロック94)。再設定が完了すると(判定ブロック94の「はい」脚)、新たな状態(例えば、メモリアクセス状態66又はSOCオン状態68)への移行が完了し得る(ブロック96)。
伝達は、任意の形態(例えば、プログラミングされた入力/出力(PIO)書き込み、専用の通信経路、メモリマッピングされたI/O書き込みなど)をとり得る。設定パラメータの書き込みに加えて、幾つかの実施形態は、構成要素から状態を判定するために、プログラミング可能な再設定データ56中の他の情報をサポートし得、そのことは、再設定が完了したかどうかの判定の一部を形成し得る(判定ブロック94)。例えば、一連の設定パラメータの書き込みが構成要素に送信され、それに、例えば、完了又は動作のための準備が整ったことを示すために構成要素が更新するレジスタへのポーリング読出しが続き得る。
図7は、SOC10の構成要素を例示するブロック図であり、それらの構成要素は、SOC10の一実施形態では、メモリアクセス状態66/AO+メモリ状態74に対してオン又はオフである。図7の陰影を付けられた構成要素が電源オフされる一方、陰影を付けられていない構成要素が電源オンされる。図7には、各種のパッド98A〜98Dも例示する。パッドは、SOC10のピン上の信号を駆動し、ピンから信号を受信するように構成された入力/出力ドライバ/レシーバ回路を含み得る。したがって、パッド98A〜98Dもまた供給電圧を受け得る。この実施形態では、メモリコントローラ22がメモリ12と通信するためのパッド98Cは、電源オンされ得、パッド98Bも、常時オン構成要素16から各種のセンサに同じように通信する。PMGR32がPMU156と通信するためのパッド98Dと、周辺装置18Bのためのパッド98Aとは、両方とも電源切断され得る。代わりに、少なくとも1つのパッドが電源オンされるときには常に全てのパッドが電源オンされる単一パッド構成が使用されてもよい。
図7に例示するように、メモリコントローラ22及び常時オン構成要素16は、残りの構成要素が電源切断されている間に電源投入され得る。加えて、通信ファブリック27のうち常時オン構成要素16とメモリコントローラ22の間で通信するために使用される一部分99は、通信ファブリック27の残り部分が電源切断されている間に電源投入され得る。例えば、ある実施形態では、通信ファブリック27は、周辺装置18A〜18B、CPUコンプレックス14、及び常時オン構成要素16などのソースからメモリコントローラ22にトランザクションをルーティングするために、バス及び回路の階層的集合を含み得る。ファブリックは、またデータを(書き込みのためにメモリコントローラ22へ、読出しのためにメモリコントローラ22から)運び得、及びメモリコントローラ22からソースへの応答を運び得る。階層的インタフェース及び回路のうち常時オン構成要素16とメモリコントローラ22の間の部分は、電源オンされ得、他の部分は電源オフされ得る。
図8は、一実施形態のための再設定メカニズムを使用した待ち時間短縮を例示するブロック図である。図8の左手側にある矢印により例示するように、図8では、上から下に時間が増加する。左側は、集積回路10のためのブートシーケンスであり、右側は、本実施の再設定メカニズムによる再設定である。
ブートシーケンスは、SOC10を含むデバイスが最初に電源投入されるときに実行され得る。したがって、メモリ12に格納されたデータが存在せず、プログラミング可能な再設定データ56を含めてSOC10は初期化されない。ブートシーケンスは、リードオンリーメモリ(ROM)のロード100、低レベルブート102、及びカーネル104を含む。ROMロード100は、CPUプロセッサ30によるリセットの終わりで開始し得、低レベルブート102のための低レベルブートコードのROM(例えばセキュアROM)からの読出し、低レベルブートコードの復号化及び/又は認証、並びに低レベルブートコードの開始を含み得る。低レベルブートコードは、SOC10の各種の構成要素を発見し得、構成要素を初期化し得る。概して、初期化の量、初期化されるべき構成要素、及び低レベルブートコードにより構成要素が初期化される状態は、カーネルコード(カーネルブロック104)の設計に応じて制御され得る。つまり、低レベルブートコードは、カーネルコードがその最初の命令を実行するときの状態として予想されるシステム/SOC10の状態を発生させ得る。カーネルコードは、オペレーティングシステムの中央コアであり、システム内で動作する各種のアプリケーションプログラムにより使用するためにSOC10のリソースを管理し得る。
電源投入が再び再設定メカニズムを使用するとき、ROMロード100が回避され得る。再設定メカニズム(ブロック106)は、低レベルブート102と同じ効果を有し得るが、幾つかの場合では、低レベルブートコードよりも高速であり得る。最悪、再設定メカニズム106は、低レベルブート102と同じ待ち時間を有し得る。再設定メカニズム106の終わりに、カーネル104は、実行の準備を整え得る。再設定メカニズムを使用した待ち時間短縮は、矢印108により例示される。
別の実施形態では、再設定メカニズム106は、低レベルブートコードから再設定コードを導出し、電源投入イベントの後にCPUプロセッサ30によりアクセス可能な領域(例えば、SOC10内の又はSOC10に接続されたフラッシュメモリなどの不揮発性メモリ)にコードを格納することによって実施され得る。CPUプロセッサ30の電源投入及びリセットの後、CPUプロセッサ30は、再設定コードが実行され得るように領域を指すリセットベクトルへのリセットから解放され得る。再設定コードは、カーネルへの呼出しにより終了し得る。
図9は、一実施形態のために、スリープ解除待ち時間を短縮させるための推測の使用を例示するブロック図である。概して、図9に示すような推測は、待ち時間を短縮させるために任意のレベル(例えば、図3及び図4の状態間の任意の移行)で使用され得る。推測が正しくない場合に幾らかの電力が回路の推測的な電源投入及び電源切断で消費され得るが、合理的に精確な推測は、良好な電力/パフォーマンスのトレードオフとなり得る。図8と同様、図9では、上から下に時間が増加する。
図9の左側は、推測なしに実行されるシーケンスである。常時オン構成要素16は、N個のセンササンプルを収集し得る(ブロック110)。つまり、常時オン構成要素16は、待機状態60とキャプチャ状態62の間をN(ここで、Nが正の整数である)回移行し、センサデータを毎回キャプチャし得る。常時オン構成要素16は、N個のセンササンプルの後に状態マシンが処理状態64へ移行する(プロセッサ40をウェイクさせる)ように、この例ではNの閾値を用いてプログラミングされ得る。プロセッサ40は、センサデータを処理し得る(ブロック112)が、プロセッサ40にメモリコントローラ22又はSOC10の他の部分をウェイクさせるセンサデータのパターン又は他の属性を検出し得ない。状態マシンは、キャプチャ状態62及び/又は待機状態60に復帰し得る。続いて、更にN個のセンササンプルが収集され得(ブロック114)、プロセッサ40は、再びアウェイクされ得、センサデータを処理し得る(ブロック116)。この場合、プロセッサ40は、CPUプロセッサ30が更にセンサデータを処理し又は他の処理を実行し得るように、SOC10がアウェイクされるべきであることを検出し得る。よって、状態マシンは、SOCオン状態68/72へ移行し、SOC10をアウェイクさせ、処理を可能にし得る(ブロック118)。
図9の右側は、SOC10の電源を入れるための待ち時間を短縮させるための推測のある例である。左側の例と同様に、右側の例は、常時オン構成要素16が、N個のセンササンプルを収集し、プロセッサ40をウェイクさせ(ブロック120)、状態マシンを処理状態64へ移行させることを含み得る。この場合、しかし、プロセッサ40により実行されるコードは、(例えば、図9の左側のブロック112及び116と同様に、)迅速なSOC処理の望みを示すセンサデータ中のパターン/属性を探索するのみではなく、SOC処理がほどなく望まれることを予測するためにパターン/属性を探索する。右側の例では、プロセッサ40により実行されるコードは、SOC処理が望まれることを予測し得(ブロック122)、状態マシンをSOCオン状態68/72へ移行させ得る(ブロック124)。SCM44は、並行してセンササンプルもまたキャプチャし続け得る。スリープ解除を生じさせるパターン/属性が検出される時に、SOC10は、既に準備を整え得る。待ち時間が、矢印126により例示するように、左側の例と比べて短縮され得る。予測が正しくない場合(図9の予測ミス)、SOC10は、スリープに復帰し得る(ブロック128)。この場合、SOC10をスリープ解除するために使用された電力は浪費され得る。
次に図10に移ると、システム150の一実施形態のブロック図が示される。例示する実施形態では、システム150は、1つ以上の周辺装置154及び外部メモリ12に接続された、SOC10の少なくとも1つのインスタンスを含む。SOC10に供給電圧を供給するとともに、メモリ12及び/又は周辺装置154に1つ以上の供給電圧を供給するPMU156が設けられる。幾つかの実施形態では、SOC10の2つ以上のインスタンスが含まれ得る(及び2つ以上のメモリ12もまた含まれ得る)。
周辺装置154は、システム150の種類に応じて任意の所望の回路を含み得る。例えば、一実施形態では、システム150は、モバイルデバイス(例えば、携帯情報端末(PDA)、スマートフォンなど)であり得、周辺装置154は、ワイファイ、ブルートゥース(登録商標)、セルラー、全地球測位システムなどの各種の無線通信のためのデバイスを含み得る。周辺装置154は、RAMストレージ、ソリッドステートストレージ、又はディスクストレージを含む追加ストレージも含み得る。周辺装置154は、タッチディスプレイスクリーンインタフェース又はマルチタッチディスプレイスクリーンを含むディスプレイスクリーン、キーボード又は他の入力デバイス、マイク、スピーカなどのユーザデバイスを含み得る。図1の実施形態では、周辺装置154は、センサ20を含み得る。他の実施形態では、システム150は、任意の種類のコンピューティングシステム(例えば、デスクトップパーソナルコンピュータ、ラップトップ、ワークステーション、ネットトップなど)であり得る。
外部メモリ12は、任意の種類のメモリを含み得る。例えば、外部メモリ12は、SRAM、シンクロナスDRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3など)SDRAM、RAMBUS DRAM、DDR DRAMの低電力バージョン(例えばLPDDR、mDDRなど)などのダイナミックRAM(DRAM)であり得る。外部メモリ12は、シングルインラインメモリモジュール(SIMM)、デュアルインラインメモリモジュール(DIMM)などのメモリデバイスが装着される1つ以上のメモリモジュールを含み得る。代わりに、外部メモリ12は、チップオンチップ又はパッケージオンパッケージ実装でSOC10に装着される1つ以上のメモリデバイスを含んでもよい。
図11には、コンピュータアクセス可能な記憶媒体200の一実施形態のブロック図が示される。一般的に、コンピュータアクセス可能な記憶媒体は、コンピュータに命令及び/又はデータを提供するために使用中にコンピュータによりアクセス可能である任意の記憶媒体を含み得る。例えば、コンピュータアクセス可能な記憶媒体は、磁気又は光学媒体、例えば、(固定された又は取り外し可能な)ディスク、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW又はブルーレイなどの記憶媒体を含み得る。記憶媒体は、RAM(例えば、シンクロナスDRAM(SDRAM)、Rambus DRAM(RDRAM)、スタティックRAM(SRAM)など)、ROM、又はフラッシュメモリなどの、揮発性又は不揮発性メモリ媒体を更に含み得る。記憶媒体は、それが命令/データを提供するコンピュータ内に物理的に搭載され得る。代わりに、記憶媒体は、コンピュータに接続されてもよい。例えば、記憶媒体は、ネットワーク接続ストレージのように、ネットワーク又は無線リンクを介してコンピュータに接続され得る。記憶媒体は、ユニバーサルシリアルバス(USB)などの周辺インタフェースにより接続され得る。概して、コンピュータアクセス可能な記憶媒体200は、非一時的な方法でデータを格納し得、非一時的とは、この文脈上、命令/データを信号上で伝達しないことを意味し得る。例えば、非一時的なストレージは、揮発性(格納された命令/データを電源切断に応じて失い得る)でもよく、不揮発性でもよい。
図11のコンピュータアクセス可能な記憶媒体200は、常時オン構成要素コード202を格納し得る。常時オン構成要素コード202は、プロセッサ40により実行されると、コードについて上述した動作を実施する命令を含み得る。常時オン構成要素コード202は、例えば、図2に示すプロセッサコード54を含み得る。図11のコンピュータアクセス可能な記憶媒体200は、CPUコード204を更に含み得る。CPUコード204は、ROMロードコード206、低レベルブートコード208、及び/又はカーネルコード210を含み得る。各コードは、実行されると、例えば、ROMロードブロック100、低レベルブートブロック102、及びカーネルブロック104に割り当てられた動作を実施する命令を含み得る。キャリア媒体は、コンピュータアクセス可能な記憶媒体、及び有線若しくは無線伝送などの伝送媒体を含み得る。
上記の開示を十分に理解すれば、多くの変形及び変更が当業者にとって明らかとなるであろう。以下の請求項は、このような変形及び変更の全てを包含するように解釈されることを意図している。

Claims (18)

  1. 集積回路であって、
    複数の構成要素と、
    前記複数の構成要素に接続された第1の構成要素であって、前記複数の構成要素が電源オフされている間に電源オンされたままであるように構成され、前記集積回路を含むシステム内の少なくとも1つのセンサに接続されるように構成され、前記第1の構成要素は、プロセッサ、センサキャプチャ回路、及びメモリを含み、前記センサキャプチャ回路は、前記少なくとも1つのセンサからセンサデータを前記メモリ内にキャプチャするように構成され、前記プロセッサは、前記複数の構成要素が電源切断されている間に、キャプチャされた前記センサデータに関する処理を実行するように構成される、第1の構成要素と、
    を備える、集積回路。
  2. 前記プロセッサは、前記メモリ内にキャプチャされた前記センサデータをフィルタリングするように構成される、請求項1に記載の集積回路。
  3. 前記第1の構成要素は、キャプチャされた前記センサデータ中の所定の状態を、前記プロセッサが前記フィルタリング中に検出することに応じて、前記複数の構成要素を電源オンさせるように構成される、請求項2に記載の集積回路。
  4. 前記第1の構成要素は、複数の電力状態で動作するように構成され、前記複数の電力状態のうちの第1の電力状態は、前記プロセッサが非アクティブである間に、前記センサキャプチャ回路が電源オンされ、センサデータをキャプチャすることを含む、請求項1から3のいずれか一項に記載の集積回路。
  5. 前記複数の電力状態のうちの第2の電力状態は、前記処理を実行するために前記プロセッサがアクティブであることを含み、前記第1の構成要素は、前記メモリ内にキャプチャされた前記センサデータが所定の量に到達することに応じて、前記第1の電力状態から前記第2の電力状態へ移行するように構成される、請求項4に記載の集積回路。
  6. 前記複数の電力状態のうちの第3の電力状態は、前記センサキャプチャ回路及び前記プロセッサが非アクティブであることを含み、前記第1の構成要素は、センサデータが読出しのために利用可能になることに応じて、前記第3の電力状態から前記第1の電力状態へ移行するように構成される、請求項1から5のいずれか一項に記載の集積回路。
  7. 少なくとも1つのセンサと、
    請求項1から6のいずれか一項に記載の集積回路であって、前記複数の構成要素は、中央処理装置(CPU)コンプレックス及びメモリコントローラを含み、前記第1の構成要素は、前記CPUコンプレックス及び前記メモリコントローラが電源オフされている間に電源オンされるように構成される、集積回路と、
    を備える、システム。
  8. 前記センサは加速度計である、請求項7に記載のシステム。
  9. 前記センサはジャイロスコープである、請求項7に記載のシステム。
  10. 集積回路内の複数の構成要素のうちの第1の構成要素に、前記複数の構成要素のうちの残り部分が電源切断されている間に電源供給することと、
    前記複数の構成要素のうちの前記残り部分が電源切断されている間に、前記第1の構成要素が、
    前記集積回路に接続された少なくとも1つのセンサからセンサデータをキャプチャすることと、
    キャプチャされた前記センサデータを処理することと、
    を含む、方法。
  11. 前記複数の構成要素のうちの前記残り部分が電源切断されている間に、キャプチャされた前記センサデータを前記処理することに応じて、複数の構成要素のうちの前記残り部分に電源投入することを更に含む、請求項10に記載の方法。
  12. 前記処理することは、キャプチャされた前記センサデータをフィルタリングすることを含む、請求項10又は11に記載の方法。
  13. 前記第1の構成要素は、複数の電力状態で動作するように構成され、前記キャプチャすることは、前記複数の電力状態のうちの第1の電力状態で生じ、前記フィルタリングすることは、前記複数の状態のうちの第2の電力状態で生じ、
    前記方法は、
    フィルタリングのために、キャプチャされた前記センサデータの準備が整っていることを検出することと、
    前記検出することに応じて、前記第1の電力状態から前記第2の電力状態へ移行することと、
    を更に含む、請求項12に記載の方法。
  14. 前記第1の構成要素は、アイドル時に第3の電力状態で動作するように更に構成され、前記方法は、
    キャプチャのために前記センサデータの準備が整っていることを検出することと、
    前記検出することに応じて、前記第3の電力状態から前記第1の電力状態へ移行することと、
    を更に含む、請求項13に記載の方法。
  15. 前記第1の構成要素はセンサキャプチャユニットを含み、前記第1の状態は、前記センサキャプチャユニットがアクティブであり、前記第1の構成要素内のプロセッサが非アクティブであることを含み、前記第2の電力状態への移行は、前記フィルタリングを実行するために前記プロセッサをアクティブ化させることを含む、請求項13又は14に記載の方法。
  16. 前記第3の電力状態は、前記プロセッサ及び前記センサキャプチャユニットが非アクティブであることを含み、前記第1の電力状態への移行は、前記センサキャプチャモジュールをアクティブ化させることを含む、請求項14又は15に記載の方法。
  17. 前記センサデータの前記キャプチャを完了することに応じて、前記第1の電力状態から前記第3の電力状態へ移行することを更に含む、請求項14に記載の方法。
  18. 前記フィルタリングを完了することに応じて、前記第2の電力状態から前記第1の電力状態及び前記第3の電力状態のうちの一方へ移行することを更に含む、請求項14に記載の方法。
JP2017515669A 2014-05-29 2015-04-01 常時オンプロセッサを有するシステムオンチップ Active JP6449997B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462004317P 2014-05-29 2014-05-29
US62/004,317 2014-05-29
US14/458,885 US10031000B2 (en) 2014-05-29 2014-08-13 System on a chip with always-on processor
US14/458,885 2014-08-13
PCT/US2015/023824 WO2015183404A1 (en) 2014-05-29 2015-04-01 System on a chip with always-on processor

Publications (2)

Publication Number Publication Date
JP2017520937A true JP2017520937A (ja) 2017-07-27
JP6449997B2 JP6449997B2 (ja) 2019-01-09

Family

ID=52829474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017515669A Active JP6449997B2 (ja) 2014-05-29 2015-04-01 常時オンプロセッサを有するシステムオンチップ

Country Status (8)

Country Link
US (6) US10031000B2 (ja)
EP (1) EP3146408B1 (ja)
JP (1) JP6449997B2 (ja)
KR (1) KR101957555B1 (ja)
CN (1) CN106255937B (ja)
AU (1) AU2015267615B2 (ja)
TW (1) TWI582578B (ja)
WO (1) WO2015183404A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021503639A (ja) * 2017-11-16 2021-02-12 インテル・コーポレーション 分散型のソフトウェア定義型産業システム
JP2021140803A (ja) * 2017-11-21 2021-09-16 グーグル エルエルシーGoogle LLC マシンラーニングによる低パワーアンビエントコンピューティングシステム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US9619377B2 (en) 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US10031000B2 (en) 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
WO2017012126A1 (en) * 2015-07-23 2017-01-26 Qualcomm Technologies International, Ltd. Fast authentication of code in a low-power system
CN106850985B (zh) * 2017-02-04 2019-07-05 Oppo广东移动通信有限公司 移动终端传感器的控制方法、装置及移动终端
US10352782B2 (en) * 2017-03-06 2019-07-16 Nxp Usa, Inc. Thermal monitoring system in an integrated circuit die
US10474224B2 (en) 2017-03-14 2019-11-12 Qualcomm Incorporated Quick energy efficient reboot from ultra-low power mode for a system on a chip
CN109427402A (zh) * 2017-08-23 2019-03-05 西安莫贝克半导体科技有限公司 固态硬盘
CN109426322A (zh) * 2017-08-23 2019-03-05 西安莫贝克半导体科技有限公司 一种固态硬盘及其供电方法
US10754414B2 (en) * 2017-09-12 2020-08-25 Ambiq Micro, Inc. Very low power microcontroller system
US10642338B2 (en) * 2017-09-28 2020-05-05 Intel Corporation Hierarchical power management unit for low power and low duty cycle devices
US10782759B1 (en) 2019-04-23 2020-09-22 Arbor Company, Lllp Systems and methods for integrating batteries with stacked integrated circuit die elements
US11176493B2 (en) 2019-04-29 2021-11-16 Google Llc Virtualizing external memory as local to a machine learning accelerator
CN110286741B (zh) * 2019-06-28 2020-12-29 深圳忆联信息系统有限公司 一种固态硬盘片上系统功耗管理方法及其装置
CN112948320B (zh) * 2019-12-11 2024-01-16 瑞昱半导体股份有限公司 具有内存的芯片
US12093114B2 (en) 2019-12-17 2024-09-17 Google Llc Low-power vision sensing
WO2022005743A1 (en) 2020-06-29 2022-01-06 Arbor Company, Lllp Mobile iot edge device using 3d-die stacking re-configurable processor module with 5g processor-independent modem
WO2022026481A1 (en) * 2020-07-28 2022-02-03 Sonical Sound Solutions Fully customizable ear worn devices and associated development platform
TWI760974B (zh) * 2020-12-17 2022-04-11 新唐科技股份有限公司 處理器晶片及顯示資訊更新方法
WO2023219777A1 (en) 2022-05-09 2023-11-16 Apple Inc. Rhythmic collection of positioning information
WO2023219757A1 (en) 2022-05-09 2023-11-16 Apple Inc. Proactive recording of locations for backtracking

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003295987A (ja) * 2002-04-03 2003-10-17 Canon Electronics Inc 電子機器、動作モード制御方法、プログラム、及び記憶媒体
JP2011520326A (ja) * 2008-04-11 2011-07-14 クゥアルコム・インコーポレイテッド 特定目的プロセッサ及びモーション・センシングの少なくとも一つを用いる電力管理
US20140059365A1 (en) * 2012-08-27 2014-02-27 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
JP2014509765A (ja) * 2011-04-01 2014-04-21 インテル・コーポレーション コンテキストアウェアアプリケーション関連の機能をセンサハブにアウトソースするメカニズム

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253410A (en) * 1991-04-08 1993-10-19 Magline, Inc. Retractable underbody truck ramp and method of making
US6593845B1 (en) 1998-01-09 2003-07-15 Intermac Ip Corp. Active RF tag with wake-up circuit to prolong battery life
US6602041B2 (en) 1999-12-20 2003-08-05 Lift-U, Division Of Hogan Mfg., Inc. Vehicle flip-out ramp
US6748548B2 (en) 2000-12-29 2004-06-08 Intel Corporation Computer peripheral device that remains operable when central processor operations are suspended
US6843635B2 (en) * 2001-04-17 2005-01-18 Lift-U, Division Of Hogan Mfg., Inc. Vehicle fold-out ramp
US6775750B2 (en) 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
EP1331539B1 (en) 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
EP1351146A1 (en) 2002-04-04 2003-10-08 Hewlett-Packard Company Power management system and method with recovery after power failure
US6698998B2 (en) * 2002-05-08 2004-03-02 Ricon Corp. Foldable ramp
WO2004062544A2 (en) 2003-01-09 2004-07-29 Lift-U, Division Of Hogan Mfg., Inc. Fold-out ramp having a load dampener
US7134028B2 (en) 2003-05-01 2006-11-07 International Business Machines Corporation Processor with low overhead predictive supply voltage gating for leakage power reduction
US8864822B2 (en) 2003-12-23 2014-10-21 Mitralign, Inc. Devices and methods for introducing elements into tissue
US8112618B2 (en) 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
JP2006107127A (ja) 2004-10-05 2006-04-20 Nec Electronics Corp 半導体集積回路装置
US7995775B2 (en) * 2006-07-14 2011-08-09 Broadcom Corporation Automatic volume control for audio signals
US7797523B2 (en) 2006-09-25 2010-09-14 Hewlett-Packard Development Company, L.P. Method and system of executing stack-based memory reference code
US8041968B2 (en) 2007-01-04 2011-10-18 Apple Inc. Power management for driving display with baseband portion when application portion is in low power mode
US7991992B2 (en) 2007-03-13 2011-08-02 Intel Corporation Power reduction for system on chip
US8065545B2 (en) 2007-05-03 2011-11-22 Microchip Technology Incorporated Interrupt/wake-up of an electronic device in a low power sleep mode when detecting a sensor or frequency source activated frequency change
CA2630570A1 (en) * 2007-05-04 2008-11-04 Lift-U, Division Of Hogan Mfg., Inc. Fold out ramp
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
CN101578571A (zh) * 2007-07-09 2009-11-11 索尼株式会社 电子设备及其控制方法
US9613215B2 (en) 2008-04-10 2017-04-04 Nvidia Corporation Method and system for implementing a secure chain of trust
US7908695B2 (en) * 2008-04-11 2011-03-22 The Braun Corporation Manually-operated ramp for handicapped access
CA2630373A1 (en) 2008-05-02 2009-11-02 Lift-U, Division Of Hogan Mfg., Inc. Fold out ramp
WO2009134975A1 (en) 2008-05-02 2009-11-05 Ricon Corp. Compensating mechanism for a vehicle access ramp
US8065540B2 (en) 2008-10-31 2011-11-22 Dell Products, Lp Power control for information handling system having shared resources
US8103803B2 (en) 2008-11-21 2012-01-24 Nvidia Corporation Communication between a processor and a controller
KR101512493B1 (ko) * 2009-02-06 2015-04-15 삼성전자주식회사 저전력 시스템온칩
JP5080510B2 (ja) 2009-02-12 2012-11-21 株式会社日立製作所 宅内ゲートウェイ装置
US8405505B2 (en) 2009-05-26 2013-03-26 Qualcomm Incorporated Power management of sensors within a mobile device
GB2472050B (en) 2009-07-22 2013-06-19 Wolfson Microelectronics Plc Power management apparatus and methods
KR101624903B1 (ko) * 2009-09-16 2016-05-30 삼성전자주식회사 휴대용 단말기에서 전력 소모를 줄이기 위한 장치 및 방법
US7913343B1 (en) * 2009-10-16 2011-03-29 Lift-U, A Division Of Hogan Mfg., Inc. Counterbalance mechanism for fold out ramp
US8020234B2 (en) 2009-10-16 2011-09-20 Lift-U, A Division Of Hogan Mfg., Inc. Counterbalance mechanism for fold out ramp
US7913342B1 (en) 2009-10-16 2011-03-29 Lift-U, A Division Of Hogan Mfg., Inc. Counterbalance mechanism for fold out ramp
US7913341B1 (en) 2009-10-16 2011-03-29 Lift-U, A Division Of Hogan Mfg., Inc. Counterbalance mechanism for fold out ramp
US8166594B1 (en) 2009-12-01 2012-05-01 Lift-U, Division Of Hogan Mfg., Inc. Counterbalance mechanism for fold out ramp
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
JP2011129041A (ja) 2009-12-21 2011-06-30 Fujitsu Ltd 情報処理装置、認証処理制御プログラムおよび認証処理制御方法
US8656198B2 (en) 2010-04-26 2014-02-18 Advanced Micro Devices Method and apparatus for memory power management
US8751802B2 (en) 2010-06-30 2014-06-10 Sandisk Il Ltd. Storage device and method and for storage device state recovery
WO2012024664A2 (en) 2010-08-20 2012-02-23 Ricon Corp. Energy damper-storage device for low floor vehicle access ramp
US8438416B2 (en) 2010-10-21 2013-05-07 Advanced Micro Devices, Inc. Function based dynamic power control
US8706172B2 (en) * 2010-10-26 2014-04-22 Miscrosoft Corporation Energy efficient continuous sensing for communications devices
US9135213B2 (en) 2011-01-13 2015-09-15 Xilinx, Inc. Extending a processor system within an integrated circuit and offloading processes to process-specific circuits
US9229489B2 (en) * 2011-05-03 2016-01-05 Facebook, Inc. Adjusting mobile device state based on user intentions and/or identity
US8327485B1 (en) 2011-05-13 2012-12-11 Lift-U, Division Of Hogan Mfg., Inc. Counterbalance for a fold out ramp
US20130124891A1 (en) 2011-07-15 2013-05-16 Aliphcom Efficient control of power consumption in portable sensing devices
US8575993B2 (en) 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage
WO2013040301A1 (en) 2011-09-14 2013-03-21 Ricon Corp. Regenerative braking system for a vehicle ramp
US8862917B2 (en) 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
WO2013057048A1 (en) 2011-10-18 2013-04-25 Slyde Watch Sa A method and circuit for switching a wristwatch from a first power mode to a second power mode
US8812761B2 (en) 2011-10-28 2014-08-19 Apple Inc. System and method for adjusting power usage to reduce interrupt latency
US8631529B1 (en) * 2011-11-02 2014-01-21 Lift-U, Division Of Hogan Mfg., Inc. Operable step
CN104106057B (zh) 2011-12-13 2018-03-30 英特尔公司 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和系统
KR20130079076A (ko) 2011-12-30 2013-07-10 삼성전자주식회사 데이터 처리 장치와 이를 포함하는 휴대용 장치
US9377830B2 (en) 2011-12-30 2016-06-28 Samsung Electronics Co., Ltd. Data processing device with power management unit and portable device having the same
US9063574B1 (en) 2012-03-14 2015-06-23 Amazon Technologies, Inc. Motion detection systems for electronic devices
US8892269B2 (en) 2012-03-30 2014-11-18 Intel Corporation Power down and quick start of thermal sensor
TWI594188B (zh) 2012-04-10 2017-08-01 祥碩科技股份有限公司 系統單晶片及其開機方法
US20130318382A1 (en) * 2012-05-23 2013-11-28 Canon Kabushiki Kaisha Power management apparatus, image forming apparatus and power management method
US9182999B2 (en) 2012-05-30 2015-11-10 Advanced Micro Devices, Inc. Reintialization of a processing system from volatile memory upon resuming from a low-power state
KR101896666B1 (ko) 2012-07-05 2018-09-07 삼성전자주식회사 이미지 센서 칩, 이의 동작 방법, 및 이를 포함하는 시스템
KR102045511B1 (ko) * 2012-07-18 2019-11-15 삼성전자 주식회사 센서 허브를 포함하는 단말기 및 단말기의 제어 방법
US9152205B2 (en) 2012-08-28 2015-10-06 Intel Corporation Mechanism for facilitating faster suspend/resume operations in computing systems
US9208371B2 (en) 2012-09-28 2015-12-08 Synaptics Incorporated Low power navigation devices, systems and methods
KR101927096B1 (ko) 2012-10-19 2018-12-10 삼성전자주식회사 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법
CN110569633B (zh) 2012-10-25 2023-04-18 英特尔公司 固件中的防盗
US9760150B2 (en) 2012-11-27 2017-09-12 Nvidia Corporation Low-power states for a computer system with integrated baseband
US9081571B2 (en) * 2012-11-29 2015-07-14 Amazon Technologies, Inc. Gesture detection management for an electronic device
US9424127B2 (en) 2013-02-01 2016-08-23 Broadcom Corporation Charger detection and optimization prior to host control
US10395651B2 (en) * 2013-02-28 2019-08-27 Sony Corporation Device and method for activating with voice input
US8869333B2 (en) * 2013-03-01 2014-10-28 Lift-U, Division Of Hogan Mfg., Inc. Ramp assembly with tilt sensor
US8739341B1 (en) 2013-03-14 2014-06-03 Lift-U, Division Of Hogan Mfg., Inc. Counterbalance for a fold out ramp
US9189248B2 (en) 2013-04-25 2015-11-17 Insyde Software Corp. Specialized boot path for speeding up resume from sleep state
US9541984B2 (en) 2013-06-05 2017-01-10 Apple Inc. L2 flush and memory fabric teardown
US9338003B2 (en) 2013-06-18 2016-05-10 Maxim Integrated Products, Inc. Secure modules using unique identification elements
US9582983B2 (en) * 2013-09-11 2017-02-28 Intel Corporation Low power voice trigger for finding mobile devices
US20150089245A1 (en) 2013-09-26 2015-03-26 Asher M. Altman Data storage in persistent memory
US9171133B2 (en) 2013-10-11 2015-10-27 Landis+Gyr Innovations, Inc. Securing a device and data within the device
US20150127300A1 (en) 2013-11-03 2015-05-07 Microsoft Corporation Sensor Selection Based on Context and Policy
US20150149801A1 (en) 2013-11-26 2015-05-28 Synaptics Incorporated Complex wakeup gesture framework
CN103619056B (zh) 2013-12-02 2018-01-12 华为终端(东莞)有限公司 一种上报传感器数据的方法和终端
EP3084760A4 (en) * 2013-12-20 2017-08-16 Intel Corporation Transition from low power always listening mode to high power speech recognition mode
US9836113B2 (en) * 2013-12-23 2017-12-05 Intel Corporation Method and apparatus to manage power usage in a processor
US9665155B2 (en) 2013-12-28 2017-05-30 Intel Corporation Techniques for increasing energy efficiency of sensor controllers that receive data from one or more sensors
US9443111B2 (en) 2014-02-28 2016-09-13 Seagate Technology Llc Device security using an encrypted keystore data structure
US9619377B2 (en) 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US10031000B2 (en) 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
EP3170062B1 (en) 2014-07-18 2019-08-21 Apple Inc. Raise gesture detection in a device
FR3045318A1 (fr) * 2015-12-22 2017-06-23 Univ D'angers Fauteuil roulant pourvu d'un systeme de franchissement d'une marche, comportant des rampes deployables
US10540043B2 (en) 2016-03-02 2020-01-21 Synaptics Incorporated Hybrid in-cell sensor topology
US10568786B1 (en) * 2018-09-25 2020-02-25 Creative Carriage Ltd. Pivotal handle for folding a ramp of a vehicle

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003295987A (ja) * 2002-04-03 2003-10-17 Canon Electronics Inc 電子機器、動作モード制御方法、プログラム、及び記憶媒体
JP2011520326A (ja) * 2008-04-11 2011-07-14 クゥアルコム・インコーポレイテッド 特定目的プロセッサ及びモーション・センシングの少なくとも一つを用いる電力管理
JP2014509765A (ja) * 2011-04-01 2014-04-21 インテル・コーポレーション コンテキストアウェアアプリケーション関連の機能をセンサハブにアウトソースするメカニズム
US20140059365A1 (en) * 2012-08-27 2014-02-27 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021503639A (ja) * 2017-11-16 2021-02-12 インテル・コーポレーション 分散型のソフトウェア定義型産業システム
JP7171713B2 (ja) 2017-11-16 2022-11-15 インテル・コーポレーション 分散型のソフトウェア定義型産業システム
US11758031B2 (en) 2017-11-16 2023-09-12 Intel Corporation Distributed software-defined industrial systems
US11811903B2 (en) 2017-11-16 2023-11-07 Intel Corporation Distributed dynamic architecture for error correction
US12034827B2 (en) 2017-11-16 2024-07-09 Intel Corporation Distributed software-defined industrial systems
JP2021140803A (ja) * 2017-11-21 2021-09-16 グーグル エルエルシーGoogle LLC マシンラーニングによる低パワーアンビエントコンピューティングシステム
JP7257443B2 (ja) 2017-11-21 2023-04-13 グーグル エルエルシー マシンラーニングによる低パワーアンビエントコンピューティングシステム
US11714477B2 (en) 2017-11-21 2023-08-01 Google Llc Low-power ambient computing system with machine learning

Also Published As

Publication number Publication date
US10031000B2 (en) 2018-07-24
EP3146408B1 (en) 2018-11-28
US20210333132A1 (en) 2021-10-28
KR101957555B1 (ko) 2019-03-12
US20220388437A1 (en) 2022-12-08
US20180313673A1 (en) 2018-11-01
AU2015267615B2 (en) 2018-03-15
US12085426B2 (en) 2024-09-10
CN106255937A (zh) 2016-12-21
TWI582578B (zh) 2017-05-11
US11079261B2 (en) 2021-08-03
KR20160145791A (ko) 2016-12-20
US20200149932A1 (en) 2020-05-14
CN106255937B (zh) 2019-10-18
AU2015267615A1 (en) 2016-10-27
US10488230B2 (en) 2019-11-26
US20210341317A1 (en) 2021-11-04
JP6449997B2 (ja) 2019-01-09
US20150346001A1 (en) 2015-12-03
TW201602772A (zh) 2016-01-16
EP3146408A1 (en) 2017-03-29
WO2015183404A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
US11079261B2 (en) System on a chip with always-on processor
US10915160B2 (en) System on a chip with fast wake from sleep
US10261894B2 (en) System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US9959124B1 (en) Secure bypass of low-level configuration in reconfiguration of a computing system
US20150362980A1 (en) Always-On Processor as a Coprocessor
WO2012050773A1 (en) Hardware dynamic cache power management
KR101930659B1 (ko) 다수의 비유사 프로세서 코어들을 포함하는 프로세서
US9659616B2 (en) Configuration fuse data management in a partial power-on state

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180305

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181206

R150 Certificate of patent or registration of utility model

Ref document number: 6449997

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