(57)【要約】電池または他の電源と、少なくとも１つのプロセッサとを備える統合化デバイスにおいてプログラム実行を制御することにより電力を節約する技法。プロセッサは、音声呼通信機能に関連する処理オペレーションを実施し、データ通信機能に関連する処理オペレーションを実施するように構成され、かつ、クリティカルなプログラムおよび非クリティカルなプログラムを実行するように動作する。統合化デバイスは、データ通信機能に関連する複数の非クリティカルなプログラムのうちの少なくとも所与の１つのプログラムについて、所与のプログラムと実質的に同じ機能を実施することが可能であるが、異なる電源容量に関連付けられる少なくとも１つの代替容量のプログラムの識別子を記憶する。電源の残りの容量または別の特性を表す電力指示器に少なくとも部分的に基づいて、所与のプログラムの実行を、代替容量のプログラムの実行と交換することができ、それによって、音声呼通信機能について利用可能な電源容量の量が増加する。
2007510370.tif 000002
【特許請求の範囲】
【請求項１】
電源と、音声呼通信機能に関連する処理オペレーションを実施し且つデータ通信機能に関連する処理オペレーションを実施するよう構成された、クリティカルなプログラムおよび非クリティカルなプログラムを実行するように動作する少なくとも１つのプロセッサとからなる統合化デバイスにおいてプログラムの実行を制御することにより電力を節約する方法であって、
前記データ通信機能に関連する複数の非クリティカルなプログラムのうちの少なくとも所与の１つのプログラムに対し、前記所与のプログラムと実質的に同じ機能を実施するが、異なる電源容量に関連付けられる少なくとも１つの代替容量のプログラムの識別子を記憶する工程と、
前記音声呼通信機能について利用可能な電源容量の量が増加するよう、前記電源の特性を表す電力指示器に少なくとも部分的に基づいて前記所与のプログラムの実行を前記代替容量のプログラムの実行と交換する工程とを含むことを特徴とする方法。
【請求項２】
前記電源は電池であることを特徴とする請求項１に記載の方法。
【請求項３】
前記電力指示器は前記電池の残りの容量を表すことを特徴とする請求項２に記載の方法。
【請求項４】
前記電力指示器が第１閾値より小さいときには、前記所与の非クリティカルなプログラムの実行が、前記所与のプログラムより低い電源容量に関連付けられている代替容量の非クリティカルなプログラムの実行と交換されることを特徴とする請求項１に記載の方法。
【請求項５】
前記電力指示器が第１閾値より小さくないときには、前記所与の非クリティカルなプログラムの実行が、前記所与のプログラムより高い電源容量に関連付けられている代替容量のプログラムの実行と交換されることを特徴とする請求項１に記載の方法。
【請求項６】
前記音声呼通信機能は携帯音声呼通信に関連する１つまたは複数の機能を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記データ通信機能は、特定のデータレート、特定のリフレッシュレート、および特定の表示解像度のうちの１つまたは複数におけるマルチメディア処理に関連する１つまたは複数の機能を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記所与のプログラムは特定のデータレートでマルチメディア処理を実施し、そして前記所与のプログラムと実質的に同じ機能を実施する前記代替容量のプログラムは、前記所与のプログラムと異なるデータレートでマルチメディア処理を実施することを特徴とする請求項７に記載の方法。
【請求項９】
前記所与のプログラムは特定のリフレッシュレートでマルチメディア処理を実施し、そして前記所与のプログラムと実質的に同じ機能を実施する前記代替容量のプログラムは、前記所与のプログラムと異なるリフレッシュレートでマルチメディア処理を実施することを特徴とする請求項７に記載の方法。
【請求項１０】
前記所与のプログラムは特定の表示解像度でマルチメディア処理を実施し、そして前記所与のプログラムと実質的に同じ機能を実施する前記代替容量のプログラムは、前記所与のプログラムと異なる表示解像度でマルチメディア処理を実施することを特徴とする請求項７に記載の方法。
【請求項１１】
前記クリティカルなプログラムは、前記プロセッサ上で実行されるオペレーティングシステム、前記統合化デバイスのグラフィカルユーザインタフェース、および１つまたは複数の前記音声呼通信機能のうちの少なくとも１つを実施するのに利用されるプログラムを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記複数の非クリティカルなプログラムは、電源容量に基づいて、第１容量のカテゴリと第２容量のカテゴリを含む少なくとも２つのカテゴリに分類され、前記第１容量は前記第２容量より低い容量であることを特徴とする請求項１に記載の方法。
【請求項１３】
少なくとも前記複数の非クリティカルなプログラムのサブセットのそれぞれは、少なくとも、実行状態、保留状態、およびスリープ状態を含む複数の状態の１つの状態にあることができることを特徴とする請求項１に記載の方法。
【請求項１４】
前記電力指示器が前記第１閾値より低い第２閾値より低いときには、前記所与の非クリティカルなプログラムおよび前記代替の非クリティカルなプログラムはスリープ状態に設定されることを特徴とする請求項４に記載の方法。
【請求項１５】
前記電力指示器が前記第２閾値より低いときには、スリープ状態を有する任意の非クリティカルなプログラムは保留状態に設定されることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記第２閾値は、前記音声呼通信機能の１つまたは複数の継続のための許容可能最小容量を表すことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記プロセッサは、前記非クリティカルなプログラムの１つまたは複数についての関連する容量を有する前記非クリティカルなプログラムのリストを記憶するように動作することを特徴とする請求項１に記載の方法。
【請求項１８】
前記プロセッサはマルチスレッドプロセッサを備える請求項１に記載の方法。
【請求項１９】
統合化デバイスであって、
電源と、
音声呼通信機能に関連する処理オペレーションを実施し且つデータ通信機能に関連する処理オペレーションを実施するように構成された少なくとも１つのプロセッサとを含み、前記プロセッサは、クリティカルなプログラムおよび非クリティカルなプログラムを実行するように動作するものであり、
前記統合化デバイスは、前記データ通信機能に関連する複数の非クリティカルなプログラムのうちの少なくとも所与の１つのプログラムに対し、前記所与のプログラムと実質的に同じ機能を実施するが、異なる電源容量に関連付けられる少なくとも１つの代替容量のプログラムの識別子を記憶し、
前記音声呼通信機能について利用可能な電源容量の量が増加するよう、前記電源の特性を表す電力指示器に少なくとも部分的に基づいて、前記所与のプログラムの実行が前記代替容量のプログラムの実行と交換されることを特徴とする統合化デバイス。
【請求項２０】
統合化デバイスにおいてプログラム実行を制御することによって電力を節約するときにに使用するプログラムコードを取り入れた機械読み取り可能な記憶媒体を含む製品であって、前記統合化デバイスは、電源と、音声呼通信機能に関連する処理オペレーションを実施し且つデータ通信機能に関連する処理オペレーションを実施するように構成された少なくとも１つのプロセッサとを備え、前記プロセッサは、クリティカルなプログラムおよび非クリティカルなプログラムを実行するように動作し、前記プロセッサによって実行されると、前記プログラムコードは、
前記データ通信機能に関連する複数の非クリティカルなプログラムのうちの少なくとも所与の１つのプログラムに対し、前記所与のプログラムと実質的に同じ機能を実施するが、異なる電源容量に関連付けられる少なくとも１つの代替容量のプログラムの識別子を記憶する工程と、
前記音声呼通信機能について利用可能な電源容量の量が増加するよう、前記電源の特性を表す電力指示器に少なくとも部分的に基づいて、前記所与のプログラムの実行を前記代替容量のプログラムの実行と交換する工程とを実施する製造品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、プロセッサ・ベースの通信デバイスに関し、より詳細には、種々の異なる媒体を通じて通信される音声、データ、オーディオ、ビデオ、および他の情報の処理のために構成された通信デバイスを含むことができる統合化デバイス(convergence device)に関する。
【背景技術】
【０００２】
統合化デバイスは、通常、種々の異なる通信およびマルチメディア・データ処理機能を組み込む。こうしたデバイスの１つの例は、いわゆる、「スマート」電話であり、一般に、マルチメディア・アプリケーション・プログラムまたはデータ通信機能に関連する他のプログラム、ならびに、携帯音声呼通信機能に関連するプログラムを実行することが可能なプロセッサを備える。所与のスマート電話は、例を挙げると、従来の携帯電話音声呼もサポートしながら、ユーザが、ｅ−ｍａｉｌを検索し、インターネットをブラウジングし、個人情報を管理し、テキスト・メッセージングを利用することを可能にするように構成されることができる。
【０００３】
このタイプの統合化デバイスのより特定の例は、３ＧＰＰ技術仕様書ＴＳ  ２５．１ｘｘに記載され、参照により本明細書に組み込まれる、第３世代パートナーシップ・プロジェクト（３ＧＰＰ）広帯域ＣＤＭＡ（ＷＣＤＭＡ）システムなどの、最近開発された、高速ＣＤＭＡ通信システムの無線モバイル・ユニットである。統合化デバイスは、携帯通信機能性に加えて、または、その代わりに、参照により本明細書に組み込まれるＩＥＥＥ８０２．１１規格または他の適した無線ネットワーキング規格による無線ネットワーキング機能性を含むことができる。
【０００４】
統合化デバイスは、信号処理オペレーションに関連するデジタル信号プロセッサ（ＤＳＰ）コードならびにＪａｖａ（登録商標）または別のオブジェクト指向プログラミング言語で書かれた高レベルプログラム・アプリケーション・コードを含む、複数の異なるタイプのコードの実行を必要とすることが多い。
【０００５】
統合化デバイスにおいて使用するのに特に好適なマルチスレッド・プロセッサは、２００２年１０月１１日に出願された、「Ｍｕｌｔｉｔｈｒｅａｄｅｄ  Ｐｒｏｃｅｓｓｏｒ  Ｗｉｔｈ  Ｅｆｆｉｃｉｅｎｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｆｏｒ  Ｃｏｎｖｅｒｇｅｎｃｅ  Ｄｅｖｉｃｅ  Ａｐｐｌｉｃａｔｉｏｎｓ」という名称の米国特許出願第１０／２６９，３７２号に記載されており、その特許出願は、同一譲受人に譲渡され、参照により本明細書に組み込まれる。米国特許出願第１０／２６９，３７２号に記載されるマルチスレッド・プロセッサの具体的に示す実施形態は、ＲＩＳＣベース制御コード、ＤＳＰコード、Ｊａｖａ（登録商標）コード、およびネットワーク処理コードを実行することが可能である。このプロセッサは、単一命令複数データ（ＳＩＭＤ）ベクトル・ユニット、低減ユニット、および長い命令語（ＬＩＷ）復号命令実行を含む。
【０００６】
統合化デバイスは、通常、電池電力で動作するように構成される。こうしたデバイスでは、通常、電池容量が減少する時に、一定の最小音声呼通信能力を維持することが望ましい。一般に、マルチメディア・アプリケーション処理などの、データ通信機能に関連する処理は、著しく多くの計算能力を必要とし、したがって、携帯音声呼通信より多くの電池電力を消費する。
【０００７】
【特許文献１】米国特許出願第１０／２６９，３７２号
【非特許文献１】Ｊ．Ｇｌｏｓｓｎｅｒ，Ｄ．Ｉａｎｃｕ，Ｊ．Ｌｕ，Ｅ．ＨｏｋｅｎｅｋおよびＭ．Ｍｏｕｄｇｉｌｌ著「Ａ  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｂａｓｅｂｎｄ  Ｄｅｓｉｇｎ」ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ，Ｖｏｌ．４１，Ｎｏ．１，ｐｐ．１２０−１２８，Ｊａｎｕａｒｙ，２００３
【非特許文献２】Ｊ．Ｇｌｏｓｓｎｅｒ，Ｅ．ＨｏｋｅｎｅｋおよびＭ．Ｍｏｕｄｇｉｌｌ著「Ｍｕｌｔｉｔｈｒｅａｄｅｄ  Ｐｒｏｃｅｓｓｏｒ  ｆｏｒ  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｒａｄｉｏ」Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００２  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｒａｄｉｏ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｎｆｅｒｅｎｃｅ，Ｖｏｌｕｍｅ  Ｉ，ｐｐ．１９５−１９９，Ｎｏｖｅｍｂｅｒ  １１−１２，２００２，Ｓａｎ  Ｄｉｅｇｏ，Ｃａｌｆｏｒｎｉａ
【特許文献２】米国特許出願第１０／１６１，７７４号
【特許文献３】米国特許出願第１０／１６１，８７４号
【特許文献４】米国特許出願第１０／２６９，２４７号
【特許文献５】米国特許出願第１０／２６９，３７３号
【特許文献６】米国特許出願第１０／２６９，２４５号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
残念ながら、従来の電力節約技法は、統合化デバイスの特定の構成および機能性に対処するように設計されておらず、したがって、こうしたデバイスにおいて最適性能を提供することができない。
【課題を解決するための手段】
【０００９】
本発明は、プロセッサ・ベースの統合化デバイスにおいて、電池または他の電源からの電力を節約する改良された技法を提供する。
【００１０】
本発明の一態様によれば、電池または他の電源および少なくとも１つのプロセッサを備える統合化デバイスにおいてプログラム実行を制御することによって、電力を節約する技法が提供される。プロセッサは、マルチスレッド・プロセッサまたは他のタイプのプロセッサを備えることができる。プロセッサは、音声呼通信機能に関連する処理オペレーションを実施し、かつ、データ通信機能に関連する処理オペレーションを実施するように構成され、クリティカル(critical)なプログラムおよび非クリティカル(non-critical)なプログラムを実行するように動作する。
【００１１】
クリティカルなプログラムは、たとえば、プロセッサ上で実行されるオペレーティング・システム、統合化デバイスのグラフィカル・ユーザ・インタフェース、および１つまたは複数の音声呼通信機能のうちの少なくとも１つを実施するのに利用されるプログラムを含むことができる。
【００１２】
非クリティカルなプログラムは、好ましくは、電源容量に基づいて、第１容量のカテゴリと第２容量のカテゴリを含む少なくとも２つのカテゴリに分類され、第１容量は第２容量より低い容量である。少なくとも複数の非クリティカルなプログラムのサブセットのそれぞれは、少なくとも、実行状態、保留状態、およびスリープ状態を含む、複数の状態の１つの状態にあることができる。
【００１３】
動作時、統合化デバイスは、データ通信機能に関連する複数の非クリティカルなプログラムのうちの少なくとも所与の１つのプログラムについて、前記所与のプログラムと実質的に同じ機能を実施するが、異なる電源容量に関連付けられる少なくとも１つの代替容量のプログラムの識別子を記憶する。電源の残りの容量または別の特性を表す電力指示器に少なくとも部分的に基づいて、所与のプログラムの実行が、代替容量のプログラムの実行と交換されることができ、それによって、音声呼通信機能について利用可能な電源容量の量が増加する。たとえば、電力指示器が、第１閾値より小さい場合、所与の非クリティカルなプログラムの実行は、所与のプログラムより低い電源容量に関連付けられている代替容量の非クリティカルなプログラムの実行と交換される。同様に、電力指示器が、第１閾値より小さくない場合、所与の非クリティカルなプログラムの実行は、所与のプログラムより高い電源容量に関連付けられている代替容量のプログラムの実行と交換される。
【００１４】
具体的に示す実施形態では、データ通信機能は、特定のデータ・レート、特定のリフレッシュ・レート、および特定の表示解像度のうちの１つまたは複数におけるマルチメディア処理に関連する１つまたは複数の機能を含むことができる。所与のプログラムは、特定のデータ・レート、リフレッシュ・レート、または表示解像度でマルチメディア処理を実施することができ、この場合、所与のプログラムと実質的に同じ機能を実施する代替容量のプログラムは、所与のプログラムと異なるデータ・レート、リフレッシュ・レート、または表示解像度でマルチメディア処理を実施することができる。
【００１５】
本発明の別の態様によれば、電力指示器が、第１閾値より低い第２閾値より低い場合、所与の非クリティカルなプログラムおよび代替の非クリティカルなプログラムは、それぞれ、スリープ状態に設定されることができる。別法として、電力指示器が第２閾値より低い場合、スリープ状態を有する任意の非クリティカルなプログラムは、保留状態に設定されることができる。第２閾値は、音声呼通信機能の１つまたは複数の継続のための、許容可能最小容量を表すことができる。
【００１６】
有利には、本発明の技法は、統合化デバイスが、所与の電池容量レベルについて音声呼通信機能を提供する期間を実質的に増加させることができる。
【発明を実施するための最良の形態】
【００１７】
本発明は、マルチッスレッド・プロセッサを含むように構成された、例の統合化デバイスで実施されるものとして本明細書で示されるであろう。しかし、本発明は、具体的に示す実施形態の特定の統合化デバイスおよびマルチスレッド・プロセッサの使用を必要とせず、電池電力または他のタイプの電力の改良された統合化を提供することが望ましい任意のプロセッサ・ベースの統合化デバイスで使用するのに、より一般的に適していることを理解されたい。本明細書で使用される「統合化デバイス」という用語は、限定することなく、モバイル電話、個人情報端末（ＰＤＡ）、可搬型コンピュータ、または、音声呼通信と、音声呼通信に関連するデータ通信機能との両方を有する他のタイプのプロセッサ・ベースの通信デバイスを含むことが意図される。
【００１８】
図１は、本発明の具体的に示す実施形態による統合化デバイス１００を示す。統合化デバイス１００は、主メモリ１０４に結合したプロセッサ１０２を含む。プロセッサ１０２にはまた、１つまたは複数の送受信機１０５、１つまたは複数のネットワーク・インタフェース１０６、および、電池１０８の容量を監視する電池モニタ１０７が結合される。
【００１９】
送受信機（複数可）１０５は、例を挙げると、ＷＣＤＭＡ通信機能または統合化デバイスにおいて実施される他のタイプの音声呼通信機能などの、携帯通信機能と関連付けられることができる。ネットワーク・インタフェース（複数可）１０６は、やはり例を挙げると、ＩＥＥＥ  ８０２．１１無線ネットワーキング機能または統合化デバイスにおいて実施される他のタイプのデータ通信機能と関連付けられることができる。
【００２０】
電池モニタ１０７および電池１０８は、設計が全く従来型であってよく、こうした要素の多くの可能性のある実施態様は、当業者には容易に明らかになるであろう。一般に、電池モニタ１０７は、電池指示器とも呼ばれる、少なくとも１つの電池指示器信号を生成する。電池指示器は、残っている電池容量のパーセンテージまたは電池１０８の他のタイプの残っている電力レベルまたは他の容量レベルを指示することができる。電池指示器は、本明細書で電力指示器としてより一般的に呼ばれるものの例である。本発明は、任意の特定のタイプの電力指示器の使用を必要とせず、当業者に知られている、いろいろなこうした指示器と共に動作するように、簡単な方法で構成される可能性がある。同様に、本発明は、電池以外の電源と共に使用される可能性がある。
【００２１】
統合化デバイス１００は、たとえば、共に参照により本明細書に組み込まれる、Ｊ．Ｇｌｏｓｓｎｅｒ，Ｄ．Ｉａｎｃｕ，Ｊ．Ｌｕ，Ｅ．ＨｏｋｅｎｅｋおよびＭ．Ｍｏｕｄｇｉｌｌ著「Ａ  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｂａｓｅｂｎｄ  Ｄｅｓｉｇｎ」ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ，Ｖｏｌ．４１，Ｎｏ．１，ｐｐ．１２０−１２８，Ｊａｎｕａｒｙ，２００３およびＪ．Ｇｌｏｓｓｎｅｒ，Ｅ．ＨｏｋｅｎｅｋおよびＭ．Ｍｏｕｄｇｉｌｌ著「Ｍｕｌｔｉｔｈｒｅａｄｅｄ  Ｐｒｏｃｅｓｓｏｒ  ｆｏｒ  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｒａｄｉｏ」Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００２  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｒａｄｉｏ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｎｆｅｒｅｎｃｅ，Ｖｏｌｕｍｅ  Ｉ，ｐｐ．１９５−１９９，Ｎｏｖｅｍｂｅｒ  １１−１２，２００２，Ｓａｎ  Ｄｉｅｇｏ，Ｃａｌｆｏｒｎｉａに記載されるソフトウェア無線（ｓｏｆｔｗａｒｅ  ｄｅｆｉｎｅｄ  ｒａｄｉｏ）（ＳＤＲ）技法を利用するように構成されることができる。
【００２２】
先に引用した参考文献に記載されるＳＤＲ技法を実施する例示的な集積回路製品は、米国、ニューヨーク州、ホワイトプレーンズ（Ｗｈｉｔｅ  Ｐｌａｉｎｓ）のＳａｎｄｂｒｉｄｇｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．からのＳＢ９６００（商標）ベースバンド・プロセッサである。
【００２３】
図２は、プロセッサ１０２の１つの可能性のある実施態様のさらに詳細な図を示す。この例では、プロセッサ１０２は、マルチスレッド・プロセッサとして実施されるが、先に指示したように、マルチスレッド・プロセッサの使用は、本発明の必要条件ではない。マルチスレッド・プロセッサは、マルチスレッド・キャッシュ・メモリ１１０、データ・メモリ１１２、キャッシュ・コントローラ１１４、命令デコーダ１１６、レジスタ・ファイル１１８、および算術論理演算ユニット（ＡＬＵ）１２０のセットを含む。マルチスレッド・キャッシュ・メモリ１１０はまた、本明細書では、マルチスレッド・キャッシュと呼ばれる。
【００２４】
マルチスレッド・キャッシュ１１０は、複数のスレッド・キャッシュ１１０−１、１１０−２、・・・、１１０−Ｎを含む。ここで、Ｎは、一般に、マルチスレッド・プロセッサ１０２によってサポートされるスレッドの数を示す。同様に、データ・キャッシュ１１２は、示すように、データ・メモリ１１２−１、１１２−２、・・・、１１２−Ｎで示す、Ｎ個の別個のデータ・メモリ・インスタンスを含む。
【００２５】
マルチスレッド・キャッシュ１１０内のスレッド・キャッシュはそれぞれ、メモモリ・ロケーションの１つまたは複数のセットを有するメモリ・アレイを備えてもよい。所与のスレッド・キャッシュはさらに、関連するスレッド識別子を記憶するための、スレッド識別子レジスタを備えるか、または、その他の方法でスレッド識別子レジスタに関連付けられてもよい。
【００２６】
マルチスレッド・キャッシュ１１０は、キャッシュ・コントローラ１１４を介して主メモリ１０４とインタフェースする。キャッシュ・コントローラ１１４は、主メモリ１０４からの適切な命令が、マルチスレッド・キャッシュ１１０内に確実にロードされるようにする。ロジック回路または個々のスレッド・キャッシュ１１０−１、１１０−２、‥、１１０−Ｎと関連付けられる他の処理要素と連携して動作する、この具体的に示す実施形態のキャッシュ・コントローラ１１４は、完全連想マッピング(fully associative mapping)、直接マッピング(direct mapping)、またはセット連想マッピング(set associative mapping)などのアドレス・マッピング技法の少なくともある部分を実施してもよい。
【００２７】
本発明と連携して使用するのに適した具体的に示すセット連想マッピング技法は、共に、２００２年６月４日に出願され、本出願に関して、同一譲受人に譲渡された、米国特許出願第１０／１６１，７７４号および第１０／１６１，８７４号に記載され、共に、参照により本明細書に組み込まれる。
【００２８】
一般に、マルチスレッド・キャッシュ１１０は、マルチスレッド・プロセッサ１０２によって実行される命令を記憶するのに使用され、一方、データ・メモリ１１２は、命令によって操作されるデータを記憶する。命令は、命令デコーダ１１６によってマルチスレッド・キャッシュ１１０からフェッチされ、命令デコーダ１１６は、従来の方法で命令の実行を制御する時に、レジスタ・ファイル１１８およびＡＬＵ１２０と連携して動作する。１１６、１１８、および１２０などのマルチスレッド・プロセッサ要素は、当技術分野でよく理解されており、したがって、以降ではさらに詳細には述べられない。
【００２９】
データ・メモリ１１２は、通常、主メモリ１０４に直接接続されるが、この接続は、明示的には図に示されない。
【００３０】
メモリ１０４、１１０、および１１２の１つまたは複数は、それぞれ、複数のバンクまたは他の指定された部分を含むように構成されてもよい。例を挙げると、各バンクは、１つまたは複数のメモリ・モジュールで構成されているか、単一メモリ・モジュールの特定の部分とみなすことができる。
【００３１】
マルチスレッド・プロセッサに関連するこれらのおよび他のメモリのスレッド・ベースのバンキングのための技法は、２００２年１０月１１日に出願された、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｔｈｒｅａｄｅｄ−Ｂａｓｅｄ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  ｉｎ  ａ  Ｍｕｌｔｉｔｈｒｅａｄｅｄ  Ｐｒｏｃｅｓｓｏｒ」という名称の、米国特許出願第１０／２６９，２４７号に記載され、特許出願は、同一譲受人に譲渡され、参照により本明細書に組み込まれる。
【００３２】
本明細書で使用される「メモリ」という用語は、内部または外部メモリ、キャッシュ・メモリ、データ・メモリ、あるいはデータ記憶要素の他の配置構成を包含するように広い範囲で解釈されることが意図される。本発明は、任意特定のメモリ・タイプ、構成、またはアプリケーションに限定されない。しかし、メモリは、一般に、プロセッサの技術分野において、図２のレジスタ・ファイル１１８を含むレジスタなどのレジスタとは異なることが理解されることが留意されるべきである。
【００３３】
レジスタ・ファイルに対するスレッド・ベースのアクセス技法は、２００２年１０月１１日に出願された、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｒｅｇｉｓｔｅｒ  Ｆｉｌｅ  Ｐｏｒｔ  Ｒｅｄｕｃｔｉｏｎ  ｉｎ  ａ  Ｍｕｌｔｉｔｈｒｅａｄｅｄ  Ｐｒｏｃｅｓｓｏｒ」という名称の、米国特許出願第１０／２６９，３７３号に記載され、特許出願は、同一譲受人に譲渡され、参照により本明細書に組み込まれる。
【００３４】
図１および図２の特定の配置構成は、図示を明確にするために単純化されていることが留意されるべきであり、当業者には明らかになるように、明示的には示さない付加的な、または、代替の要素が含まれてもよい。
【００３５】
本発明は、図２に示す特定のマルチスレッド・プロセッサ構成を必要としないこともまた強調されるべきである。本発明は、いろいろな他のマルチスレッドまたは非マルチスレッドのプロセッサ構成で実施することができる。
【００３６】
図２に示し、本発明と連携して使用するのに適したタイプのマルチスレッド・プロセッサの例は、先に引用した米国特許出願第１０／２６９，３７２号に記載される。
【００３７】
マルチスレッド・プロセッサ１０２は、トークン・トリガー式スレッディングと呼ばれるスレッディング手法または他の適したスレッディング技法を利用するように構成されてもよい。好ましくは、パイプライン化もまた、こうしたスレッディングと連携して使用される。本発明と共に使用するのに適したスレッディングおよびパイプライン化技法の例は、２００２年１０月１１日に出願された、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｔｏｋｅｎ  ＴｒｉｇｇｅｒｅｄＭｕｌｔｉｔｈｒｅａｄｉｎｇ」という名称の、米国特許出願第１０／２６９，２４５号に記載され、特許出願は、同一譲受人に譲渡され、参照により本明細書に組み込まれる。
【００３８】
マルチスレッド・プロセッサにおいて、所与のスレッドは、一般に、ハードウェアならびにソフトウェアの観点から見ることができる。所与のスレッドに関連する特定のプロセッサ・ハードウェアは、より詳細には、ハードウェア・スレッド・ユニット、または、単に「コンテキスト」と呼ばれることが多い。本明細書で使用される「スレッド」という用語は、ソフトウェアか、ハードウェアのいずれか、または、その両方を含むことが意図される。
【００３９】
本発明の一態様に従って、本発明は、図１の統合化デバイス１００における電力節約のための改良された技法を提供する。より具体的には、本発明は、具体的に示す実施形態において、電池モニタ１０７によって生成される電力指示器に基づく動的プログラム・スロットリング（dynamic program throttling)技法を提供する。
【００４０】
本明細書で先に指示したように、デバイス１００などの統合化デバイスにおいて、電池容量が減少する時に、一定の最小音声呼通信能力を維持することが、通常、望ましい。同様に、マルチメディア・アプリケーション処理またはデータ通信に関連する他のタイプの処理は、著しく多くの計算能力を必要とし、したがって、携帯音声呼通信より多くの電池電力を消費する。
【００４１】
本発明の技法は、たとえば、所与の電池容量について可能な限り長い期間の間、携帯音声呼能力が確実に提供されるように使用することができる。こうした配置構成では、プロセッサ１０２は、電力指示器に少なくとも部分的に基づいて、必須でないプログラムをスロットリングするように構成され、それによって、こうしたプログラムが実行されることを防止する。
【００４２】
図３は、あるデータ通信機能についての、例のプロセッサのパーセンテージ利用状態を示すグラフを示す。この場合、プロセッサは、上述したＳａｎｄｂｒｉｄｇｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  ＳＢ９６００（商標）ベースバンド・プロセッサである。プロセッサは、ひとまとめにして、毎秒９６億の乗算−累算（ＭＡＣ）演算を提供する、複数のマルチスレッド・プロセッサ・コアを備え、複数の異なる通信プロトコルに関連するベースバンド処理を実施するのに使用することができる。
【００４３】
図のグラフは、種々のビット・レートにおける、２つの携帯プロトコル、すなわち、ＷＣＤＭＡと一般パケット無線サービス（ＧＰＲＳ）のそれぞれ、および、１つの無線ローカル・エリア・ネットワーク・プロトコル、すなわち、ＩＥＥＥ  ８０２．１ｂを使用したデータ通信についてのＳＢ９６００（商標）ベースバンド・プロセッサのパーセンテージ利用を示す。いずれの携帯プロトコルにおいても、音声呼は、グラフに示すデータ通信のいずれのデータ通信より少ないパーセント利用を必要とすることが留意されるべきである。
【００４４】
ＳＢ９６００（商標）ベースバンド・プロセッサは、音声呼通信とマルチメディア・データ処理の両方の機能または他のデータ通信機能が、マルチスレッド・プロセッサ・コア上で実行されるソフトウェアで主に実施されるプロセッサの例である。
【００４５】
音声呼通信とデータ通信の両方のオペレーションがソフトウェアで実施される統合化デバイスでは、重要な電池資源が減少する時に、データ通信機能によって消費されるエネルギーを制御することが特に望ましい。有利には、これは、ある特定の時間量にわたって音声呼通信能力の機能性を最小にすることを可能にする。
【００４６】
例として、典型的な統合化デバイスの電池は、完全に充電されると、音声呼通信について８時間、データ通信について２時間持続することができる。１時間のデータ通信が起こった場合、これはまた、残りの音声呼通信容量を４時間に減少させるであろう。
【００４７】
本発明の動的プログラム・スロットリング技法を使用すると、普通なら可能であると思われるより実質的に長い期間にわたって、基本音声通信機能性を保持するために、データ通信は、有利には、電池容量が指定されたレベルより低下した時に制御されてもよい。
【００４８】
ここで、例示的な動的プログラム・スロットリング技法が、図４を参照して述べられるであろう。図は、本発明の具体的に示す実施形態における動的プログラム・スロットリング・プロセスのフロー図４００を示す。
【００４９】
以下の説明では、プロセッサ１０２上で実行される命令のシーケンスはプロシジャを含むこと、および、プロシジャおよびプロシジャが適用されるデータは、ひとまとめにタスクを構成することが、限定することなく考えられる。所与のプロシジャまたはタスクは、より一般的に、本明細書でプログラムと呼ばれるものの例とみなすことができる。そのため、本明細書で使用される「プログラム」という用語は、命令または他のタイプのコードの任意のセットを含むことが意図される。統合化デバイス１００は、音声呼通信に関連するタスクならびにマルチメディア処理またはデータ通信に関連する他のタイプの処理に関連するタスクを実行することが、限定することなく考えられる。
【００５０】
一般に、図４の動的プログラム・スロットリング・プロセスを実行する前に、タスクは、少なくとも２つのカテゴリに分類される。この具体的に示す実施形態では、タスクは、２つのカテゴリ、すなわち、クリティカルなカテゴリと非クリティカルなカテゴリに分類されるが、他のカテゴリ分類が使用されてもよい。
【００５１】
クリティカルなタスクは、十分な電池容量が残っているか否かにかかわらず、常に実行されなければならないタスクである。クリティカルなタスクの例は、プロセッサ１０２上で実行されるオペレーティング・システム、統合化デバイス１００のグラフィカル・ユーザ・インタフェース、および音声呼に関連する通信処理を含む。
【００５２】
非クリティカルなタスクはまた、容量によって分類されてもよい。非クリティカルなタスクの１つの例は、複数のリフレッシュ・レートおよび表示解像度で動作することができる、マルチメディア処理またはデータ通信に関連する他のタイプの処理である。より特定の例は、３０フレーム／秒と６４０×４８０解像度におけるＭＰＥＧビデオ対１０フレーム／秒と２４０×１８０解像度におけるＭＰＥＧビデオを含む処理である。別の例は、６４ｋｂｐｓまたは１９２ｋｂｐｓにおけるモノまたはステレオのオーディオである。さらに別の例は、１、２、５．５、または１１Ｍｂｐｓの８０２．１１ｂなどの複数のデータ・レートで動作することができるデータ通信処理である。非クリティカルなタスクのこれらのセットの目立つ特徴は、計算要件は、品質または性能によって変わるが、必要とされる容量を除いて、基本ソフトウェアは変わらないことである。
【００５３】
非クリティカルなタスクのリストは、プロセッサ１０２の内部メモリ内、主メモリ１０４内、または統合化デバイスのどこかに維持される。クリティカルなタスクのリストもまた維持されてもよい。非クリティカルなタスクは、タスク実行によって消費される電池容量の量に少なくとも部分的に基づいて、少なくとも低い容量か、または、高い容量として指定されてもよい。容量に基づく非クリティカルなタスクの異なるカテゴリへの他の編成が使用されてもよい。
【００５４】
所与のタスクまたは他のプログラムを参照して本明細書で使用される「容量」という用語は、そのプログラムの容量の利用またはそのプログラムの容量に関する特性を指定する任意の他の情報を、限定することなく含むことが意図される。したがって、所与のプログラムに関連する電源容量は、たとえば、そのプログラムによって利用される電源容量の量、そのプログラムによって要求される電源容量の最小または最適な量、あるいは、プログラムを含む容量カテゴリに割り当てることができる任意の他のタイプの容量ラベルのことを言う場合がある。
【００５５】
所与の非クリティカルなタスクは、そのタスクに関連する複数の異なる状態設定のうちの１つの状態設定を有することができ、その例は、実行、保留、およびスリープを含むことができる。実行状態のタスクは、アクティブであり、プロセッサ上で実行される。保留状態のタスクは、まだ実行されていないが、十分なプロセッサ資源が利用可能になるとすぐに、実行することを許可されるであろう。スリープ・タスクは、プロセッサ・メモリにロードされるが、オペレーティング・システムがその状態を変えるまで、保留状態への遷移が許可されないタスクである。
【００５６】
しかし、図４に関連して述べた、特定のタスクまたはプログラム構成、容量レベル、および状態設定は、単に例であり、代替の実施形態において、他の配置構成が使用されることができることが理解される。
【００５７】
ここで、フロー図４００を参照すると、ステップ４０２にて、電池指示器がチェックされる。先に述べたように、電池指示器は、残っている電池容量のパーセンテージを指定してもよいし、または、電池容量を指示する別の適したフォーマットであってもよい。一般に、電池容量が、本明細書でＴｈｒｅｓｈｏｌｄ１として示す特定の閾値より低く、かつ、現在実行している非クリティカルなタスクと実質的に同じ機能であるが、より低い容量で達成する、代替の非クリティカルなタスクが存在する場合、現在実行しているより高い容量のタスクは、より低い容量のタスクと交換される。同様に、電池容量が、Ｔｈｒｅｓｈｏｌｄ１より大きく、かつ、現在実行しているより低い容量のタスクについて、代替のより高い容量のタスクが存在する場合、より低い容量のタスクは、より高い容量のタスクと交換される。
【００５８】
動的プログラム・スロットリング・プロセスもこの部分は、図のステップ４０４〜４１６で実施される。電池電力も節約しながら、実質的に同じ機能性を保持するために、適切である場合、単一の実行中タスクは、複数の代替容量のタスクと交換されることができるか、または、複数の実行中タスクは、単一の代替容量のタスクと交換されることができることが留意されるべきである。
【００５９】
より具体的には、ステップ４０４にて、電池容量が、Ｔｈｒｅｓｈｏｌｄ１より小さいと判定される場合、ステップ４０６は、非クリティカルなタスクのリストをチェックし、ステップ４０８は、同じ機能を達成する、任意の代替容量の非クリティカルなタスクまたはタスクのセットが存在するかどうかを判定し、存在する場合、ステップ４１０は、１つまたは複数の現在実行しているタスクの代わりに、非クリティカルなタスクのリストから、識別された低容量の１つまたは複数のタスクを実行のためにロードする。同様に、ステップ４０４が、電池容量が、Ｔｈｒｅｓｈｏｌｄ１より小さくないと指示する場合、ステップ４１２は、非クリティカルなタスクのリストをチェックし、ステップ４１４は、同じ機能を達成する、任意の代替容量の非クリティカルなタスクまたはタスクのセットが存在するかどうかを判定し、存在する場合、ステップ４１６は、１つまたは複数の現在実行しているタスクの代わりに、非クリティカルなタスクのリストから、識別された高容量の１つまたは複数のタスクを実行のためにロードする。ステップ４０８または４１４にて、現在実行しているタスクの機能を達成する代替容量のタスクが存在しないと判定する場合、それぞれのステップ４１０および４１６は、バイパスされ、プロセスは、ステップ４１８に移動する。そうでない場合、プロセスは、ステップ４１０またはステップ４１６を実行した後、ステップ４１８に移動する。
【００６０】
先に指示したように、容量に基づいて２つのカテゴリに分割した非クリティカルなタスクの実行を制御するために、ステップ４０４〜４１６で実施されるプロセスの部分において、単一閾値、すなわち、Ｔｈｒｅｓｈｏｌｄ１のみが使用される。しかし、他の実施形態では、複数の閾値が使用されてもよく、その場合、対応して容量カテゴリの数が増加する。
【００６１】
ステップ４１８にて、電池容量が、本明細書においてＴｈｒｅｓｈｏｌｄ２で示す第２閾値より小さいかどうかについての判定が行われる。この第２閾値は、一般に、許容可能最小容量を指示し、例を挙げると、指定された期間にわたって統合化デバイスの音声呼能力を可能にする容量として決定することができる。一般に、Ｔｈｒｅｓｈｏｌｄ２に基づくプロセスの部分は、ステップ４１８〜４２４に示すように、電池容量が許容可能最小容量より小さい場合、全ての非クリティカルなタスクをスリープ状態に設定する。
【００６２】
より具体的には、ステップ４１８が、電池容量がＴｈｒｅｓｈｏｌｄ２より小さいと判定する場合、ステップ４２０にて、非クリティカルなタスクのリストがチェックされ、ステップ４２２にて指示されるように、リスト上の全ての非クリティカルなタスクがスリープ状態に設定される。その他の場合で、電池容量がＴｈｒｅｓｈｏｌｄ２より小さくない場合、ステップ４２４にて、全てのスリープ・タスクは保留状態に設定される。ステップ４２２または４２４の実施後に、プロセスは、ステップ４０２に戻り、連続して、または、指定された所定間隔で、こうした方法で繰り返されてもよい。一旦、タスクがスリープ状態に設定されると、後続のプロセスの繰り返しにおいて、電池容量が、再び、Ｔｈｒｅｓｈｏｌｄ２を超えるように戻る場合に、タスクは、保留に設定することができるだけである。
【００６３】
上述したプロセスで利用される閾値は、任意の数の異なる技法を使用して、簡単な方法で決定することができる。
【００６４】
一例として、電力指示器がアナログ電圧信号を含む実施形態では、Ｔｈｒｅｓｈｏｌｄ１は約２．５ボルトであってよく、Ｔｈｒｅｓｈｏｌｄ２は約１．５ボルトであってよい。もちろん、これらの特定の値は、具体的に示す例としてのみ提示され、特定の電源および他のデバイス・パラメータについて適切である場合、他の実施形態では、他の信号値が、閾値として使用されることができる。
【００６５】
別の例として、電力指示器が、２ビット・デジタル信号などのデジタル信号を含んでもよく、Ｔｈｒｅｓｈｏｌｄ１は「０１」値で与えられ、Ｔｈｒｅｓｈｏｌｄ２は「１０」値で与えられる。他の実施形態では、３以上のビットが使用されてもよい。同様に、電力指示器を提供するために、アナログ信号とデジタル信号の組み合わせが使用されてもよい。上述したように、本発明は、任意特定の電力指示器の使用を必要としない。
【００６６】
図４のプロセスは、本発明による、多段動的プログラム・スロットリング・プロセスの例である。上述したこのプロセスは、高容量の非クリティカルなタスクを低容量の非クリティカルなタスクでの置き換え、および、適切である場合には、その逆を制御するために第１閾値を、保留状態とスリープ状態の間での非クリティカルなタスクの遷移を制御するために、第１閾値より小さい第２閾値を利用する。先に指示したように、他の実施形態は、異なる閾値、タスク状態、および他のパラメータを使用することができる。同様に、図で具体的に示したステップ以外の処理ステップが、代替の実施形態で使用されてもよい。
【００６７】
本発明の動的プログラム・スロットリング技法は、従来技法に比べて著しい利点を提供する。たとえば、本発明は、上述した具体的に示す実施形態において、統合化デバイスにおいて、電池電力の改良された節約を提供し、それによって、所与のセットの動作条件下で実用的であるほどの長い期間にわたって、ユーザが、音声呼通信機能性に確実にアクセスできることになる。
【００６８】
本発明の上述した実施形態は、具体的に示すだけのためであることが意図され、添付特許請求項の範囲内にある多くの代替の実施形態が、当業者には明らかになるであろう。たとえば、示されている特定の統合化デバイスおよびプロセッサ構成は、他の実施形態では変更されてもよい。同様に、上述したように、閾値、非クリティカルなタスクのカテゴリ、およびタスクの状態などのパラメータ、ならびに、関連するプロセス・ステップの配置構成は、所与のアプリケーションの特定のニーズに対処するために、変更されてもよい。
【図面の簡単な説明】
【００６９】
【図１】本発明が実施される、例のプロセッサ・ベースの統合化デバイスのブロック図である。
【図２】図１の統合化デバイスのマルチスレッド・プロセッサの具体的に示す実施形態のより詳細なブロック図である。
【図３】一定の通信機能についての、例のプロセッサのパーセント利用を示すグラフである。
【図４】本発明による、図１の統合化デバイスで実施される動的プログラム・スロットリング・プロセスのフロー図である。
【図１】
2007510370.tif 000003
【図２】
2007510370.tif 000004
【図３】
2007510370.tif 000005
【図４】
2007510370.tif 000006
【国際調査報告】
2007510370.tif 000007
2007510370.tif 000008