JP4611210B2 - 非メインcpu/osベースの動作環境 - Google Patents

非メインcpu/osベースの動作環境 Download PDF

Info

Publication number
JP4611210B2
JP4611210B2 JP2005518466A JP2005518466A JP4611210B2 JP 4611210 B2 JP4611210 B2 JP 4611210B2 JP 2005518466 A JP2005518466 A JP 2005518466A JP 2005518466 A JP2005518466 A JP 2005518466A JP 4611210 B2 JP4611210 B2 JP 4611210B2
Authority
JP
Japan
Prior art keywords
main cpu
state
computing system
power
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.)
Expired - Fee Related
Application number
JP2005518466A
Other languages
English (en)
Other versions
JP2006515094A (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 JP2006515094A publication Critical patent/JP2006515094A/ja
Application granted granted Critical
Publication of JP4611210B2 publication Critical patent/JP4611210B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1091Details not provided for in groups H04R1/1008 - H04R1/1083
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2201/00Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
    • H04R2201/10Details of earpieces, attachments therefor, earphones or monophonic headphones covered by H04R1/10 but not provided for in any of its subgroups
    • H04R2201/109Arrangements to adapt hands free headphones for use on both ears
    • 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)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Bus Control (AREA)
  • Control By Computers (AREA)
  • Heterocyclic Carbon Compounds Containing A Hetero Ring Having Nitrogen And Oxygen As The Only Ring Hetero Atoms (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)

Description

発明の分野は一般にはコンピューティングに、より詳細には非メインCPU/OSベースの動作環境に関する。
A.コンピューティングシステム
図1はコンピューティングシステム100の実施例を示している。このコンピューティングシステムは中央処理装置(CPU)101、キャッシュ102、メモリ・I/Oコントロール103、システムメモリ104を含んでいる。このコンピューティングシステムによって実行されるソフトウェア命令(およびその対応データ)はシステムメモリ104およびキャッシュ102に保存される(ここで、頻繁に使われる命令およびデータがキャッシュ102に保存される)。前記ソフトウェア命令(対応データと合わせて)はCPU101によって実行される。メモリ・I/Oコントロール103のメモリコントローラ部分は、システムメモリ104(グラフィクスコントローラ105およびさまざまなI/Oユニットのような、CPU101以外の機能要素によって使用されることもある)へのアクセスを管理することを受け持っている。
グラフィクスコントローラ105およびディスプレイ106は当該コンピューティングシステム100のユーザーが見るコンピュータ生成画像を提供する。メモリ・I/Oコントロール機能103のI/Oコントローラは、システムメモリ104(もしくはCPU101またはその両方)へのアクセスを、さまざまなI/Oユニット108から108、そして109、111、113、115のために管理することを受け持っている。I/Oユニットは典型的には、コンピューティングシステムとの間で情報を送受信する機能ユニット(たとえば、ネットワークアダプタ、モデム、無線インターフェース、キーボード、マウスなど)もしくはコンピューティングシステムの情報を該コンピューティングシステム100内に保存しておくのに用いられる機能ユニット(たとえばハードディスクドライブユニット)またはその両方であると見なされている。
コンピューティングシステム内には、しばしばさまざまなI/Oユニットが見られる。さらに、コンピューティングシステム内には、しばしばI/OユニットとI/Oコントロール機能との間の通信のためのさまざまな種類のインターフェースが見られる。しばしば、これらのインターフェースは業界標準によって定義される。図1に示した代表例としてのコンピューティングシステム構成は、異なるI/Oユニット108から108をつなぐことのできるシステムバスインターフェース107と、異なるインターフェース110、112、114、116とを示している。前記異なるインターフェース110、112、114、116のそれぞれは、図1では、対応する独自のI/Oユニット109、111、113、115を有するものとして描かれている。
コンピュータシステムによってインターフェースの数が異なりうること、コンピュータシステムによってインターフェースの種類(たとえばインターフェースあたりのI/Oユニットの最大数やインターフェース技術などの面での種類)が異なりうることを注意しておく。可能な実装のほんの一例として、図1のコンピューティングシステムをテンプレートに使うと:(1)システムバス107はPCIバス、(2)インターフェース110はシリアルポート、(3)インターフェース112はUSBインターフェース、(4)インターフェース114はシリアルインターフェース、(5)インターフェース116はIDEインターフェース(または他の記憶装置インターフェース)となる。
B.コンピューティングシステムの状態図
図2はコンピューティングシステムについての従来技術の状態図を示している。図2に見られる動作状態の実施例は、ACPI(Advanced Configuration and Power Interface[先進構成・電力インターフェース])規格2002年3月31日付修正版2.0a(コンパック・コンピュータ社、インテル社、マイクロソフト社、フェニックス・テクノロジーズ社、東芝社によって公表されている)に見出すことができる。ACPI規格は既存のコンピューティングシステムの多くを記述するものとして認識されているが、ACPI規格に適合しない多くのコンピューティングシステムでも図2に見られる動作状態構成に適合することはできる。その意味で、図1の記載は、ACPI規格が適合しているより一般的な仕様に対応するものである。
図2の描写によると、「通常のオン」状態201と称される第一の状態201は、当該コンピュータの通常の動作状態(すなわち、当該コンピュータの電源が投入されて活動し、ユーザーによって使われている(あるいはいつでも使えるようになっている)状態)である。ACPI規格内では、「通常のオン」状態201は「G0」状態と称されている。第二の状態202は、当該コンピューティングシステムが「オフ」であると認識される一つ以上の状態の任意のいずれかを指す。ACPI規格はそのような状態として二つを認識する:ハードウェア的なオフ状態(たとえば、システム全体から電力が除去されている)およびソフトウェア的なオフ状態(システムには電力が供給されているが、BIOSとOS(オペレーティング・システム)を、保存されている先の動作環境のコンテキストには関わりなくゼロから読み込む必要がある)である。ACPI規格はハードウェア的オフ状態を「G3」状態、ソフトウェア的オフ状態を「G2」状態と称している。
第三の状態203は、当該コンピューティングシステムが「スリープ」と認識される一つ以上の状態の任意のいずれかを指す。スリープ状態については、「通常のオン」状態201におけるシステムの動作環境(たとえば、さまざまなソフトウェアルーチンの状態やデータ)が、コンピュータのCPUが低電力消費状態にはいるのに先立って保存されている。スリープ状態203は、コンピューティングシステムの連続的な使用中、中休みの間CPUによって消費される電力を節約することをねらいとしたものである。すなわち、たとえば、ユーザーがコンピューティングシステムを通常のオン状態201で使っていて(たとえば文書を打っているなど)、あるとき別のことをして一時的にそのような使用をやめたとしたら(たとえば電話に出るなどして)―当該コンピューティングシステムは自動的に通常のオン状態201からスリープ状態202に遷移し、システム電力消費を低減させる。
ここで、コンピューティングシステムのソフトウェア動作環境(たとえば、書きかけの文書も含む)―「コンテキスト」とも称する―は前もって保存されている。その結果、ユーザーが別の用事が終わったのちコンピューティングシステムの使用に戻ってきたとき、コンピューティングシステムは自動的に、前記の別の用事が生じたときに存在していた環境を(保存されているコンテキストを呼び出すことによって)ユーザーに提示する。これはスリープ状態203から通常状態201に戻る遷移過程の一部として行われる。ACPI規格はさまざまなスリープ状態(特に「S1」「S2」「S3」「S4」状態)の集合を認識し、そのそれぞれが電力節約と「通常のオン」状態201に戻るときの遅れとの間の独自の兼ね合いに対応している(ここで、S1、S2、S3状態は「待機」のさまざまな種類として認識され、S4状態は「ハイバーネーション」状態である)。
しかしながら、従来技術のスリープ状態の問題は、CPUがいかなる有用な仕事も実行できないということである。そのままでは、電力消費は認識されているが、コンピューティングシステムがスリープ状態の期間中に実行すれば有益であるはずのいかなるタスクも実行することができないのである。
本発明は下記の記述および本発明の実施例を図解するのに使われている付属の図面を参照することで最もよく理解できる。
動作可能な低電力状態を有する状態図およびコンピューティングシステム
コンピューティングシステムが低電力消費状態において有用なタスクを実行するためには、システムに特別な状態を作り込まなければならない。特に、これらの特別な状態は、一つ以上の有用なタスクが実行できるよう十分な機能上の実力をもち、それと同時に「通常のオン」状態に対応するよりも電力消費の割合が低くなるよう構成されるべきである。ここで、図3および図4Aから図4Cはそのような特別な状態を二つもつコンピューティングシステムの実施例を示している。
図3は状態図を提示している。図4Aから図4Cは、代表的なコンピューティングシステムのさまざまな構成要素で、低電力状態に強制移行させられていないもの、あるいは有用なタスクを実行しうる各状態の低電力状態に強制移行させられているものを示す代表例としての描写である(ここで、影を付けた領域は構成要素が非アクティブな低電力状態内にとどまることを強制されていることを示し、影を付けていない領域は構成要素が非アクティブな低電力状態にとどまることを強制されていないことを示している)。下記でより詳細に説明するように、図4Aから図4Cに見られるコンピューティングシステムそのものも、非アクティブ低電力状態を強制された構成要素と非アクティブ低電力状態を強制されていない構成要素の特定の組み合わせも、いずれも単なる代表例であり、実施形態によって異なりうるものであることに注意しておくことが重要である。
図3に見られる方式の状態図では、コンピューティングシステムには有用なタスクを実行できる主要な状態が三つある:(1)高電力の「通常のオン」状態301、(2)「メインCPU/OSベースの低電力」状態304、(3)「非メインCPU/OSベースのより低電力」状態305である。図4Aから図4Cは単一のコンピューティングシステムについての上記の三つの状態のそれぞれの代表的な実施形態を示している。これらの状態のそれぞれについて、すぐ次に簡単に概観し、そのあとに「メインCPU/OSベースの低電力」状態304および「非メインCPU/OSベースのより低電力」状態305のより本格的な議論にはいる。
図4Aは「通常のオン」状態301にあるコンピューティングシステムの実施形態を示している。影を付けた構成要素がない、すなわちこのコンピューティングシステムのさまざまな構成要素のどれ一つとして非アクティブな低電力状態に強制的に移行させられたものはないことに注意しておく。さまざまな実施形態において、コンピューティングシステムの構成要素の少なくとも一部は自らの電力消費を検知された使用状態に応じて制御する(たとえば、最低電力消費状態から最高電力消費状態へ)権限を与えられている。ここでは、構成要素は非アクティブな低電力状態への移行を強制されないので、自らの電力消費を制御する能力を有する構成要素は、「通常のオン」状態301内では自由にそうすることができる。
これに対し、図4Bは同じコンピューティングシステムが「メインCPU/OSベースの低電力」状態304に移行されたあとの実施形態を示している。ここで、ある構成要素(影を付けて示している)は非アクティブな低電力状態への移行を強制されている。今の設定と一貫するよう、自らの電力消費を制御する権限を有しており、非アクティブな低電力状態への移行を強制されることになっている構成要素は、電力制御権限を剥奪された上で最低電力消費状態への移行を強制される。ここで、「非アクティブ」の用語は、電力保存のため当該構成要素がその主たる機能を停止していることを意味することに注意しておく。メインCPUは非アクティブとはなっておらず、したがってソフトウェアプログラムの実行を続けることができることに注意しておく。
図4Cは同じコンピューティングシステムが「非メインCPU/OSベースのより低電力」状態305に移行されたあとの実施形態を示している。ここで、図4Bに比べて影を付けたものが増えていることにも示されるように、さらなる構成要素(特にCPU)が非アクティブ低電力状態に置かれていることに注意しておく。
すぐ次に「メインCPU/OSベースの低電力」状態304および「非メインCPU/OSベースのより低電力」状態305についてのより本格的な議論が与えられる。
図3および図4Bを参照すると、「メインCPU/OSベースの低電力」状態304は、メインCPU401が電源投入されていてソフトウェアを実行できる状態に対応している。しかし、全体としての電力消費は「通常のオン」状態301に比べて低減している。メインCPUはメインOS(オペレーティング・システム)に基づいてソフトウェアを実行できるので、状態304は「メインCPU/OSベースの」と称される。電力は、すぐ次に記載する技術のうちの一つまたは複数によって節減しうる。
(1)CPU以外のコンピューティングシステム構成要素で自らの電力消費を動的に制御する判断機能/能力のあるものが、自らの電力消費を動的に制御する権限を剥奪され、代わりに最低電力状態に強制移行させられる。たとえば、ACPI準拠システムの場合、コンピューティングシステム内のさまざまな構成要素(ディスプレイ、グラフィクスコントローラ、さまざまなI/Oデバイス(ハードディスクドライブのような)など)が自らの電力消費を制御する権限を与えられている(たとえば、デバイスドライバを通じて観測される使用状態に基づいて)。その仕方はD0からD3までの複数の状態に応じたものであり、D0状態が最高電力の動作状態、D3状態が最低電力の非動作状態である(D1およびD2も非動作状態であり、この順に電力消費が少なくなる)。ある実施形態では、「メインCPU/OSベースの低電力」状態304は、意図的にある一部の構成要素が、当該システムが「メインCPU/OSベースの低電力」状態304にある限り恒久的にD3状態にとどまるように設定する。ACPI以外のシステムでも同じような設定はできる。図4Bでは、最低電力状態に強制移行させられている構成要素は影を付してある。これによると、図4Bの例では、グラフィクスコントローラ405、ディスプレイ406、I/Oユニット408から408が最低電力状態に強制移行させられている。別の実施形態では、当該システムが「メインCPU/OSベースの低電力」状態304にある間、電源の電圧を下げたり除去したりするよう、ある一部の構成要素を設計することが可能となりうる。
(2)CPUが複数の異なる電力消費状態の間で電力消費を動的に調整する(たとえば、内部電圧レベルもしくはクロック周波数またはその両方を動的に変えることによって)機能をもっていれば、そのCPUは最低電力状態で(または複数ある最低電力状態の一つで)動作するよう強制される。たとえば、インテルのスピードステップ(SpeedStep、商標)技術に基づくCPUは異なる「P」状態PからPをもつことができる。ここで、Pが最高電力状態で、Pが最低電力状態である。スピードステップ(商標)技術に基づくCPUは、電圧と周波数の両方を下げることによって電力を節減し、パフォーマンスをそれほど下げることなく消費電力を劇的に低下させることができる。スピードステップ(商標)技術に基づくCPUを用いる実施形態においては、コンピューティングシステムが「メインCPU/OSベースの低電力」状態304にある間、CPUはP状態で動作するよう強制される(アプリケーションの方針によっては、次に低い電力状態Pに上がれる特別な例外を認めることも可能であるが)。電圧と周波数の一方または両方を下げることによって電力を節減するが、それでもスピードステップ(商標)技術に基づくCPUではない他のCPUも存在するかもしれないことを注意しておく。その意味で、現在記載しているこの技術は、スピードステップ(商標)技術に基づくCPUおよびスピードステップ(商標)技術に基づくものでないCPUの両方について実装しうるものである。より詳細な実施形態においては、最低電力状態にありながら内部クロック周波数が調整できる限り、該クロック周波数は、当該プロセッサが適正に動作できる最低のクロック周波数にセットされる。
(3)「メインCPU/OSベースの低電力」状態304では使わないアプリケーションソフトウェアプログラムを定義しておき、この状態にある間はその使用を一時停止する。「メインCPU/OSベースの低電力」状態304および「非メインCPU/OSベースのより低電力」状態305の実装に有用でも必要でもないと見なされるソフトウェアタスクまたはアプリケーションはすべて、非常に少ないシステム消費電力を実現するために一時停止することができる。例としては、スクリーンセーバー、ワープロアプリケーション、プレゼンテーション/グラフィックアプリケーション、そして表計算アプリケーションの全部または一部が含まれうる。さらに、バッチ計算ジョブはすべて、状態304および305での動作の間、一時停止することができる。
(4)複数のメインCPUを有するコンピューティングシステムおいては(すなわち、図1のCPU101が実際には複数のCPUを含む)、アクティブ状態ではたらくCPUの数が減らされ(たとえば、「通常のオン」状態301の間はN個のメインCPUを有するシステムにおいて)、「メインCPU/OSベースの低電力」状態304の間はそのようなメインCPUのうち一つだけがアクティブとなる。
図3および図4Cを参照すると、「非メインCPU/OSベースのより低電力」状態305は、メインCPU401が電源を落とされ、当該コンピューティングシステムのメインOSをベースとしてはソフトウェアを実行できない状態に対応する。図4Cの例においては、キャッシュ402、システムメモリ404、そしてメモリ・I/Oコントロールユニット403の少なくともメモリコントローラ部分もまた、非アクティブな低電力状態に強制移行させられている(これらは主としてメインCPU401がソフトウェアを実行するはたらきを助けるものなので)。メインCPU401が活動していないので、状態305は「非メインCPU/OSベース」である。さらに、少なくともCPU401が非アクティブにされているので、状態305は状態301や304と比べて「より低電力」である。よって、状態305は「非メインCPU/OSベースのより低電力」状態と称することができる。ただし、状態305にある間強制的に非アクティブにされる構成要素の正確な組み合わせは実施形態によって変わりうることに注意しておくことが重要である(たとえば、一例として、システムメモリ404は「非メインCPU/OSベースのより低電力」状態305にある間もアクティブに保ち、その状態305においてもシステムメモリ404を使えるようにシステムを設計することも可能である)。
実施例:フルセットのコードレス電話システム
状態301、304、305を(たとえば、図4Aから図4Cに見られるコンピューティングシステム電力管理プロファイルに従って)取り入れることによって、コンピューティングシステムがさまざまな電力消費節減段階にあるときにある種のタスクを生み出すよう特別仕立てにすることができ、結果として効率改善が期待できる。この手法の可能性を示すには例を示すのが役に立つ。図5は例として、図3および図4Aから図4Cで概観したコンピューティングシステムで実装できる、「フルセットの」、それでいてエネルギー効率のよい、コードレス電話システムを示している。ここで、フルセットのコードレス電話システムというのは、(1)基本的なコードレス電話機能(すなわち、従来型の素朴な電話サービス[POTS:Plain Old Telephone Service]のインターフェースおよびコードレス電話とPOTSインターフェースとの間の無線接続)、(2)該コードレス電話が発信者の呼び出しに応答されずにいた場合に発信者のメッセージを録音する留守番電話機構、(3)ネットミーティングの相手として適切な発信者に関連付けられている発信者IDに反応してインターネット上での対話をお膳立てするネットミーティング(Net Meeting)エンジン、を提供するシステムのことである。
前述のフルセットのコードレス電話システムの基本的な実装とは、図5に見られるように、(1)「非メインCPU/OSベースのより低電力」状態505からの基本的なコードレス電話機能、(2)「メインCPU/OSベースの低電力」状態504からの留守番電話機能、(3)「通常のオン」状態501からのネットミーティングエンジン、を実装するものである。基本的なコードレス電話機能を「非メインCPU/OSベースのより低電力」状態505から実装することによって、当該コンピューティングシステムは、その使用状態の要求するままに、「単なる」基本的コードレス電話機能と完全な機能を備えたコンピューティングシステムとの間で容易に自らを転換させて行ったり来たりできる。背後にあるコンピューティングシステムとしての図4Aから図4Cを参照すると、(1)ネットミーティングエンジンは図4Aの完全なコンピューティングシステムを用いて実装され、(2)留守番電話は図4Bのより低電力のメインCPU/OSベースの範囲内のシステムを用いて実装され、(3)基本的コードレス電話機能はI/Oユニット408を用いて実装されていることに注意されたい。
今述べた機能の実装が、それに対応する機能/処理能力と電力消費の要求とも一貫していることを注意しておく。すなわち、基本的なコードレス電話機能は少数の単純な構成要素から容易に構築でき、したがって、(1)単一のI/Oユニット(I/Oユニット408のような)に容易に統合でき、(2)電力消費が少ない(全コンピューティングシステムに比べて)。この意味で、基本的コードレス電話機能は、コンピューティングシステムの「非メインCPU/OSベースのより低電力」状態505レベルの機能の一つとしてI/Oユニット408に組み込む設計とするのに理想的な機能である。
それに対し、留守番電話機能はより複雑な機能で、(1)応答されなかった呼び出しの発信者に聞かせる録音メッセージ、(2)該発信者が録音するメッセージ(もしあれば)の両方のための記録リソースを必要とする。その意味で、留守番電話機能をI/Oユニットに統合することも可能であるが、録音メッセージの保存のためにはコンピューティングシステムのメインメモリ404の記録リソースを使うほうがより経済的であろう。さらに、メインCPU401およびメインOSは録音メッセージを再生する処理を管理するアプリケーションソフトウェアを実行するのに利用することができる(再生というのは、呼び出しに応答されなかった発信者と発信者のメッセージを聞きたいコンピューティングシステムユーザーの両方に対する再生を含む)。
また、留守番電話はしばしば、ユーザーが電話に出られないときにメッセージを録音することに注意しておく。その意味で、たいていの場合、ディスプレイ406とグラフィクスコントローラ405の電源がはいっていなくても不都合はない(たとえば、ユーザーが自宅にいなくて電話に出られない場合、ユーザーはディスプレイ406をインターフェースとしてコンピューティングシステムと対話することもできないわけである)。さらに、メインCPU401およびメインOSは今述べた留守番電話の動作を補佐するのに使うことができるというとき、留守番電話タスクは典型的なコンピューティングシステムCPU401にとって決して「高機能」タスクではないことに注意しておく。結果として、これらのタスクは、メインCPU401がパフォーマンス/電力消費を下げた状態となるよう(たとえば、使っている内部電圧もしくはクロック周波数またはその両方を下げるよう強制することによって)設定されていたとしても容易に実装できる。
留守番電話についての前述の特徴をすべて合わせて考えると、留守番電話機能は「メインCPU/OSベースの低電力」状態504に好適であることに注意しておく。すなわち、図4Bを参照すると、ディスプレイ406およびグラフィクスコントローラ405は非アクティブであり(電力を節約するため)、メインCPUおよびOSはパフォーマンス/電力消費容量を下げた状態で、メッセージの再生と録音機能に使うことができる。結果として、図5では、フルセットの電話システムの留守番電話部分が「メインCPU/OSベースの低電力」状態504を用いて実装されるよう示してある。こうして、ここまでの図5の議論を振り返ってみると、この電話システムのコンピューティングシステムの実装は巧妙にコンピューティングシステムの動作状態と対応している。すなわち、より低電力/より低パフォーマンスの基本的コードレス電話機能は「非メインCPU/OSベースのより低電力」状態505に組み込まれるよう設計され、より高度な留守番電話機能は「メインCPU/OSベースの低電力」状態504に組み込まれるよう設計されているのである。
最後に、図5のフルセットのコードレス電話システムのネットミーティング機能は、当該コンピューティングシステムが「通常のオン」状態501にあるときに使われるよう設計されている。ここで、インターネットを通じたやりとりを扱うことを担うソフトウェアはより高級な処理タスクを含みうる(たとえば、レイヤー4フロー制御、IPレイヤーヘッダ処理など)。さらに、インターネット接続は、コードレス電話に付随するPOTSインターフェースのほかに別のネットワークインターフェース(たとえば無線インターフェース)を通じて確立されることもありうる。その意味で、インターネットでのやりとりは、基本的コードレス電話機能が統合されているI/Oユニット以外のI/Oユニット(たとえばI/Oユニット408が無線インターフェースを提供するならI/Oユニット408)の使用に関わってくることもありうる。こうして、フルセットのコードレス電話システムのネットミーティング機能は、「通常のオン」状態にあるときのコンピューティングシステムに好適である(通常のコンピューティングシステムのインターネット通信機能がだいたいコードレス電話システムのネットミーティング通信機能に転用できるので)。
当該コンピューティングシステムは図5の状態図中のさまざまな状態の間を遷移できるので、上述したフルセットのコードレス電話システムは、「高電力」のコンピューティングシステムと「より低電力」の基本的コードレス電話の間を使用状態に応じて行ったり来たりできるコンピューティングシステムに対応している。たとえば、ほんの一例として、ユーザーが当該コンピューティングシステムを伝統的なコンピューティングシステムの用途(たとえば、文書を書くなど)に使っていたとすると、当該コンピューティングシステムは「通常のオン」状態501にある。次にユーザーがこの活動を一時停止して(たとえば、コンピュータに関係のない「何か別のこと」をすることによって)一時的に当該コンピューティングシステムを離れたとすると、当該コンピューティングシステムは自動的に最低電力のアクティブ状態505(「非メインCPU/OSベースのより低電力状態」)まで下がり、機能の面でも消費電力の面でも基本的コードレス電話システムとして振る舞う。ユーザーがコンピューティングシステムを一度に何時間も離れることが多くの場合にありうることを考えると、コンピューティングシステムを自動的により低電力の状態に落とすことにより、コンピューティングシステムは自らの電力消費を使用状態の関数として制御するようになるのである。
このコンピューティングシステムはまたしたがって、伝統的な「高電力」コンピューティングシステムとローエンド機器との間の混成物と見なすことができる。ユーザーがシステムを伝統的なコンピュータ利用の目的に使うとき(たとえば、文書作成、インターネットサーフィンなど)、そのシステムは伝統的なコンピューティングシステムとして振舞う。ユーザーがシステムを伝統的なコンピューティングシステムとして使っていないときは、システムは、そのシステムは低級化して(機能性と電力消費の面で)基本機器となる(今の場合、基本的コードレス電話)。図5に見られる状態図が示すように、当該コンピューティングシステムはさまざまな使用可能状態501、504、505の間を行ったり来たり移行できるが、同様に、該コンピューティングシステムは伝統的なコンピューティングシステムと基本機器の間を行ったり来たり移行することができる。
さらに、すぐ上で述べた例を続けると、ユーザーが一時的にコンピュータを離れたのち、電話を受けてその電話に出ることができなかった場合、コンピューティングシステムは最低電力の動作可能状態505から中間電力の動作可能状態504への状態遷移を引き起こし、自らを基本的コードレス電話(状態505で表している)から留守番電話機能のある基本的コードレス電話(状態504で表している)へと転換させる。この場合、システムは自らの機能上の能力および対応する消費電力を、該システムに提示される全体的な使用状況に応じて調整しているのである。
同じ例を続けると、発信者のメッセージを(たとえばシステムメモリ404に保存することによって)録音したのち、「メインCPU/OSベースの低電力」状態504ではたらくソフトウェアは(ユーザーが伝統的なコンピューティングシステム用途のために戻ってこなければ)システムをもとのより低電力状態505に戻すよう書かれていることもありうる。そうして当該コンピューティングシステムを基本的コードレス電話に戻すのである。このように、これらの状態遷移の観点からは、当該コンピューティングシステムはその機能上の能力および対応する電力消費を伝統的なコンピューティングシステム(状態501)と基本機器(状態505の基本的コードレス電話)との間で調整することができるのみならず、機能上の能力および対応する電力消費を「中間」機器(状態504の留守番電話)に対応するように調整することもできるのである。さらに、さまざまな機能上の能力の間の上述した転換は、時間の流れの中でいかなる使用がされて当該コンピューティングシステムに提示されようともそれに応じて自動的に引き起こされる。
ネットミーティングの確立を引き起こすに足るイベントの系列を示すフルセットのコードレス電話システムの例については、図11との関連でのちにより詳細に扱う。
状態遷移の方法論と支援ハードウェア
上記の例がさまざまな使用可能状態501、504、505(それぞれ独自の機能上の能力、電力消費の度合いが設定されている)の間で遷移することのできる稼動システムを記述しているが、これらの状態遷移の実装の仕方にもなにがしかの重要性がある。図6A、6Bから図8A、8Bまではこれらの状態遷移のあらましのためのものである。特に、図6A、図6Bは、図3の高電力の「通常のオン」状態301と「メインCPU/OSベースの低電力」状態304との間の状態遷移の方法論を示すものである。図8A、図8Bは「メインCPU/OSベースの低電力」状態304と「非メインCPU/OSベースのより低電力」状態305との間の状態遷移の方法論を示すものである。図7はその状態遷移過程を補助するのに使える回路設計の実施例である。
図6Aは、コンピューティングシステムが高電力の「通常のオン」状態301から「メインCPU/OSベースの低電力」状態304に遷移するために実行しうる方法論の実施形態を示している。図6Aの方法論によれば、システムは当初「通常のオン」の高電力状態601で「実行中」である。この状態では、システムは伝統的なコンピュータ利用の目的のために使うことができる。ある時点で、「通常のオン」状態から「メインCPU/OSベースの低電力」状態への遷移のトリガーとなるイベントが検出される(602)。このイベントは実施形態によって、またアプリケーションによって異なりうる。
たとえば、単なる例としていくつか挙げると、当該コンピューティングシステムはある一定期間の間ユーザーから何の刺激も与えられなかった(たとえば、ユーザーがマウスを使ったりキーボードで入力したりといった動作をある一定期間の間しなかった)ことを認識するのでもよい。あるいは、当該コンピューティングシステムはユーザーが該コンピューティングシステムのふたを閉めた(当該コンピューティングシステムがラップトップパソコン・ノートパソコンのような携帯機器の場合)、あるいは画面・ディスプレイの電源を切った(当該コンピューティングシステムが典型的な「デスクトップ」パソコンの場合)といったことを認識するのでもよい。このイベントによってシステムが「メインCPU/OSベースの低電力」状態にはいるか従来技術のスリープ状態303状態にはいるかを決める条件にはさまざまなものがあり、実施形態によって、またアプリケーションによって異なることに注意しておく。ほんの一例を挙げれば、もしより低電力のある動作状態がソフトウェア内のフラグを立てることによって「有効」であると認識されているならば(たとえば、基本的コードレス電話システムが有効であると認識されるならば)、システムは自動的に、従来技術のスリープ状態303ではなく、より低電力の動作状態304、305に移行する。
前記検出されたイベント(602)に反応して、OSは自らを「メインCPU/OSベースの低電力」状態にあるとマークする(603)。ここで、この低電力だが動作する状態の「メインCPU/OS」という部分は、メインCPUもメインOSもいまだ動作しており、メインCPUおよびメインOS上で一つ以上のアプリケーションソフトウェアプログラムが実行できるという意味であることを想起されたい。その意味で、OSは、より低電力の状態で動作しているということを正式に認めることができるよう、自らをマークする(603)のである。適切なソフトウェアドライバも同様に自らをマークする。これで「メインCPU/OSベースの低電力」状態304が構築または確立される(604)。この場合、状態304の実装が:(1)さまざまな構成要素(たとえばグラフィクスコントローラおよびディスプレイ)が自らの電力消費を制御する権限を剥奪すること、(2)CPUをより低パフォーマンス/より低電力消費のモードに強制移行させること、(3)一部のアプリケーションソフトウェアプログラムやタスクをパークさせること、(4)複数のメインCPUがあるシステムではアクティブなメインCPUの数を減らすこと、(5)さまざまな構成要素への電力を切ったり下げたりすること、のうちの一部または全部によって行いうることを想起されたい。「メインCPU/OSベースの低電力」状態のために非アクティブ化されたソフトウェアはみな、「通常のオン」状態に戻ったときにその動作環境を回復できるよう、そのコンテキストが保存されるようにしておくことができる。ひとたび「メインCPU/OSベースの低電力」状態が構築されれば、システムはその状態で実行される(605)。
「メインCPU/OSベースの低電力」状態から「通常のオン」状態へのシステムの遷移は、図6Bにその実施形態が見られるが、だいたい、前記の「通常のオン」状態から「メインCPU/OSベースの低電力」状態への遷移の逆として実装できる。すなわち、図6Bを参照すると、「メインCPU/OSベースの低電力」状態で実行中(606)に「通常のオン」状態への状態遷移を引き起こすトリガーとなるイベントが検出される(607)。ここでもまた、トリガーイベント607の性質についての詳細は実施形態によって、またアプリケーションによって変わりうる。図5の関連で先に述べた留守番電話の場合、トリガーイベント607は、今受けた電話についてネットミーティングを確立する必要があるとの認識でよい。
トリガーイベント607に反応して、OSおよび関連するデバイスドライバは自らを「通常のオン」状態にあるとマークする(608)。これで「通常のオン」状態が確立または構築される(609)(たとえば、さまざまな構成要素に自らの電力消費を制御することを認めたり、メインCPUにより高いパフォーマンス/より高い電力消費モードで動作することを許可したり、「パークされた」アプリケーションソフトウェアプログラムを再びアクティブにしてそのコンテキストを回復したり、さまざまな構成要素にその本来の電源を再び供給したりすることによって行う)。ひとたび「通常のオン」状態が確立されれば、システムは「通常のオン」状態で実行される(610)。
「メインCPU/OSベースの低電力」状態の間、メインCPU/OSは電源がはいって、起きたままにされているので、メインCPUおよびメインOSは、「通常のオン」状態と「メインCPU/OSベースの低電力」状態の間の状態遷移過程の間、スリープさせられることはない。これに対し、「非メインCPU/OSベースのより低電力」状態の「メインCPU/OS」という部分は、メインCPU/OSが非アクティブ状態にされていることを表している。つまり、「非メインCPU/OSベースのより低電力」への遷移はメインCPU/OSをスリープ状態にすることを含んでいるのである。一般に、スリープさせられたメインCPU/OSが「起きる」とき、「目覚め」過程の初期段階は、全コンピューティングシステムが全体として最初に電源投入されるとき、あるいはコンピューティングシステムがリセット状態から抜け出すときに実行される過程と同様である。すなわち、基本BIOSソフトウェアが読み込まれ、OSそのものと一緒に実行される必要があるのである。
最初の電源投入やリセット動作とスリープ状態からの復帰との間の根本的な違いは、スリープ状態から復帰するときには、システムがスリープ状態から復帰するところだということを初期のソフトウェア読み込み過程が認識しているという点である。この認識が今度は先に保存されたコンテキストの再読み込みを引き起こす。これに対し、最初の電源投入やリセットからの立ち上げの際には、そのような認識もコンテキストも存在しない。ここで、システムが最初の電源投入やリセットから立ち上げているところなのかスリープ状態から立ち上げているところなのかを(そして場合によってはシステムがどのようなスリープ状態から起きようとしているのかを)当該システムが判断できるように、目覚め過程の間、特定の調査対象位置に保存されている一つ以上の特定のビットが使われる。一つ以上のビットによってシステムがスリープ状態から復帰しているところだということが示されれば、システムがもとの環境に復帰できるよう、保存されていたコンテキストが回復される。
これらの調査対象ビットが存在するということは、メインCPU/OSがスリープ中の期間も、CPU、メモリコントローラ、I/Oコントローラ機能のうちの一部または全部に関連するハードウェアの限られた一部は電源投入状態のまま残ることを意味している。この限られたハードウェアの実施例が図7に見られる。図7の特定の回路設計は、「非メインCPU/OSベースのより低電力」状態にはいることで開始されたスリープ状態からの復帰に対応するばかりでなく、従来技術のACPI準拠のスリープ状態からの復帰とも両立できる。その意味で、図3と図7を参照すると、ACPI互換システムで図7の回路設計を使えば、(1)伝統的なスリープ状態303からの遷移、(2)「非メインCPU/OSベースのより低電力」状態305からの遷移、の両方を扱うことができる。
さまざまな実施形態において、スリープ状態からの復帰に使われる回路(図7の回路のような)はメモリコントローラもしくはI/Oコントローラまたはその両方の機能と統合される。さらなる実施形態では、メモリコントローラ機能は第一の半導体チップを用いて実装され、I/Oコントローラ機能は第二の半導体チップを用いて実装される。この場合、スリープ状態からの復帰に使われる回路(図7の回路のような)はメモリコントローラの半導体チップかI/Oコントローラの半導体チップかのいずれかに統合してもよい。
さて、図7を参照すると、目覚めようとしているシステムに該システムがスリープ状態から目覚めるのか最初の電源投入やリセット状態から立ち上げるのかを示す「調査対象」ビットは、ビット702に対応している(WAK_STS)。このWAK_STSビット702の状態を決定する処理については、のちにより詳細に説明する。SLP_ENビット712とSLP_TYPビット713はシステムが全体として伝統的な「非動作」スリープ状態(たとえば、図3の状態303)にはいるときに書き込まれる。ここで、SLP_ENビット712はシステムが伝統的な非動作スリープモードにはいろうとしていることを示し、SLP_TYPビット713ははいろうとしている伝統的な非動作スリープ状態の特定の種類(たとえば、ACPIベースのシステムのS0からS4)を示す。図7の特定のSLP_TYPの実施例では3つのビットを使っている。
システムが伝統的な非動作スリープ状態にはいろうとしているとき、SLP_ENビット712およびSLP_TYPビット713がともに、目覚め/スリープロジック701によって、コンピューティングシステム内での適切な電源電圧体系を確立するために使われる。すなわち、伝統的なスリープ状態モードはそれぞれの種類ごとに独自の電源電圧体系(ある構成要素は電源を切り、ある構成要素は電源電圧を下げるなど)をもつことができる。出力709が、指示された伝統的なスリープモードのための適切な電源体系を実装するのに使われる。もしある特定のスリープモード体系が一つ以上の構成要素について電源電圧を調整するのではなく論理的に無効にするような場合(たとえば、入力クロックを止めたり、無効ビットをオンにしたりすることなどによって)、目覚め/スリープロジック701および出力709は無効化の目的にも使うことができる。
NMC/O_ENビット710はシステムが「メインCPU/OSベースの低電力」状態304から「非メインCPU/OSベースのより低電力」状態305に遷移する際に書き込まれる。ここで、「非メインCPU/OSベースのより低電力」状態は独自の電源電圧体系(たとえば、特定の構成要素ごとにどれは電源を切り、どれは電圧を下げるなどといったことに関するもの)をもっていることができる。ある実施例では、目覚め/スリープロジック701は、「非メインCPU/OSベースのより低電力」状態に固有の電源体系が実施されようとしていることを示すために、特別のNMC/O_EN入力ビット710をもっている。
それに代わるある実施例では、「非メインCPU/OSベースのより低電力」状態にあっても「スリープ」の概念がSLP_ENビット712およびSLP_TYPビット713によってマークされる(たとえば、「非メインCPU/OSベース」状態を表すためにSLP_TYPビットの独自の、これまで使われていなかった組み合わせを用いることによって)。ここで、NMC/O_ENビットは、これが1であれば、目覚め/スリープロジック701に遷移しようとしている先が「非メインCPU/OSベースのより低電力」状態であるということを通知する追加情報として使われることができる。いずれにせよ、出力709が適切な電源体系を確立するのに使われる。ここでもまた、「非メインCPU/OSベースのより低電力」状態305が一つ以上の構成要素の電源電圧を調整するのではなく論理的に無効にするような場合(たとえば、入力クロックを止めたり、無効ビットをオンにしたりすることなどによって)、目覚め/スリープロジック701および出力709は無効化の目的にも使うことができる。
多入力ORゲート703の入力ビット704、714は目覚めイベントのビットである。すなわち、メインCPU/OSを伝統的なスリープ状態または「非メインCPU/OSベースのより低電力」状態から目覚めさせるのに足るイベントが到来すると、これらの入力ビット704、714の少なくとも一つがオンになる。これによって正味の708もオンになり、それが今度はWAK_STSビット702がオンになるようにする。WAK_STSビット702がオンになるのに反応して、メインCPU/OSはスリープ状態から目覚めようとしていることを認識し、次いで、何がシステムが起こされる原因となったのかをさらに認識するためにビット704、714を調べることができる。さらに、実装によっては、メインCPU/OSは「非メインCPU/OSベースのより低電力」状態から目覚めようとしていることを、NMC/O_ENビット710の状態またはNMC/O_STSビット714の状態を読むことによって認識することができる。
NMC/O_ENビット710はシステムが「非メインCPU/OSベースのより低電力」状態にはいるときにオンにセットされているので、ある実施例では、目覚めの際にビット710を読み込むことによってシステムが「非メインCPU/OSベースのより低電力」状態から目覚めようとしていることを認識することができる。この場合、ビット710は、書き込みも(「非メインCPU/OSベースのより低電力」状態への移行について)読み出しも(「非メインCPU/OSベースのより低電力」状態からの遷移について)できるという意味で、読み出し/書き込みビットであることを注意しておく。この特定の場合には、NMC/O_STSビット714は単に図7の回路にシステムが「非メインCPU/OSベースのより低電力」状態から引き出されようとしている(すなわち、目覚めイベントが生起した)ことを通知するためだけに使われる。
システムが「非メインCPU/OSベースのより低電力」状態にはいろうとしていることを示すのにSLP_TYPビット713が使われる(たとえば、SLP_TYPビット設定の独自の、これまで使われていなかった組み合わせによって)別の実施形態では、これらの同じSLP_TYPビットが、システムが「非メインCPU/OSベースのより低電力」状態から起きようとしていることを認識するために読み込まれる。別の実施形態では、システムは、該システムが「非メインCPU/OSベースのより低電力」状態から目覚めようとしているのかどうかを認識するためにNMC/O_STSビット714を調べるよう構成される(すなわち、目覚めのときにビット714がオンであれば、システムは「非メインCPU/OSベースのより低電力」状態から目覚めるところである)。ビット704は伝統的な目覚めイベントに対応する「従来技術」のACPIビットである(たとえば、ラップトップパソコン・ノートパソコンの先に閉じたふたが開くイベントに対するLID_STSビット)。
図8Aおよび図8Bはそれぞれ、コンピューティングシステムの「メインCPU/OSベースの低電力」状態304から「非メインCPU/OSベースのより低電力」状態305への遷移(図8A)、そして「非メインCPU/OSベースのより低電力」状態305から「メインCPU/OSベースの低電力」状態304への遷移(図8B)を示している。図8Aを参照すると、システムは当初は「メインCPU/OSベースの低電力」状態801で実行されている。ある時点で、システムの「非メインCPU/OSベースのより低電力」状態305への移行を引き起こすに足るイベントが検出される(802)(たとえば、図5の留守番電話機能504が応答のなかった発信者からの電話の録音を完了して、ユーザーもコンピューティングシステムに戻ってこなかったなど)。
結果として、メインCPUおよびメインOSはスリープさせられる(805)。このことには、(1)OSおよびドライバにその処理に備えさえ、コンテキストを保存し(803)、(2)メインCPU/OSが「非メインCPU/OSベースのより低電力」状態にはいるためスリープさせられようとしていることを記録し(たとえば、図7のNMC/O_ENビット710、もしくはSLP_ENビット712およびSLP_TYPビット713、またはその両方を1にすることによって)、「非メインCPU/OSベースのより低電力」の電力消費状態を構築する(804)(たとえば、CPU,メモリコントローラ、システムメモリなどのパワープレーンを、たとえば目覚め/スリープロジック701によって提供される形で電力を下げることによって)ことが関わってくる。これがなされたのちは、システムは「非メインCPU/OSベースのより低電力」状態から実行される(806)。
図8Bは、コンピューティングシステムが伝統的なスリープ状態303または「非メインCPU/OSベースのより低電力」状態305のどちらかから目覚める際にたどりうるより一般的な目覚め処理の流れを示している。図8Bの処理によれば、目覚めイベント807がメインCPUがスリープ状態を抜け出すトリガーを与え、BIOSソフトウェアが読み込まれる(808)。伝統的なスリープ状態からの遷移の場合、目覚めイベント807としては、ユーザーがシステムのところに戻ってきたといった指示(たとえば、図7のLID_STS入力に対応する、閉じたノートパソコン・ラップトップパソコンのふたを開けることなどによる)がありうる。「非メインCPU/OSベースのより低電力」状態からの遷移の場合、目覚めイベント807は前記「より低電力」状態内では動作できない機能(たとえば、電話に出なかったことに応ずる留守番電話)を使う必要によって引き起こされうる。
BIOSが読み込まれて適切なハードウェアが初期化されるのに反応して、システムの制御はメインOSに渡され、該メインOSが目覚めイベント807が伝統的なスリープ状態303からの遷移に対応するものか「非メインCPU/OSベースのより低電力」状態305からの遷移に対応するものかを判断する(809)。ここで、実施形態によっては、メインOSは図7のビット712、710、714のうちの一部または全部を参照してこの判断809を行う。システムが伝統的なスリープ状態303から遷移しようとしているのであれば、従来技術の目覚めシーケンスが実行される(810)。もしOSが、システムが「非メインCPU/OSベースのより低電力」状態から遷移しようとしていると判定した場合には、メインOSは非メインCPU/OSベースのサブシステムがそのトリガーイベントを生成した原因を理解しようと試みる(811)。
ここで、非メインCPU/OSのより低電力のサブシステムがソフトウェアを実行するプロセッサを含んでいる場合には(のちに図9との関連でより詳細に説明するように)、メインCPU/OSは非メインCPU/OSのより低電力のサブシステムにメッセージを送って、トリガーイベント807が生成された原因を判定させる。非メインCPU/OSサブシステムがソフトウェアを実行しない場合には、メインOSは、たとえば、非メインCPU/OSによってセットされた追加的なハードウェアビットを調査し、トリガーイベント807の素性についてメインOSに通知することができる。
遷移が伝統的なスリープ状態303からのものである場合、図7の目覚め/スリープロジック701が適正にハードウェアを「通常のオン」状態(たとえば図4Aに見られるような)にまで立ち上げるようにさせるために、図7のビット710をオフにすることができる。同様に、実施形態によっては、遷移が「非メインCPU/OSベースのより低電力」状態305からのものである場合は、目覚め/スリープロジック701が適正にハードウェアを「メインCPU/OSベースの低電力」状態(たとえば図4Bに見られるような)にまで立ち上げるようにさせるために、ビット710もしくはビット712またはその両方をオフにすることができる。
非メインCPU/OSベースのより低電力状態のハードウェアおよびソフトウェア設計
これから図9Aおよび図9Bを補助に使って、「非メインCPU/OSベースのより低電力」状態に対して可能なハードウェアおよびソフトウェア設計について、より詳細に議論していく。ここで、今の議論はもともと図4Cに関連して提示された議論を敷衍させたものと見ることができる。暫時先の図4Cを参照して、「非メインCPU/OSベースのより低電力」状態を実装するために使われるハードウェアの簡略版が提示されていたことを想起されたい。そこでは、より具体的に言うと、単一のI/Oユニット408がアクティブとなって非メインCPU/OS状態305を実装していたのであった。
これに対し、今見ている敷衍した非メインCPU/OS状態305のハードウェアの実装は、より低電力/より低パフォーマンスのコンピューティングシステムで識別可能なソフトウェアおよびI/Oを有するものと見なすことができる。図9Aがその例を示している。図9Aの描写では、メインCPU/OSベースのシステムを有するコンピューティングシステムが示されている(これにはメインCPU901、キャッシュ902、システムメモリ904、グラフィクスコントローラ905、メインディスプレイ906などが含まれる)。メインCPU/OSベースのシステムの主要構成要素の多くは、「非メインCPU/OSベースのより低電力」状態では非アクティブにされている。図4Aから図4Cの構成と同様、「非メインCPU/OSベースのより低電力」状態で非アクティブにされている構成要素は図9Aでも影付きの領域として描かれている。
ここで、図9Aの実施形態によれば、「非メインCPU/OSベースのより低電力」状態を実装するのに使われるコンピューティングシステムに含まれるものとしては、自らの独自の:(1)コントローラ917(これは、メインCPUに比してより低パフォーマンス/低電力のプロセッサ、マイクロコントローラ、論理状態機械などによって実装されうる)、(2)主メモリ918(これは、メインシステムメモリ904に比してより低速のRAM[random access memory:ランダムアクセスメモリ]もしくはより低密度のRAMまたはその両方を用いて実装されうる)、(3)ユーザーインターフェース925(これにはディスプレイ919、キーボードやボタン920、LED924が含まれうる)、(4)システムバス923、(5)I/Oユニット922(これは、単なる一例として挙げると、フラッシュベースのメモリまたはポリマーベースのメモリのような記憶リソースを用いて実装されうる)、(6)フラッシュメモリ921、がある。
上に特記した顕著な構成要素とは別に、「非メインCPU/OSベースのより低電力」状態を実装するために使われるコンピューティングシステムはまた、さまざまなI/OユニットをメインCPU/OSコンピューティングシステムと共有しうることを注意しておく。図9Aの実施形態においては、共有されるI/Oユニットに含まれるものとして:(1)モデムユニット909、(2)無線ローカルエリアネットワーク(WLAN:Wireless Local Area Network)ユニット911、(3)無線広域ネットワーク(WWAN:Wireless Wide Area Network)ユニット913、がある。ここで、これらの「共有された」I/Oユニット909、911、913は「非メインCPU/OSベースのより低電力」状態の間もアクティブである。これ以外の共有I/Oインターフェースユニットも可能である(たとえばブルートゥース)。さまざまな実施形態において、「共有された」I/Oユニットは、前記一対のコンピューティングシステム(メインCPU/OSおよび非メインCPU/OS)において、「非メインCPU/OSベースのより低電力」状態にないときにはメインCPU/OSシステムからコマンドを受け、「非メインCPU/OSベースのより低電力」状態にあるときは非メインCPU/OSシステムからコマンドを受けることによって動作する。また、共有されたI/Oユニットがメインシステムバス907につなげられうることも可能である(たとえば、I/Oユニット908が通信インターフェース926によって表されているような形で)。
ある実施形態では、インターフェース910、912、914、916(これらは「非メインCPU/OSベースのより低電力」状態の間、非アクティブである)に対応するのはそれぞれ:(1)インターフェース910には、シリアルポートインターフェース(この場合、モデム909はより詳細にはV.90モデム909に対応しうる)、(2)インターフェース912には、IEEE802.11ベースのネットワークインターフェースカードとしてUSBインターフェース、(3)インターフェース914には、GPRS(General Packet Radio Services[汎用パケット無線サービス])無線モデムとしてシリアルインターフェース、(4)インターフェース916には、IDEハードディスクドライブ(HDD)のためのATA−100インターフェース、である。より詳細な実施例では、メモリ・I/Oコントロール機能903のI/Oコントローラ部分から発するUSB(Universal Serial Bus[ユニバーサルシリアルバス])インターフェース(図9Aでは簡単のため示さず)が「非メインCPU/OSベースのより低電力」状態で非アクティブにされ、これにはブルートゥースI/Oユニットが含まれる。ただし、ブルートゥースインターフェースユニットはまた、共有にして、「非メインCPU/OSベースのより低電力」状態の間もアクティブでいられるようにすることも可能である。
別の実施形態では、システムバス923はシステムバス907と同一とすることができる。この場合、「通常のオン」状態301では、コントローラ917に加えてメインCPU901はデバイス908から908にアクセスできる。しかし、システムが「非メインCPU/OSベースのより低電力」状態305にあるときは、コントローラ917はデバイス908から908にシステムバス923/927(今の実施形態では同じバスだが、そのことは簡単のため図9Aには示していない)を通じてアクセスできる。今の実施形態では、デバイス908から908は「非メインCPU/OSベースのより低電力」状態305にあってもコントローラ917がアクセスできるようにアクティブなまま(影なし)となるはずであることに注意しておく。
非メインCPU/OSシステムは自らの独自のインターフェース925を含みうることに注意しておく。図9Aの実施形態では、この独自のユーザーインターフェースにはLED924(その状態はコントローラ917によって制御される)、ディスプレイ919、キーボード/ボタン920が含まれているように示されている。ユーザーインターフェース925はその機械的な位置や配置によって「非メインCPU/OSベースのより低電力」状態に関する独自性を高めることができる。特に、モバイルコンピューティングの応用分野(たとえば、ラップトップパソコンやノートパソコン)では、ユーザーインターフェース925は、メインディスプレイ906のふたが閉じられてメインキーボードを覆っているときでも、ユーザーがディスプレイ919およびLED924を見たり、あるいはキーボード/ボタン920を使ったり、あるいはその両方をしたりすることができるように位置・配置することができる。図9Bは、一対のラップトップまたはノート型コンピューティングシステムのそれぞれが該コンピューティングシステムの「ふた」を閉じているときでもアクセスできるユーザーインターフェースをもっている様子を示している。
このふたを閉じた状態でのユーザーインターフェース上でアクセスしうるデータの例としてはカレンダー、連絡先、行動予定表、すなわちいわゆる個人情報管理(PIM:Personal Information Management)データがある。しかし、この種のデータに限られるものではなく、「ふたを閉じた」状態でノートパソコンを使うエンドユーザーにとって大切でありうるいかなる情報をも含むことができる(たとえば、外回りの営業員にとっての現在の売り上げデータなど)。追加的に、全体としてのコンピューティングシステムは、ふたを閉じた状態でのユーザーインターフェースを通じてノートパソコン内の機能を制御できるようにしてあってもよい。その例としてたとえば、コンピュータに保存してあるMP3音楽ファイルの無線ヘッドホンを通じての再生を挙げることができる。この場合、ユーザーは音楽(選択した楽曲、アルバム、その他の種類)の再生をふたをした状態でのユーザーインターフェースを通じて制御できるのである。
図9Aに戻って、非メインCPU/OSコンピューティングシステムはコントローラ917を用いて実装でき、このコントローラ917は今度はマイクロプロセッサまたはマイクロコントローラとして実装できる。その結果、非メインCPU/OSコンピューティングシステムが自分のソフトウェアルーチンを実行するような実施形態が想定される。図10は非メインCPU/OSコンピューティングシステムのソフトウェア(図10の右側)がどのようにメインCPUおよびメインOSによって実行されるソフトウェアと協働しうるかを実地に説明する図である。すなわち、非メインCPU/OSコンピューティングシステムが「通常のオン」状態および「メインCPU/OSベースの低電力」状態の両方の間、電源がオンでアクティブのままでいることを想起すると、両方のシステム(メインCPU/OSおよび非メインCPU/OS)からのソフトウェアが、「通常のオン」状態または「メインCPU/OSベースの低電力」状態のいずれの間でも、協働しあう全体として一緒に動作するような「デュアルシステム」を実装することが可能である。図10はこの関係を実地に説明しようと試みるものである。
図10は、ラップトップまたはノートパソコンのふたを閉じた状態で関心のあるエンドユーザーのデータにアクセスしたり、有用なエンドユーザー機能を制御したりするために、ふたを閉じた状態でのユーザーインターフェースを用いたシステム(図9Bに示したようなもの)の実施形態と見なすことができる(これのみに限られるものと理解してはならないが)。図10は動作の機能が図3で説明した異なるシステム状態、すなわち「通常のオン」状態301、「メインCPU/OSベース」の状態304、「非メインCPU/OSベース」の状態305の間でどのように配分されるかを示している。
図10の右側は非メインCPU/OSコンピューティングシステムのソフトウェア構成要素を示している。これらは以下の非メインオペレーティングシステム(すなわち、非メインOS)構成要素を含んでいる:(1)アプリケーションプログラマーズインターフェース(API:application programmer’s interface)1001、(2)管理機能1002(イベント管理ルーチンと機能管理ルーチンの両方を含むことができる)、(3)データ記憶管理機能1003(非メインCPU/OSコンピューティングシステムがその独自のデータ記憶リソース(図9Aのフラッシュメモリやポリマーメモリのような)を使用するのを制御するためのもの)、(4)ユーザーインターフェース管理機能1004(非メインCPU/OSコンピューティングシステムがその独自のユーザーインターフェース(図9Aのユーザーインターフェース925のような)を使用するのを制御するためのもの)。
アプリケーションソフトウェア1005、1006もこの非メインCPU/OSコンピューティングシステムに存在しうる。アプリケーションソフトウェアは典型的には次の二つの種類に分けられる:(1)データ記憶1005(保存されたデータの使用・管理に向けられる)、(2)機能1006(根底にあるコントローラ917によって実行される有用な機能に向けられる)。
典型的なソフトウェア環境の場合と同様に、非メインCPU/OSコンピューティングシステムのアプリケーション1005、1006も非メインCPU/OSコンピューティングシステムのOSとはAPI1001を通じて接する。
「非メインCPU/OSベースのより低電力」状態にあるとき、非メインCPU/OSコンピューティングシステム(ソフトウェア構成要素1001から1006も含めて)は独立して動作する。また、メインCPU/OSが「非メインCPU/OSベースのより低電力」状態の間は非アクティブであるため、メインCPU/OS上で走るソフトウェア構成要素1007から1012も同様に非アクティブである。しかし、全体としてのシステムが「通常のオン」状態または「メインCPU/OSベースの低電力」状態にあるときには、メインCPU/OS上で走るさまざまなソフトウェア構成要素がアクティブとなる。それに加えて、非メインCPU/OSコンピューティングシステムはこのどちらの状態でもアクティブのままなので、両システムからのソフトウェアは協働しあう全体として一緒に働きうるのである。
たとえば、非メインCPU/OSコンピューティングシステムの制御下のあるリソースを認識していることによって、メインCPU/OS側のソフトウェアがこれらのリソースを「使う」よう構成することも可能となる。たとえば、メインCPU/OSコンピューティングシステム上のソフトウェアルーチンを、非メインCPU/OSコンピューティングシステム独自のデータ記憶リソースやメモリリソース(図9Aのユニット918、921、922のような)を使用するよう構成することも可能となるのである。もう一つの例として、メインCPU/OSコンピューティングシステム上のソフトウェアルーチンを、非メインCPU/OSコンピューティングシステム独自のユーザーインターフェースに付随するさまざまなリソースの状態に影響を与えるよう構成することも可能となる。たとえば、のちにより詳細に説明するように、「メインCPU/OSベースの低電力」状態の範囲内で実装されたコードレス電話の留守番電話機能(図5に関連して説明したような)において、非メインCPU/OSベースのユーザーインターフェースに付随しているLED(図9AのLED924のような)を反復的につけたり消したりと明滅させたくなることもありうる(たとえば、ユーザーが聞くべきメッセージが録音されていることをユーザーに通知するためなど)。そのような実施例についてはのちに図11との関連でより詳細に述べる。
メインCPU/OSソフトウェア1007から1012は、非メインCPU/OSソフトウェア1001から1006と「協働」するため、非メインCPU/OSコントローラ917にある動作を要求するメッセージを送ることもありうるし、記憶装置1003のためのデータオブジェクトを渡すこともできる。ここでもアプリケーションソフトウェアはデータアプリケーション1009、1010および機能アプリケーション1013、1011に分けられる。ところが、これらのアプリケーションのうちの一部1009、1013は非メインCPU/OSコンピューティングシステム上のリソースが利用可能であるという理解のもとにあらかじめ書かれていることがありうる。その一方、他の(たとえば、古い「レガシー」の)ソフトウェアアプリケーション1010、1011はそのようなリソースが存在するという認識も情報もなく書かれていることがありうる。後者の種類のソフトウェアアプリケーションについては、「接着剤レイヤー」として振舞う「プロキシ」ソフトウェア1007、1008を使って、レガシーアプリケーションを強制するなり他の方法を使うなりして非メインCPU/OSコンピューティングシステムのリソースと協働的に動作できるようにすることができる。機能ブロック1002、1003、1004によって、ユーザーはユーザーインターフェース925との対話によりPIMその他の情報を表示したり、MP3ファイル再生のような何らかの機能を制御したりすることができる。マネージャ1002はデータオブジェクトを受け取り、受け取ったデータオブジェクトは次いで記憶ブロック1003に保存される。これらのデータオブジェクトはユーザーインターフェースに表示すべきデータ(PIMその他のデータ)を表しており、データアプリケーション1005、1010、1009に発するものである。アプリケーション1010および1007は「通常のオン」状態301において動作し、これによって提供されるデータオブジェクトがマネージャ1002のもとAPI1001を通じて記憶1003に保存される。レガシーデータアプリケーション1010の例としてはアウトルック(商標)やロータスノーツ(商標)の現在のバージョンがある。これらはPIMデータを含んでいるが、ユーザーインターフェース1004が理解できるデータオブジェクトを生成する方法についても、それらのオブジェクトを記憶1003に移動させる方法についても、全く知らないのである。プロキシアプリケーション1007がこの機能を担っており、本質的なところでは、レガシーアプリケーションから適切なデータを引き出し、正しいデータオブジェクトに整形し、それからそのデータオブジェクトを、記憶1003に保存されるよう、マネージャ1002にAPI1001を通じて渡す。将来、これらの種類のアプリケーションはこうしたエクスポート機能を内蔵するようになるだろう。そうしたものがデータアプリケーション1009によって表されている。
「メインCPU/OSベース」の状態304で動作し、このユーザーインターフェース925/1004によって制御される機能としては、アプリケーション1011、1008、1013が含まれる。ここでも非メインCPU/OS機能のことを知らず、したがってこれらの機能とのインターフェースになってくれるメインCPU/OSプロキシドライバを必要とするものを表すレガシー機能というものがある。そのようなアプリケーションの一つの例が音楽ファイルを再生できるレガシーメディアプレーヤーである。この場合、メインCPU/OSベースの状態304にある間、ユーザーインターフェース1004にこのアプリケーションを制御するのを許すようなプロキシアプリケーション1008を書くことができる。このアプリケーションが、メインCPU/OSベースの状態304で利用可能なサブシステムで保存されている楽曲メディアの再生をユーザーが制御できるようにし、何らかのオーディオインターフェースを通じて出力する。将来、これらの種類のアプリケーションはこうしたプロキシ機能を内蔵するようになるだろう。そうしたものが機能アプリケーション1013によって表されている。
非メインCPU/OSベースの状態305で動作する機能が図の右側にある。ユーザーインターフェース1004は、ユーザーのボタン操作(キーボード/ボタン920)に反応して、次いでデータオブジェクトをディスプレイ919上に表示するのを受け持っている。データオブジェクト内部にはナビゲーションコマンドが埋め込まれており、それがどのボタンが押されたかに基づいて次にどのオブジェクトを表示するかをユーザーインターフェースに伝える。追加的に、マネージャが、MP3「非メインCPU/OSベースのより低電力状態」機能アプリケーション1006を通じて、MP3再生をユーザーが制御できるようにする。この1006がMP3ファイルを記憶1003から取得し、そのファイルをデコードし、出力をブルートゥースインターフェースを通じて無線ヘッドホンに送るのを受け持っている。
データ記憶アプリケーション1005の例としては、企業サーバーに接続し返し、新しいPIMデータオブジェクトを引き出すアプリケーションがある。そうして引き出したデータオブジェクトは次いで記憶1003に入れられ、ユーザーがユーザーインターフェース1004を通じてアクセスできるようになる。この場合、アプリケーション1005はこれらの新しいデータオブジェクトに、非メインCPU/OSベースの状態305で動作する無線通信デバイス(WLAN911またはWWAN913のような)を通じてアクセスすることになる。
図11は、図5に関連して説明したフルセットのコードレス電話システムの動作の過程で生じうる、状態遷移のもう一つの実施形態を示している。ただし、図11の例は図5の議論よりも若干手が込んでいて、LEDが明滅する(ユーザーに対し、応答しなかった電話からのメッセージが録音されていてユーザーを待っているということを示すために)とともに、ネットミーティングも確立される。図11の手法では、期間T1の間、システムはもともとの「非メインCPU/OSベースのより低電力」状態505、1101にあり、ここでは基本的コードレス電話以外のコンピュータの活動・使用は発生しない。
時点T2において、このコードレス電話に呼び出しがなされ、誰も応答しなかったとする。その結果、「メインCPU/OSベースの低電力」状態504、1102への遷移が引き起こされ、留守番電話機能が実現される。期間T3の間、留守番電話機能が電話に応答し、発信者にメッセージを再生して聞かせ、発信者のメッセージを録音し、非メインCPU/OSコンピューティングシステム独自のユーザーインターフェース上でLED(たとえば、図9AのLED924)を反復的に明滅させる。このLEDの明滅を引き起こす機能は、メインCPU/OS上にある留守番電話ソフトウェアと非メインCPU/OSコンピューティングシステム独自であるLEDソフトウェア/ハードウェアとの間の協働的な作業フローになっていることに注意しておく。
T4の時点で上記の機能が完了すると、全体としてのコンピューティングシステムは「非メインCPU/OSベースのより低電力」状態505、1103に遷移によって戻る。T5の時点で、まだLEDは明滅を続けており(ユーザーが録音されたメッセージを聞くまで明滅は止まらないのである)、再び電話が鳴る。しかし、今回はユーザーが電話に応答し、この通話が、確立する必要のあるネットミーティングに関するものであると認識する。ユーザーは非メインCPU/OSコンピューティングシステムユーザーインターフェース上にある「ネットミーティング」ボタン(たとえば、図9Aのキーボード/ボタン920に付随している)を押す。
「ネットミーティング」を押したことで、「メインCPU/OSベースの低電力」状態505、1104への第一の遷移および「通常のオン」状態501、1105への第二の遷移が引き起こされる。「通常のオン」状態では、かかってきた電話の発信者IDおよびメインCPU/OSのリソースが、ネットミーティングを確立し、そのもとで作業を実行する(たとえば、インターネットを通じてつながっている別の個人と一緒に共通の文書を修正するなど)のに使われる。LEDは非メインCPU/OSコンピューティングシステムの制御の下で明滅を続ける。ユーザーは録音されたメッセージをまだ聞いていないからである。
また、本発想の実施形態は一つ以上のソフトウェアプログラムによって実装しうるため、本発想の実施形態は機械可読媒体上もしくは機械可読媒体内で実施または実現しうることも理解しておく必要がある。機械可読媒体とは、機械(たとえばコンピュータ)によって読むことのできる形の、保存したり送信したりするためのいかなる機構をも含む。たとえば、機械可読媒体には読み出し専用メモリ(ROM:read only memory)、ランダムアクセスメモリ(RAM:random access memory)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ素子、電気的・光学的・音響学的またその他の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号など)などが含まれる。
上述の明細では、本発明は特定の代表例としての実施形態を参照しつつ説明されてきた。しかしながら、付属の請求項で述べられている、本発明のより広い思想と範囲から逸脱することなく、さまざまな修正や変更をなしうることは明らかであろう。よって、明細と図面は限定的な意味ではなく、解説のためのものと見なすべきものである。
コンピューティングシステムの一つの実施形態を示す図である。 コンピューティングシステムについての従来技術の状態図を示す。 使用可能な低電力状態を有するコンピューティングシステムについての改良された状態図を示す。 「通常のオン」状態について、アクティブおよび非アクティブなコンピューティングシステムのハードウェア構成要素の間の関係の実施例を示す図である。 「メインCPU/OSベースの低電力」状態について、アクティブおよび非アクティブなコンピューティングシステムのハードウェア構成要素の間の関係の実施例を示す図である。 「非メインCPU/OSベースのより低電力」状態について、アクティブおよび非アクティブなコンピューティングシステムのハードウェア構成要素の間の関係の実施例を示す図である。 それぞれ「通常のオン」状態、「メインCPU/OSベースの低電力」状態、「非メインCPU/OSベースのより低電力」状態にわたるフルセットの電話システムについてのさまざまな機能役割の配分の実施例を示す図である。 図6Aは「通常のオン」状態から「メインCPU/OSベースの低電力」状態への遷移の代表例としての方法を示す図である。また、図6Bは「メインCPU/OSベースの低電力」状態から「通常のオン」状態への遷移の代表例としての方法を示す図である。 コンピューティングシステムの、(1)「通常のオン」状態と一つ以上のスリープ状態との間、(2)「メインCPU/OSベースの低電力」状態と「非メインCPU/OSベースのより低電力」状態との間の遷移を補佐または制御するのに用いうる状態遷移ロジックの実施例を示す図である。 「メインCPU/OSベースの低電力」状態から「非メインCPU/OSベースのより低電力」状態への遷移の代表例としての方法を示す図である。 「非メインCPU/OSベースのより低電力」状態から「メインCPU/OSベースの低電力」状態への遷移の代表例としての方法を示す図である。 低電力であるが動作可能な非メインCPU/OSベースのサブシステムを有するコンピューティングシステムのより詳細な実施例を示す図である。 「ふたを閉じた状態での」ユーザーインターフェースを備えているモバイルコンピューティングシステムどうしの対の実施例を示す図である。 「メインCPU/OSベースの低電力」状態のためのソフトウェアアーキテクチャーの実施例、「非メインCPU/OSベースのより低電力」状態のためのソフトウェアアーキテクチャー、そしてこの状態の対の間に存在しうる関係を示す図である。 時間を追ってコンピューティングシステムの利用に反応するいくつかの状態遷移の例を示す図である。
符号の説明
101 CPU
102 キャッシュ
103 メモリ・I/Oコントロール
104 システムメモリ
105 グラフィクスコントローラ
106 ディスプレイ
107 バス
201 高電力の「通常のオン」状態
202 オフ状態
203 スリープ状態
301 高電力の「通常のオン」状態
302 オフ状態
303 スリープ状態
304 低電力の「メインCPU/OSベース」の状態
305 低電力の「非メインCPU/OSベース」の状態
401 CPU
402 キャッシュ
403 メモリ・I/Oコントロール
404 システムメモリ
405 グラフィクスコントローラ
406 ディスプレイ
407 バス
501 ネットミーティング機能
502 留守番電話機能
503 基本コードレス電話機能
・無線接続
・通常電話インターフェース
・LED
601 実行中
602 「メインCPU/OSベースの低電力」状態への移行のトリガーとなるイベント
603 OS、ドライバがシステムを「メインCPU/OSベースの低電力」状態にあるとマーク
604 「メインCPU/OSベースの低電力」システムを構築
(適当なハードウェアおよびソフトウェアの作動停止)
605 実行中
606 実行中
607 高電力の「通常のオン」状態への以降のトリガーとなるイベント
608 OS、ドライバがシステムを高電力の「通常のオン」状態にあるとマーク
609 高電力の「通常のオン」システムを構築
(適当なハードウェアおよびソフトウェアを作動させる)
610 実行中
701 目覚め/スリープロジック
707 スリープ
709 電力制御
801 実行中
802 「非メインCPU/OSベースのより低電力」状態への移行のトリガーとなるイベント
803 OSおよびドライバが処理に備え、ソフトウェア状態コンテキストが保存される
804 ・「非メインCPU/OSベースのより低電力」システムの構築(ハードウェアの無効化)
・「非メインCPU/OSベースのより低電力」状態にはいるためCPU/OSがスリープ状態とされたことを記録
805 メインCPU/OSをスリープ状態に
806 実行中
807 目覚めイベント
808 ・BIOS読み込みおよび初期化
・通常システムに向けて電力投入(たとえば、SLP_ENもしくはNMC/O_ENまたはその両方のビットに基づいて)
809 目覚めが伝統的なスリープからか低電力状態からかを判定
810 従来技術の目覚めの手続き
811 ・「メインCPU/OS低電力」状態でのコンテキストを回復
・目覚めイベントがトリガーされた原因を判定
901 CPU
902 キャッシュ
903 メモリ・I/Oコントロール
904 システムメモリ
905 グラフィクスコントローラ
906 ディスプレイ
909 (モデム)
911 (WLAN)
913 (WWAN)
915 ハードディスクドライブ
922 第二のメモリ/記憶装置
921 非メインCPU/OSのより低電力状態 フラッシュメモリ
917 非メインCPU/OSのより低電力状態 コントローラ
918 非メインCPU/OSのより低電力状態 主メモリ
919 非メインCPU/OSのより低電力状態 ディスプレイ
920 非メインCPU/OSのより低電力状態 キーボード/ボタン
924 LED
925 ユーザーインターフェース
1001 非メインCPU/OSのより低電力状態 API
1002 非メインCPU/OSのより低電力状態 マネージャ
1003 非メインCPU/OSのより低電力状態 記憶
1004 非メインCPU/OSのより低電力状態 ユーザーインターフェース
1005 非メインCPU/OSのより低電力状態 データアプリケーション
1006 非メインCPU/OSのより低電力状態 機能アプリケーション
1007 メインCPU/OSプロキシ
1008 メインCPU/OSプロキシ
1009 メインCPU/OSデータアプリケーション
1010 メインCPU/OSレガシーデータアプリケーション
1011 メインCPU/OSレガシー機能アプリケーション
1012 メインCPU/OSイベントマネージャ
1013 メインCPU/OS機能アプリケーション
1101 非メインCPU/OSベースの状態505
1102 メインCPU/OSベースの低電力状態504
1103 非メインCPU/OSベースの低電力状態505
1104 メインCPU/OSベースの低電力状態504
1105 高電力の「通常のオン」状態501
T1 活動なし/基本的コードレス電話としての使用のみ
T2 電話が鳴る
誰も出ない
状態504への遷移を引き起こす
T3 留守番電話機能
・電話に出る
・留守番応答メッセージの再生
・メッセージを録音
・LEDを明滅させる
T4 応答のなかった電話への留守番電話機能完了が状態505への遷移を引き起こす
T5 LEDが明滅
電話が鳴る
ユーザーが電話に出て「ネットミーティング」ボタンを押す
T5とT6の間 「ネットミーティング」ボタンが押されたことで状態504への遷移が引き起こされる
T6 「ネットミーティング」が要求されていると認識
非メインCPU/OSサブシステムがLED明滅を続ける
T7 「ネットミーティング」が要求されているとの認識が状態501への遷移を引き起こした
T8 ・「ネットミーティング」ボタンが要求されているとの認識
・発信者ID取得
・ネットミーティング開始
・非メインCPU/OSサブシステムがLED明滅を続ける

Claims (20)

  1. コンピューティングシステムであって、
    a)該コンピューティングシステムが非メインCPU/OSベースの動作状態で動作しているときに非アクティブにされるI/Oユニットインターフェースと、
    b)該コンピューティングシステムが前記非メインCPU/OSベースの動作状態にあるときに機能上のタスクを動作させるコントローラと、
    c)前記I/Oユニットインターフェースおよび前記コントローラの両方に結合した無線I/Oユニットと、
    d)前記コントローラに結合された不揮発性記憶ユニットとを有しており、前記コンピューティングシステムが前記非メインCPU/OSベースの動作状態にあるとき、前記非メインCPU/OSベースの動作状態の間に前記無線I/Oユニットによって受信された情報を、前記コントローラが前記不揮発性記憶ユニットに書き込ませ
    当該コンピューティングシステムは前記コントローラ上で実行されるOS(オペレーティングシステム)をさらに有し、該OSが次の構成要素、すなわち:
    a)アプリケーションプログラマーズインターフェース(API)と、
    b)当該コンピューティングシステムが前記非メインCPU/OSベースの動作状態にあるときに動作するユーザーインターフェースを制御するユーザーインターフェース管理機能と、
    c)前記不揮発性記憶ユニットを管理するデータ記憶管理機能とを有し、
    当該コンピューティングシステムが前記非メインCPU/OSベースの動作状態にあるときに前記OS上で前記APIを通じて走るアプリケーションソフトウェアをさらに有し、
    前記APIが、メインCPU/OS側のソフトウェアが前記コントローラの制御下にあるリソースを使うことを許容する、ことを特徴とするコンピューティングシステム。
  2. 前記アプリケーションソフトウェアがさらにデータ記憶アプリケーションソフトウェアプログラムを有することを特徴とする、請求項記載のコンピューティングシステム。
  3. 前記データ記憶アプリケーションソフトウェアプログラムが:
    a)前記無線I/Oユニットからデータオブジェクトを保存しているサーバーへの無線通信を開始し、
    b)前記データオブジェクトが前記サーバーによって当該コンピューティングシステムに送られ、前記無線I/Oユニットによって受信されたのち、前記データオブジェクトを前記不揮発性記憶ユニット中に保存する、よう構成されていることを特徴とする、請求項記載のコンピューティングシステム。
  4. 前記無線通信がWWAN通信であることを特徴とする、請求項記載のコンピューティングシステム。
  5. 前記無線通信がWLAN通信であることを特徴とする、請求項記載のコンピューティングシステム。
  6. 前記データオブジェクトがさらに前記ユーザーインターフェースとともに用いるカレンダー情報を有することを特徴とする、請求項記載のコンピューティングシステム。
  7. 前記データオブジェクトがさらに前記ユーザーインターフェースとともに用いる連絡先情報を有することを特徴とする、請求項記載のコンピューティングシステム。
  8. 前記データオブジェクトがさらに前記ユーザーインターフェースとともに用いる行動予定情報を有することを特徴とする、請求項記載のコンピューティングシステム。
  9. 前記ユーザーインターフェース管理機能が、ボタンの押下に反応して、データオブジェクトをユーザーに対してディスプレイ上に提示できることを特徴とする、請求項記載のコンピューティングシステム。
  10. 前記データオブジェクトが、該データオブジェクトが前記ディスプレイ上のどこに表示されるべきかを記述する、埋め込まれたナビゲーションコマンドを含んでいることを特徴とする、請求項記載のコンピューティングシステム。
  11. 前記コンピューティングシステムがラップトップパソコンまたはノートパソコンであり、前記ディスプレイが前記ラップトップパソコンまたはノートパソコンのふたが閉じられているときでもユーザーに見えることを特徴とする、請求項10記載のコンピューティングシステム。
  12. 前記不揮発性記憶ユニットがフラッシュメモリであることを特徴とする、請求項1記載のコンピューティングシステム。
  13. 前記不揮発性記憶ユニットがポリマーメモリであることを特徴とする、請求項1記載のコンピューティングシステム。
  14. コンピューティングシステムが非メインCPU/OSベースの動作状態で動作しているときに:
    非アクティブにされたインターフェースを有する無線I/Oユニットにより情報を無線式に受信する段階であって、前記非アクティブにされたインターフェースがメインCPU/OSベースの動作状態の間に前記無線I/Oユニットから/へ送られる第二の情報を送信/受信する、段階と、
    コントローラの制御により前記情報を不揮発性記憶ユニットに保存する段階であって、前記コントローラ上ではOS(オペレーティングシステム)が実行され、該OSが次の構成要素、すなわち:a)アプリケーションプログラマーズインターフェース(API)と、b)当該コンピューティングシステムが前記非メインCPU/OSベースの動作状態にあるときに動作するユーザーインターフェースを制御するユーザーインターフェース管理機能と、c)前記不揮発性記憶ユニットを管理するデータ記憶管理機能とを有し、前記コンピューティングシステムが前記非メインCPU/OSベースの動作状態にあるときに前記OS上では前記APIを通じてアプリケーションソフトウェアが走る、段階とを有する、
    方法であって、
    前記APIが、メインCPU/OS側のソフトウェアが前記コントローラの制御下にあるリソースを使うことを許容する、方法
  15. 前記不揮発性記憶ユニットがフラッシュメモリを含むことを特徴とする、請求項14記載の方法。
  16. 前記不揮発性記憶ユニットがポリマーメモリを含むことを特徴とする、請求項14記載の方法。
  17. 前記非メインCPU/OSベースの動作状態の間、コントローラ上で実行されるソフトウェアプログラムコードにより前記保存を引き起こすことを特徴とする、請求項14記載の方法。
  18. 前記ソフトウェアプログラムコードの実行が、ユーザーインターフェースを制御するためのユーザーインターフェース管理機能を実装させることを特徴とする、請求項17記載の方法。
  19. 前記ソフトウェアプログラムの実行がアプリケーションプログラマーズインターフェースを実装させることを特徴とする、請求項17記載の方法。
  20. 前記情報が:カレンダー情報;連絡先情報;行動予定情報のうちの少なくとも一つである、請求項17記載の方法。
JP2005518466A 2003-02-14 2004-01-12 非メインcpu/osベースの動作環境 Expired - Fee Related JP4611210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/367,566 US7080271B2 (en) 2003-02-14 2003-02-14 Non main CPU/OS based operational environment
PCT/US2004/000726 WO2004075034A2 (en) 2003-02-14 2004-01-12 Non main cpu/os based operational environment

Publications (2)

Publication Number Publication Date
JP2006515094A JP2006515094A (ja) 2006-05-18
JP4611210B2 true JP4611210B2 (ja) 2011-01-12

Family

ID=32850008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005518466A Expired - Fee Related JP4611210B2 (ja) 2003-02-14 2004-01-12 非メインcpu/osベースの動作環境

Country Status (8)

Country Link
US (7) US7080271B2 (ja)
JP (1) JP4611210B2 (ja)
KR (1) KR100747165B1 (ja)
CN (1) CN100576147C (ja)
DE (1) DE112004000166B4 (ja)
GB (1) GB2413666B (ja)
TW (1) TWI233052B (ja)
WO (1) WO2004075034A2 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725748B1 (en) 2000-12-29 2010-05-25 Intel Corporation Low power subsystem for portable computers
US7080271B2 (en) 2003-02-14 2006-07-18 Intel Corporation Non main CPU/OS based operational environment
US7254730B2 (en) * 2003-02-14 2007-08-07 Intel Corporation Method and apparatus for a user to interface with a mobile computing device
US20050060385A1 (en) * 2003-09-15 2005-03-17 Gupta Vivek G. Method and apparatus for sharing a GPRS module with two computing devices
US7877099B2 (en) * 2003-12-31 2011-01-25 Intel Corporation Computing system with off-load processing for networking related tasks
US7421602B2 (en) * 2004-02-13 2008-09-02 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
US7730335B2 (en) 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US7747797B2 (en) * 2004-09-28 2010-06-29 Microsoft Corporation Mass storage device with near field communications
JP2006254185A (ja) * 2005-03-11 2006-09-21 Orion Denki Kk 節電機能を有する電子機器
JP2006301771A (ja) * 2005-04-18 2006-11-02 Toshiba Corp 情報処理装置および動作制御方法
US7500128B2 (en) 2005-05-11 2009-03-03 Intel Corporation Mobile systems with seamless transition by activating second subsystem to continue operation of application executed by first subsystem as it enters into sleep mode
JP4341594B2 (ja) * 2005-06-30 2009-10-07 セイコーエプソン株式会社 情報処理装置及び電力制御方法をコンピュータに実行させるためのプログラム
WO2007035611A2 (en) * 2005-09-16 2007-03-29 Hoshiko, Llc Low power mode for portable computer system
US7750912B2 (en) * 2005-11-23 2010-07-06 Advanced Micro Devices, Inc. Integrating display controller into low power processor
TWI364669B (en) * 2005-12-02 2012-05-21 Elitegroup Computer Sys Co Ltd Computer apparatus, wireless network transmission system and transmission method thereof
US7295935B2 (en) * 2006-01-30 2007-11-13 Dell Products L.P. Analyzing and/or displaying power consumption in redundant servers
US8122491B2 (en) * 2006-05-18 2012-02-21 Microsoft Corporation Techniques for physical presence detection for a communications device
US20080263324A1 (en) 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
CA2767057A1 (en) * 2006-09-08 2008-03-13 E-Max Gaming Corporation Wireless electronic gaming unit
US8225078B2 (en) * 2007-08-30 2012-07-17 International Business Machines Corporation Document viewing mode for battery powered computing devices
US8055921B2 (en) * 2007-08-30 2011-11-08 International Business Machines Corporation Low power data transfer mode for battery powered personal computing devices
US8140840B2 (en) * 2007-08-30 2012-03-20 International Business Machines Corporation Multi-operating system document editing mode for battery powered personal computing devices
US8176498B2 (en) * 2007-09-11 2012-05-08 Hewlett-Packard Development Company, L.P. Power setting adjustments by mission operating system in response to requests from platform manager
US8890876B1 (en) * 2007-12-21 2014-11-18 Oracle America, Inc. Microprocessor including a display interface in the microprocessor
US9336752B1 (en) * 2007-12-21 2016-05-10 Oracle America, Inc. Microprocessor including a display interface in the microprocessor
CN101470509B (zh) * 2007-12-27 2011-04-27 联想(北京)有限公司 计算机系统的控制方法、该计算机系统及笔记本电脑
US8370663B2 (en) * 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
CN101930424A (zh) * 2009-06-18 2010-12-29 辉达公司 混合型优化个人计算机
US8364857B2 (en) * 2009-08-31 2013-01-29 Qualcomm Incorporated Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
GB2473194A (en) * 2009-09-02 2011-03-09 1E Ltd Monitoring the performance of a computer based on the value of a net useful activity metric
GB2473196B (en) * 2009-09-02 2012-01-04 1E Ltd Monitoring the performance of and controlling a computer
US8806231B2 (en) * 2009-12-22 2014-08-12 Intel Corporation Operating system independent network event handling
US8279213B2 (en) * 2009-12-23 2012-10-02 Intel Corporation Synchronized media processing
US20130124889A1 (en) * 2010-07-30 2013-05-16 Ajitkumar A. Natarajan Method and system of controlling power consumption of aggregated i/o ports
WO2012121961A1 (en) 2011-03-04 2012-09-13 Apple Inc. Linear vibrator providing localized and generalized haptic feedback
US10009842B2 (en) * 2011-06-09 2018-06-26 Thomson Licensing Method for exiting a low-consumption standby mode, and associated device
US9710061B2 (en) 2011-06-17 2017-07-18 Apple Inc. Haptic feedback device
US8669880B2 (en) 2011-07-11 2014-03-11 Sony Corporation Method and apparatus for preventing overheating of a computer
EP2766789A4 (en) * 2011-10-14 2015-06-03 Intel Corp SPECULATIVE SYSTEM START TO IMPROVE THE INITIAL RESPONSE OF END USER TO AN INTERACTION
KR101324604B1 (ko) * 2012-05-25 2013-11-01 전자부품연구원 다중 대기 상태 운용 방법 및 이를 적용한 방송수신장치
JP6273724B2 (ja) * 2012-09-18 2018-02-07 株式会社リコー 情報処理装置、電力制御方法、プログラム、及び記憶媒体
CN102932559A (zh) * 2012-11-09 2013-02-13 中山爱科数字科技股份有限公司 一种智能手机节省电源损耗的方法
US9939883B2 (en) 2012-12-27 2018-04-10 Nvidia Corporation Supply-voltage control for device power management
US9602083B2 (en) 2013-07-03 2017-03-21 Nvidia Corporation Clock generation circuit that tracks critical path across process, voltage and temperature variation
US9766649B2 (en) 2013-07-22 2017-09-19 Nvidia Corporation Closed loop dynamic voltage and frequency scaling
US10466763B2 (en) 2013-12-02 2019-11-05 Nvidia Corporation Dynamic voltage-frequency scaling to limit power transients
US9696785B2 (en) 2013-12-28 2017-07-04 Intel Corporation Electronic device having a controller to enter a low power mode
US9753527B2 (en) * 2013-12-29 2017-09-05 Google Technology Holdings LLC Apparatus and method for managing graphics buffers for a processor in sleep mode
US9396629B1 (en) 2014-02-21 2016-07-19 Apple Inc. Haptic modules with independently controllable vertical and horizontal mass movements
JP2015176214A (ja) * 2014-03-13 2015-10-05 株式会社東芝 通信装置
US9594429B2 (en) 2014-03-27 2017-03-14 Apple Inc. Adjusting the level of acoustic and haptic output in haptic devices
US10133351B2 (en) 2014-05-21 2018-11-20 Apple Inc. Providing haptic output based on a determined orientation of an electronic device
US9886090B2 (en) * 2014-07-08 2018-02-06 Apple Inc. Haptic notifications utilizing haptic input devices
US9544419B2 (en) 2014-12-24 2017-01-10 Intel Corporation Methods and systems for configuring a mobile device based on an orientation-based usage context
US20170024010A1 (en) 2015-07-21 2017-01-26 Apple Inc. Guidance device for the sensory impaired
US10772394B1 (en) 2016-03-08 2020-09-15 Apple Inc. Tactile output for wearable device
US10585480B1 (en) 2016-05-10 2020-03-10 Apple Inc. Electronic device with an input device having a haptic engine
US9829981B1 (en) 2016-05-26 2017-11-28 Apple Inc. Haptic output device
US10649529B1 (en) 2016-06-28 2020-05-12 Apple Inc. Modification of user-perceived feedback of an input device using acoustic or haptic output
US10845878B1 (en) 2016-07-25 2020-11-24 Apple Inc. Input device with tactile feedback
US10372214B1 (en) 2016-09-07 2019-08-06 Apple Inc. Adaptable user-selectable input area in an electronic device
US10437359B1 (en) 2017-02-28 2019-10-08 Apple Inc. Stylus with external magnetic influence
US10698817B2 (en) * 2017-06-12 2020-06-30 Dell Products, L.P. Method for determining available stored energy capacity at a power supply and system therefor
US10775889B1 (en) 2017-07-21 2020-09-15 Apple Inc. Enclosure with locally-flexible regions
US10768747B2 (en) 2017-08-31 2020-09-08 Apple Inc. Haptic realignment cues for touch-input displays
US11054932B2 (en) 2017-09-06 2021-07-06 Apple Inc. Electronic device having a touch sensor, force sensor, and haptic actuator in an integrated module
US10556252B2 (en) 2017-09-20 2020-02-11 Apple Inc. Electronic device having a tuned resonance haptic actuation system
US10768738B1 (en) 2017-09-27 2020-09-08 Apple Inc. Electronic device having a haptic actuator with magnetic augmentation
US10942571B2 (en) 2018-06-29 2021-03-09 Apple Inc. Laptop computing device with discrete haptic regions
US10936071B2 (en) 2018-08-30 2021-03-02 Apple Inc. Wearable electronic device with haptic rotatable input
US10613678B1 (en) 2018-09-17 2020-04-07 Apple Inc. Input device with haptic feedback
US10966007B1 (en) 2018-09-25 2021-03-30 Apple Inc. Haptic output system
JP7003962B2 (ja) * 2019-04-02 2022-01-21 カシオ計算機株式会社 電子機器、制御方法及びプログラム
US11024135B1 (en) 2020-06-17 2021-06-01 Apple Inc. Portable electronic device having a haptic button assembly

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03231320A (ja) * 1990-02-06 1991-10-15 Mitsubishi Electric Corp マイクロコンピュータシステム
US6795929B2 (en) 1990-03-23 2004-09-21 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
DE69123770T2 (de) 1990-03-23 1997-06-19 Matsushita Electric Ind Co Ltd Hand-Datenverarbeitungsgerät mit reduziertem Leistungsverbrauch
WO1992007317A1 (en) * 1990-10-12 1992-04-30 Intel Corporation Slow memory refresh in a computer with a limited supply of power
US5432461A (en) 1991-06-28 1995-07-11 Photon Dynamics, Inc. Method of testing active matrix liquid crystal display substrates
US5473767A (en) * 1992-11-03 1995-12-05 Intel Corporation Method and apparatus for asynchronously stopping the clock in a processor
US5432462A (en) * 1993-04-30 1995-07-11 Motorola, Inc. Input buffer circuit having sleep mode and bus hold function
US5446906A (en) * 1993-06-30 1995-08-29 Intel Corporation Method and apparatus for suspending and resuming a keyboard controller
US6052792A (en) * 1993-08-24 2000-04-18 Mensch, Jr.; William D. Power management and program execution location management system for CMOS microcomputer
US5471625A (en) * 1993-09-27 1995-11-28 Motorola, Inc. Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode
DE69522595T2 (de) * 1994-02-04 2002-07-11 Intel Corporation, Santa Clara Verfahren und Vorrichtung zur Stromverbrauchssteuerung in einem Rechnersystem
US5754869A (en) * 1994-10-04 1998-05-19 Intel Corporation Method and apparatus for managing power consumption of the CPU and on-board system devices of personal computers
US6424249B1 (en) 1995-05-08 2002-07-23 Image Data, Llc Positive identity verification system and method including biometric user authentication
JPH0926832A (ja) * 1995-07-07 1997-01-28 Seiko Epson Corp 情報処理装置および処理方法
JP3674990B2 (ja) 1995-08-21 2005-07-27 セイコーエプソン株式会社 音声認識対話装置および音声認識対話処理方法
US5652894A (en) * 1995-09-29 1997-07-29 Intel Corporation Method and apparatus for providing power saving modes to a pipelined processor
US5842028A (en) * 1995-10-16 1998-11-24 Texas Instruments Incorporated Method for waking up an integrated circuit from low power mode
US5692202A (en) * 1995-12-29 1997-11-25 Intel Corporation System, apparatus, and method for managing power in a computer system
US5768164A (en) 1996-04-15 1998-06-16 Hewlett-Packard Company Spontaneous use display for a computing system
US6385734B2 (en) * 1996-06-03 2002-05-07 Compaq Information Technologies Group, L.P. Portable computer with low power audio CD-player
US5860016A (en) 1996-09-30 1999-01-12 Cirrus Logic, Inc. Arrangement, system, and method for automatic remapping of frame buffers when switching operating modes
US5903746A (en) * 1996-11-04 1999-05-11 Texas Instruments Incorporated Apparatus and method for automatically sequencing clocks in a data processing system when entering or leaving a low power state
US6125450A (en) * 1996-12-19 2000-09-26 Intel Corporation Stop clock throttling in a computer processor through disabling bus masters
US5983073A (en) 1997-04-04 1999-11-09 Ditzik; Richard J. Modular notebook and PDA computer systems for personal computing and wireless communications
US6006285A (en) * 1997-04-30 1999-12-21 Compaq Computer Corporation Computer system capable of playing audio CDs in a CD-ROM drive independent of an operating system
US6014751A (en) * 1997-05-05 2000-01-11 Intel Corporation Method and apparatus for maintaining cache coherency in an integrated circuit operating in a low power state
US6073187A (en) 1997-06-20 2000-06-06 Compaq Computer Corporation Controls and indicators available to a user for a secondary operational mode of a portable computer which is open or closed state of the computer case
US5959833A (en) 1997-06-27 1999-09-28 Compaq Computer Corporation Portable computer with reverse draft on front side edge portion of display housing
DE69802294T2 (de) 1997-08-29 2002-05-16 Hewlett-Packard Company, Palo Alto Systemen zur datensicherung und -rückgewinnung
JPH11149328A (ja) 1997-11-19 1999-06-02 Nec Yonezawa Ltd 多画面パーソナルコンピュータ
US5983354A (en) * 1997-12-03 1999-11-09 Intel Corporation Method and apparatus for indication when a bus master is communicating with memory
US6308278B1 (en) * 1997-12-29 2001-10-23 Intel Corporation Supplying standby voltage to memory and wakeup circuitry to wake a computer from a low power mode
US6289464B1 (en) 1998-01-07 2001-09-11 Microsoft Corporation Receiving wireless information on a mobile device with reduced power consumption
US6038672A (en) * 1998-01-13 2000-03-14 Micron Electronics, Inc. Portable computer with low power CD-player mode
US6445730B1 (en) 1998-01-26 2002-09-03 Aware, Inc. Multicarrier transmission system with low power sleep mode and rapid-on capability
US6098175A (en) 1998-02-24 2000-08-01 Smartpower Corporation Energy-conserving power-supply system
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6675233B1 (en) 1998-03-26 2004-01-06 O2 Micro International Limited Audio controller for portable electronic devices
US6226237B1 (en) 1998-03-26 2001-05-01 O2 Micro International Ltd. Low power CD-ROM player for portable computer
US6895448B2 (en) 1998-03-26 2005-05-17 O2 Micro, Inc. Low-power audio CD player for portable computers
US5936442A (en) * 1998-05-01 1999-08-10 Kye Systems Corp. Power shut-off and recovery circuit for data communication devices
US6240521B1 (en) 1998-09-10 2001-05-29 International Business Machines Corp. Sleep mode transition between processors sharing an instruction set and an address space
JP2000231533A (ja) * 1999-02-12 2000-08-22 Sony Corp データ処理装置、ノンリニア編集機及び記録媒体
JP4786005B2 (ja) * 1999-03-31 2011-10-05 ソニー株式会社 情報処理装置
US6341354B1 (en) 1999-04-16 2002-01-22 Smartpower Corporation Energy-conserving computer accessible remotely and instantaneously by providing keep-alive power to memory
US6732280B1 (en) * 1999-07-26 2004-05-04 Hewlett-Packard Development Company, L.P. Computer system performing machine specific tasks before going to a low power state
JP2003520365A (ja) 1999-08-24 2003-07-02 オーツー・マイクロ・インターナショナル・リミテッド ポータブルコンピュータ用の起動キー及び低電力cd−romプレーヤ
US6751742B1 (en) * 1999-08-31 2004-06-15 Ati International Srl System for responding to a power saving mode and method thereof
US6658576B1 (en) 1999-09-29 2003-12-02 Smartpower Corporation Energy-conserving communication apparatus selectively switching between a main processor with main operating instructions and keep-alive processor with keep-alive operating instruction
US6631474B1 (en) 1999-12-31 2003-10-07 Intel Corporation System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
JP2003523571A (ja) 2000-02-15 2003-08-05 オーツー・マイクロ・インク ポータブル電子機器のオーディオコントローラ
US6725060B1 (en) 2000-02-15 2004-04-20 Qualcomm, Incorporated Method and apparatus for conserving power in an integrated electronic device that includes a PDA and A wireless telephone
US6880158B1 (en) * 2000-04-10 2005-04-12 International Business Machines Corporation Network processor services architecture that is platform and operating system independent
DE10023163A1 (de) 2000-05-11 2001-11-15 Scherhag Walter Verbesserung der Bedienung und der Energiebilanz von transportablen elektrisch betriebenen Geräten
US6760850B1 (en) * 2000-07-31 2004-07-06 Hewlett-Packard Development Company, L.P. Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
JP4481511B2 (ja) * 2000-08-18 2010-06-16 富士通株式会社 情報機器、情報機器の制御方法及び制御方法のプログラム
JP2002073497A (ja) * 2000-09-04 2002-03-12 Sharp Corp 情報処理装置及び情報処理方法
US6835850B2 (en) 2000-09-27 2004-12-28 Dsw Ip Assets B.V. Process for the carbonylation of a conjugated diene
KR20010016060A (ko) 2000-10-20 2001-03-05 김용환 착용형, 휴대용, 고정형 출력장치를 위한 다이내믹인터페이스기술 및 활용방법
US6697953B1 (en) * 2000-11-15 2004-02-24 Ericsson Inc. Method for reducing power consumption in battery powered devices
US6836850B2 (en) 2000-11-30 2004-12-28 Intel Corporation Portable system arrangements having dual high-level-/low-level processor modes
US20020068610A1 (en) 2000-12-05 2002-06-06 Anvekar Dinesh Kashinath Method and apparatus for selecting source device and content delivery via wireless connection
US6801208B2 (en) 2000-12-27 2004-10-05 Intel Corporation System and method for cache sharing
US6654827B2 (en) * 2000-12-29 2003-11-25 Hewlett-Packard Development Company, L.P. Portable computer system with an operating system-independent digital data player
US20020086719A1 (en) 2000-12-29 2002-07-04 Pankaj Kedia Low power subsystem for portable computers
US20020087225A1 (en) 2001-01-03 2002-07-04 Howard Gary M. Portable computing device having a low power media player
US6801974B1 (en) 2001-01-26 2004-10-05 Dell Products L.P. Method of filtering events in a combinational computing device
US20020129288A1 (en) 2001-03-08 2002-09-12 Loh Weng Wah Computing device having a low power secondary processor coupled to a keyboard controller
US20020173344A1 (en) 2001-03-16 2002-11-21 Cupps Bryan T. Novel personal electronics device
US6801755B2 (en) 2001-03-29 2004-10-05 Intol Corporation Method and apparatus for providing a radio module for a computer system
US6920573B2 (en) 2001-05-23 2005-07-19 Smartpower Corporation Energy-conserving apparatus and operating system having multiple operating functions stored in keep-alive memory
US20030208550A1 (en) 2001-06-28 2003-11-06 Hamilton Tony G. Method to provide direct system storage access within a notebook computer via a wireless interconnect and a low power high-speed data management bus while the main CPU is idle
US7003682B2 (en) * 2001-07-17 2006-02-21 Koninklijke Philips Electronics N.V. Power management method for setting clock circuit into power down mode if analog front end circuit is sampling input signals in an electronic device
TW518461B (en) * 2001-08-22 2003-01-21 Via Tech Inc Method of synchronizing operating frequencies of processor and system RAM in power management process
US6922759B1 (en) * 2001-10-04 2005-07-26 Silicon Motion, Inc. Method, system and apparatus for playing songs directly from a hard drive
US6766462B2 (en) * 2001-10-19 2004-07-20 Mitac Technology Corp. System for playing music CDs on a computer in power-saving mode
KR20010107876A (ko) 2001-11-09 2001-12-07 최두한 외장형 적외선무선데이터송수신기
US7149692B1 (en) * 2001-11-30 2006-12-12 Silicon Motion, Inc. Method, apparatus and system for a single chip audio solution controller and DSP
US20030115415A1 (en) 2001-12-18 2003-06-19 Roy Want Portable memory device
TW554277B (en) * 2001-12-28 2003-09-21 Inventec Corp Automated network management system
JP2003209616A (ja) 2002-01-15 2003-07-25 Fujitsu Ltd 半導体装置および携帯端末装置
TW561332B (en) * 2002-02-01 2003-11-11 Via Tech Inc Method for determining power-saving mode
US6680738B1 (en) 2002-02-22 2004-01-20 Neomagic Corp. Single-block virtual frame buffer translated to multiple physical blocks for multi-block display refresh generator
US6968468B2 (en) * 2002-02-25 2005-11-22 O2 Micro, Inc. Digital computer utilizing buffer to store and output data to play real time applications enabling processor to enter deep sleep state while buffer outputs data
JP4180834B2 (ja) * 2002-05-01 2008-11-12 富士通株式会社 情報処理装置および情報処理プログラム
US6848057B2 (en) * 2002-05-28 2005-01-25 Nvidia Corporation Method and apparatus for providing a decoupled power management state
US7062647B2 (en) * 2002-05-31 2006-06-13 Intel Corporation Method and apparatus for reducing the power consumed by a computer system
US7210054B2 (en) * 2002-06-25 2007-04-24 Intel Corporation Maintaining processor execution during frequency transitioning
US7117379B2 (en) 2002-08-14 2006-10-03 Intel Corporation Method and apparatus for a computing system having an active sleep mode
US7058829B2 (en) 2002-08-14 2006-06-06 Intel Corporation Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU
US7114090B2 (en) * 2003-02-14 2006-09-26 Intel Corporation Computing system with operational low power states
US7254730B2 (en) * 2003-02-14 2007-08-07 Intel Corporation Method and apparatus for a user to interface with a mobile computing device
US7080271B2 (en) * 2003-02-14 2006-07-18 Intel Corporation Non main CPU/OS based operational environment
US7290161B2 (en) * 2003-03-24 2007-10-30 Intel Corporation Reducing CPU and bus power when running in power-save modes
US7093149B2 (en) 2003-06-09 2006-08-15 Intel Corporation Tiered secondary memory architecture to reduce power consumption in a portable computer system
KR100820325B1 (ko) * 2006-12-07 2008-04-07 한국전자통신연구원 이동 통신 단말기에서 초절전 모드의 제공 방법 및 장치

Also Published As

Publication number Publication date
GB2413666A (en) 2005-11-02
TW200426673A (en) 2004-12-01
US7080271B2 (en) 2006-07-18
US20040162922A1 (en) 2004-08-19
CN1816790A (zh) 2006-08-09
US20150228290A1 (en) 2015-08-13
US20060206627A1 (en) 2006-09-14
US10078363B2 (en) 2018-09-18
US20130346664A1 (en) 2013-12-26
GB0513567D0 (en) 2005-08-10
US9015511B2 (en) 2015-04-21
US9305562B2 (en) 2016-04-05
CN100576147C (zh) 2009-12-30
KR100747165B1 (ko) 2007-08-07
GB2413666B (en) 2006-10-11
WO2004075034A3 (en) 2005-09-09
KR20050101213A (ko) 2005-10-20
US20120210036A1 (en) 2012-08-16
DE112004000166B4 (de) 2014-07-03
US7428650B2 (en) 2008-09-23
US20090019185A1 (en) 2009-01-15
US8166325B2 (en) 2012-04-24
US8522063B2 (en) 2013-08-27
WO2004075034A2 (en) 2004-09-02
US20160132101A1 (en) 2016-05-12
TWI233052B (en) 2005-05-21
DE112004000166T5 (de) 2005-12-01
JP2006515094A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
JP4611210B2 (ja) 非メインcpu/osベースの動作環境
US7114090B2 (en) Computing system with operational low power states
EP1591909B1 (en) Task-oriented processing as an auxiliary to primary computing environments
US7631199B2 (en) Various methods and apparatuses for power states in a controller
JP4977026B2 (ja) コンテキストベース電力管理のための方法、装置、システム及びプログラム
US6760850B1 (en) Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
TW201640276A (zh) 省電處理器架構
WO2003073249A1 (en) Power conservation techniques for a digital computer
US7051144B2 (en) Portable computer system and control method for reducing power consumption therein
US7096299B2 (en) Method and apparatus for transferring system context information between mobile computer and base station
CN103065654B (zh) 移动装置芯片及其移动装置控制方法
US20060026297A1 (en) Computer system with multiple data access channels and control method thereof
US20060190635A1 (en) Information processing apparatus and state control method of the same apparatus
US20040193297A1 (en) Using a digital computer as a low power flashmedia player

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091013

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091211

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100616

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101013

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4611210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

LAPS Cancellation because of no payment of annual fees