JP2017515211A - クロックのスピードを設定するための装置および方法 - Google Patents

クロックのスピードを設定するための装置および方法 Download PDF

Info

Publication number
JP2017515211A
JP2017515211A JP2016559413A JP2016559413A JP2017515211A JP 2017515211 A JP2017515211 A JP 2017515211A JP 2016559413 A JP2016559413 A JP 2016559413A JP 2016559413 A JP2016559413 A JP 2016559413A JP 2017515211 A JP2017515211 A JP 2017515211A
Authority
JP
Japan
Prior art keywords
clock
speed
clock speed
computing device
generalized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016559413A
Other languages
English (en)
Other versions
JP6194430B2 (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 JP2017515211A publication Critical patent/JP2017515211A/ja
Application granted granted Critical
Publication of JP6194430B2 publication Critical patent/JP6194430B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

クロックのスピードを設定するための装置および方法が開示される。コンピューティングデバイスが、プロセッサ、およびプロセッサのスケジューラを含み得、スケジューラは、複数の異なる実行環境からの、要求される帯域幅に対する複数の票を受け取ることと、要求される帯域幅を合計することと、要求される帯域幅の和に基づいて、クロックスピードを設定することとを行うように構成され得る。

Description

本発明は、クロックのスピードを設定するための装置および方法に関する。
複数の実行環境(EE)に仮想オーナシップを与えるハードウェア環境では、多くのEEがコマンドインターフェース(たとえばハードウェア(HW)コマンドインターフェース)を所有し得る。各EEは、それがHWの唯一のユーザであるものと想定し得る。様々なEEから同時事象/コマンドが発生した場合、EEの各々は、性能低下を被ることがある。
HWの複数のユーザには、典型的なクロック投票(clock-voting)メカニズムが使用されてきた。この典型的なクロック投票メカニズムでは、HWの異なるEEユーザが、HWクロックをオンにするために、かつ特定のクロックスピードに投票する。票のアグリゲータが、最高票(すなわち最も多く要求されたスピード)を選択する。典型的には、各EEはその局所的な投票を、他のEEを考慮に入れずに管理している。残念なことに、一部のEEにとっては、選択されたスピードが低すぎる場合があり、結果として生じる低下の程度が、その特定のEEにとって対処できるものとはならない場合がある。
本発明の態様は、クロックのスピードを設定するための装置および方法に関し得る。コンピューティングデバイスが、プロセッサ、およびプロセッサのスケジューラを含み得、スケジューラは、複数の異なる実行環境からの、要求される帯域幅に対する複数の票を受け取ることと、要求される帯域幅を合計することと、要求される帯域幅の和に基づいて、クロックスピードを設定することとを行うように構成され得る。
本発明の態様が実践され得るコンピューティングデバイスの図である。 プロセッサ、およびクロックのスピードを設定するためのスケジューラを含む、コンピューティング環境の一例の図である。 スケジューラのクロック投票ブロックの一例の図である。 データオーナからの、一般化されたクロックスピードとしての要求される帯域幅を利用する、スケジューラの一例の図である。 クロックのスピードを設定するためのプロセスの一例を示す流れ図である。
「例示的」または「例」という語は、本明細書では、「例、実例、または例示としての役割を果たすこと」を意味するために使用される。「例示的」または「例」として本明細書において説明するどんな態様または実施形態も、他の態様または実施形態に比べて、好ましいまたは有利であると必ずしも解釈すべきではない。
本明細書では、「コンピューティングシステムまたはデバイス」という用語は、限定はしないが、ラップトップおよびデスクトップコンピュータ、タブレット、スマートフォン、テレビ、家庭電化製品、セルラー電話、パーソナルテレビデバイス、携帯情報端末(PDA)、パームトップコンピュータ、ワイヤレス電子メールレシーバ、マルチメディアインターネット対応セルラー電話、グローバルポジショニングシステム(GPS)レシーバ、ワイヤレスゲームコントローラ、車両(たとえば自動車)に内蔵されるレシーバ、インタラクティブゲームデバイス、ノートブック、スマートブック、ネットブック、モバイルテレビデバイス、または任意のデータ処理装置を含む、任意の形態のプログラマブルコンピュータデバイスを指す。
以下に詳細に説明するように本発明の態様が実践され得る、クロックのスピードを設定するために利用され得るコンピューティングデバイス100の例を、図1に示す。コンピューティングデバイス100は、バス105を介して電気的に結合され得る(または必要に応じて他の方法で連通し得る)ハードウェア要素を備えて、示されている。ハードウェア要素は、限定はしないが、1つまたは複数の汎用プロセッサならびに/もしくは(デジタル信号処理チップ、グラフィックアクセラレーションプロセッサ、暗号プロセッサ、および/もしくは同類のものなどの)1つまたは複数の専用プロセッサを含む、1つまたは複数のプロセッサ110と、1つまたは複数の入力デバイス115(たとえばキーボード、キーパッド、タッチスクリーン、マウスなど)と、少なくともディスプレイデバイス121を含み、さらに、限定はしないが、スピーカ、プリンタ、ならびに/もしくは同類のものを含み得る、1つまたは複数の出力デバイス120とを含み得る。
コンピューティングデバイス100は、1つまたは複数の非一時的な記憶デバイス125をさらに含み得(かつ/またはそれと連通し得)、これは、限定はしないが、ローカルおよび/またはネットワークアクセス可能記憶装置を備え得、かつ/あるいは、限定はしないが、ディスクドライブ、ドライブアレイ、光記憶デバイス、プログラム可能、フラッシュ更新可能なランダムアクセスメモリ(「RAM」)および/もしくはリードオンリーメモリ(「ROM」)などの固体記憶デバイス、ならびに/または同類のものを含み得る。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造、および/または同類のものを含む、任意の適切なデータストアを実装するように構成され得る。
コンピューティングデバイス100は、通信サブシステム130も含み得、これは、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、(ブルートゥース(登録商標)デバイス、802.11デバイス、Wi-Fiデバイス、WiMaxデバイス、セルラー通信デバイスなどの)ワイヤレス通信デバイスおよび/もしくはチップセット、ならびに/または同類のものを含み得る。通信サブシステム130は、データが、ネットワーク、他のコンピュータシステム、および/または本明細書において説明する他の任意のデバイスと交換されることを可能にし得る。多くの実施形態では、コンピューティングデバイス100は、上で説明したRAMまたはROMデバイスを含み得るワーキングメモリ135をさらに備える。さらに、コンピューティングデバイス100は、システムメモリ管理ユニット(SMMU)を含み得、これは、メモリ参照がそれに通されるコンピュータハードウェアユニットであり、アプリケーションを実施するために、仮想メモリアドレスの物理アドレスへの変換をするのに使用され得る。コンピューティングデバイス100は、オペレーティングシステム140、アプリケーション145、デバイスドライバ、実行可能ライブラリ、および/または他のコードを含む、ワーキングメモリ135内に現在位置するように示されているソフトウェア要素も備え得る。
単なる例として、下で論じる方法に関連して説明する1つまたは複数の手順は、コンピューティングデバイス(および/またはコンピューティングデバイス内のプロセッサ)によって実行可能なコードおよび/または命令として実装され得、一態様では、次いで、そのようなコードおよび/または命令が、本発明の実施形態による説明する方法に従って1つまたは複数の動作を実施するように汎用コンピュータ(たとえば、コンピューティングデバイス)を構成し、かつ/または適応させるために、使用され得る。1つの具体的な例として、以下により詳細に説明するように、プロセッサ110は、クロックのスピードを設定するための本発明の実施形態を実施し得る。これらの命令および/またはコードのセットは、非一時的なコンピュータ可読記憶媒体に記憶され得る。場合によっては、記憶媒体は、コンピューティングデバイス100などのコンピュータデバイス内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムとは別(たとえば、コンパクトディスクなどの取外し可能媒体)とすることができ、かつ/または記憶媒体は、記憶媒体がそれに記憶された命令/コードで汎用コンピュータをプログラムし、構成し、かつ/もしくは適応させるために使用され得るような、インストールパッケージの形で提供され得る。これらの命令は、コンピュータ化されたコンピューティングデバイス100によって実行可能である実行可能コードの形態をとり得、かつ/または(たとえば、多様な一般に入手可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピューティングデバイス100上でコンパイルおよび/もしくはインストールすると、次いで実行可能コードの形態をとる、ソースコードおよび/もしくはインストール可能コードの形態をとり得る。
図2を参照して、本発明の態様が実践され得る、クロックのスピードを設定するための暗号プロセッサなどのプロセッサ220を含むコンピューティングデバイス100によって実施可能なコンピューティング環境200の一例について、以下に説明する。後により詳細に説明するように、クロックのスピードを設定するための暗号プロセッサ220の使用は、クロックのスピードを設定するために利用され得るプロセッサの単なる一例であり、クロックのスピードを設定するための本発明の実施形態を実施するために、任意のタイプのプロセッサが利用され得る。
この例の説明を続けると、暗号プロセッサ220は、計算量の多い情報の符号化および復号を、鍵を使用することによって実施し得る。暗号プロセッサ220は、CPU(または他のプロセッサ)の代わりに計算量の多い情報の符号化および復号を拡張言語に基づいて実施するコプロセッサとすることもでき、あるいは情報の符号化および復号のために専用ソフトウェアドライバによって実行される別個のハードウェア(たとえばアクセラレータプロセッサ)である、暗号エンジンとすることもできる。この例では、暗号プロセッサ220は暗号エンジンであり、以下に説明する例は、暗号エンジンによる実装の文脈におけるものである。しかしながら、当業者には明らかなはずであるように、これらの実装形態と同じものが、コプロセッサによって同様に実施され得る。この実装形態例では、データを暗号化および解読するための鍵を制御する様々な実行環境鍵オーナ(EE1〜EEN)202、204、206が、様々な実行環境データオーナ(EE1〜EEN)210、212、214と協調して動作する。鍵を利用する実行環境は、コンピューティングデバイスが入力および出力するデータをセキュアに通信し得る。具体的には、データは、暗号プロセッサ220の鍵テーブル224内に記憶された鍵によって暗号化および解読され得る。一例として、EEデータオーナ(210、212、214)に割り当てられる、鍵テーブル224からの鍵は、ペンディングコマンド(たとえば暗号化または解読)を実施するために、それらのそれぞれのコマンドチャネルに送信され得る。それに加えて、または代替手段として、鍵テーブル内に記憶されている鍵は、データの暗号化または解読で使用するための暗号ライブラリ239に送信されてもよい。いずれにしても、暗号プロセッサ220によって実施される、EEデータオーナ(210、212、214)からコマンドチャネル(230、232、234)を経由する、データを暗号化または解読するコマンドは、暗号化または解読されたデータが、SMMU133を介して入力ドメイン240または出力ドメイン250に供給され得るように実施される。
後により詳細に説明するように、一実施形態では、暗号プロセッサ220のスケジューラ236が、複数の異なる実行環境(たとえばEEデータオーナ210、212、214)からの、要求される帯域幅(BW要求)に対する複数の票を受け取ることと、スケジューラ236のクロック投票ブロック237において、要求される帯域幅を合計することと、たとえばクロック票238と呼ばれる、要求される帯域幅の和に基づいて、クロック241のスピード(たとえばクロックスピード)を設定することとを行うように構成される。これに基づいて、EEデータオーナ(210、212、214)からの暗号化/解読コマンドが、スピードの総和で実施される。たとえば、EEデータオーナ(210、212、214)からの、[たとえば100MHz、100MHz、および200MHzの]3つのEE帯域幅要求票がある場合、スケジューラ236は、クロック241のスピードを400MHz(すなわち総和)になるようにスケジューリングする。このようにして、すべてのEEデータオーナ(210、212、214)の平均性能が、管理されていない事象の同時発生により変わらずに済む。クロック投票ブロック237において、要求される帯域幅要求を合計することは、利用され得るタイプの機能の一例にすぎないこと、およびクロック241を適宜調整するために利用されるものである、すべてのユーザによって要求される活動のデマンドを考慮に入れる任意のタイプの機能が利用され得ることを理解されたい。
一実装形態例として、入力ドメイン240は、オーディオデータ242、ハイレベルオペレーティングシステムデータ(HLOS)244、およびビデオデータ246を含み、一方、同様に、出力ドメイン250の例としては、オーディオデータ252、ハイレベルオペレーティングシステムデータ(HLOS)254、およびビデオデータ256がある。これらは、単なるドメインの例であり、多くの異なるタイプのドメイン(たとえばエンタープライズ、モデムなど)が利用され得ることを理解されたい。さらに、多くの異なるタイプの実行環境が利用され得、先に説明したものは例にすぎない。1つの具体的な例において、実行環境1は、ビデオデータ用とすることができ、EE1鍵オーナ202およびEE1データオーナ1 210を含み得る。データオーナ210の入力ビデオデータ246は、出力ドメイン250内に表示され得るように、暗号プロセッサ220によって、鍵テーブル224内のEE1鍵オーナに関連付けられた鍵を用いて解読される必要がある場合がある。この例の説明を続けると、ビデオ実行環境(たとえばEE1鍵オーナ202およびEE1データオーナ210)は、暗号化されたビデオデータ246が暗号プロセッサ220によって、鍵テーブル224のビデオ実行環境に対して関連付けられた鍵を用いて解読されるように要求し得、それにより、ビデオデータ256が、表示できるように出力ドメイン250に出力され得る。コマンドチャネル1 230は、鍵テーブル224および/または暗号ライブラリ239の鍵とともに実施される解読コマンドを含み得る。
その上、暗号プロセッサ220のスケジューラ236が、複数の異なる実行環境(たとえばEEデータオーナ210、212、214)からの、要求される帯域幅(BW要求)に対する複数の票を受け取り(たとえば[100MHz、100MHz、および200MHz])、クロック投票ブロック237において、要求される帯域幅を合計し、たとえばクロック票238と呼ばれる、要求される帯域幅の和(たとえば400MHz)に基づいて、クロック241のスピード(たとえばクロックスピード)を設定するために利用され得る。これに基づいて、EEデータオーナ(210、212、214)からの暗号化/解読コマンドが、スピードの総和で実施される。したがって、例として、ビデオ実行環境(たとえばEE1鍵オーナ202およびEE1データオーナ210)は、暗号化されたビデオデータ246が暗号プロセッサ220によって400MHzのクロックレートで解読され得、それにより、ビデオデータ256が、表示できるように出力ドメイン250に出力され得、一方、残りの実行環境(たとえばEE2鍵オーナ204/EE2データオーナ212(たとえばオーディオ)も同じ様に、またEEN鍵オーナ206/EENデータオーナ214(たとえばHLOS))も同じ様に、暗号化されたデータが暗号プロセッサ220によって400MHzのクロックレートで解読され得、それにより、関係するデータが出力ドメイン250に出力され得る。
これは、(データを暗号化または解読するために使用され得る)暗号プロセッサの動作の一例にすぎないこと、および多くの異なるタイプの実行環境、データタイプ、ドメインタイプなどが、暗号プロセッサまたは任意のタイプのプロセッサとともに利用され得ることを理解されたい。さらに、クロックのスピードを設定するための暗号プロセッサの使用は、クロックのスピードを設定するために利用され得るプロセッサ220の単なる一例であり、クロックのスピードを設定するための本発明の実施形態を実施するために、任意のタイプのプロセッサが利用され得ることを理解されたい。
さらに図3を参照して、スケジューラ236のクロック投票ブロック237の一例について説明する。初めに、一実施形態では、スケジューラ236が任意の公平共有(fair-sharing)アルゴリズムを使用して動作し得ることを理解されたい。そのような一例が、ラウンドロビン方式であり、ラウンドロビン方式では、各EEデータオーナ(たとえば210、212、214)のコマンドチャネル(たとえば230、232、234)からの各コマンドについて、スケジューラが、サービス中の現在のコマンドを中断し、次いで次のコマンドをサービスする。たとえば、現在のコマンドについてクォータ(quota)に達した後(たとえば32KB)、任意のペンディングコマンドが設定されている場合に、次のペンディングコマンドがサービスされる。このようにして、どのコマンドチャネルもみな、プロセッサの性能の100%〜1/Nを、ここで、Nはペンディング状態にあるポート/コマンドチャネルの数である。このようにして、スタベーションが防止され、コマンドチャネルに対する公平性がもたらされる。図3に示すように、スケジューラのクロック投票ブロック237は、複数の異なる実行環境データオーナ(たとえば210、212、および214)からの、複数の帯域幅要求(たとえば帯域幅要求1〜N 310、312、および314)を受け取り、加算関数320を利用することによって、要求される帯域幅要求を合計して、総帯域幅要求[たとえばTOTAL_BW_REQ=Σ(BW_REQi)]を算出し得る。
さらに、一実施形態では、クロックはレベル化されたスピード330を含み得、それにより、スケジューラ236のクロック投票ブロック237は、帯域幅要求の和(TOTAL_BW_REQ332)に基づいて、その次に最も高いレベル化されたスピードを選択することを行うように構成される。一例として、図3に示すように、帯域幅は、ある特定のレベル(たとえばレベル0-0MHz、レベル1-200MHz、レベル2-400MHz、レベル3-600MHzなど)に予め定められ得る。この例では、100MHz、100MHz、および150MHzをそれぞれ求める、帯域幅要求の3つのEEデータオーナ票がある場合、クロック投票ブロック237は、総帯域幅要求332を350MHzとして算出し、帯域幅のその次に最も高いレベル340、すなわちレベル2-400MHzを選択する。したがって、クロック241のスピードとしての、その次に最も高いレベル化されたスピードが選択される(たとえば400MHz)。実施形態、スケジューラ236は、ハードウェアまたはソフトウェアの形で実装され得ることを理解されたい。また、クロック投票ブロック237において、要求される帯域幅要求を合計することは、利用され得るタイプの機能の一例にすぎないこと、およびクロック241を適宜調整するために利用されるものである、すべてのユーザによって要求される活動のデマンドを考慮に入れる任意のタイプの機能が利用され得ることも、やはり理解されたい。
さらに図4を参照して、EEデータオーナからの、一般化されたクロックスピードとしての要求される帯域幅を利用する、スケジューラ236の一例について説明する。本実施形態では、各EEデータオーナ(たとえば210、212、214)が、帯域幅要求または票を、それらのそれぞれのコマンドチャネル(たとえば230、232、234)を通じて、一般化されたクロックスピード(たとえば低、中間、または高)として、スケジューラ236に送信する。スケジューラ236は、受け取った要求される一般化されたクロックスピード(たとえば低、中間、または高)に基づいて、(たとえばクロック票としての役割を果たす)その次に最も高いレベルの一般化されたクロックスピードをクロック241として選択し得る。したがって、スケジューラ236は、受け取った要求される一般化されたクロックスピード(たとえば低、中間、または高)に基づいて、合わせた票からその次のレベルのクロックスピードを選択し得る。図4の表400は、様々な例を示す。一例として、EE1 410=低、EE2 412=低、およびEE3 414=低である場合、スケジューラ236は、クロック241のスピードとしてのクロックレート416のクロック票を、中間に設定されるように設定する。別の例として、EE1 410=低、EE2 412=低、およびEE3 414=中間である場合、スケジューラ236は、クロック241のスピードとしてのクロックレート416のクロック票を、高に設定されるように設定する。さらに別の例では、EE1 410=低、EE2 412=中間、EE3 414=高である場合、スケジューラ236は、クロック241のスピードとしてのクロックレート416のクロック票を、高に設定されるように設定する。
先に説明したように、クロックのスピード(たとえばクロックスピード)を設定するためのスケジューラ236の先に説明した機能を実施するプロセッサ220は、符号化および復号を実施するための暗号プロセッサとすることもでき、あるいはスケジューラ236によって設定されたクロックのスピードでプロセッサの機能を実施する、他の任意のタイプのプロセッサとすることもできる。したがって、任意のタイプのプロセッサのスケジューラ236が、複数の異なる実行環境(たとえばEEデータオーナ210、212、214)からの、要求される帯域幅(BW要求)に対する複数の票を受け取ることと、スケジューラ236のクロック投票ブロック237において、要求される帯域幅を合計することと、たとえばクロック票238と呼ばれる、要求される帯域幅の和に基づいて、クロック241のスピードを設定することとを行うように構成され得る。これに基づいて、任意のタイプのプロセッサについて、先に詳細に説明したように、EEデータオーナ(210、212、214)からの任意のタイプのコマンドが、スピードの総和で実施され得る。
さらに図5を参照すると、図5は、本発明の一実施形態による、クロックのスピードを設定するための方法プロセス500の一例を示す流れ図である。ブロック502において、複数の異なる実行環境からの、要求される帯域幅(BW要求)の複数の票が受け取られる。次に、ブロック504において、要求される帯域幅が合計される。ブロック506において、要求される帯域幅の和に基づいて、クロックスピードが設定される。これに基づいて、任意のタイプのプロセッサについて、先に詳細に説明したように、任意のタイプのEEデータオーナからの任意のタイプのコマンドが、スピードの総和で実施され得る。
先に説明した本発明の態様は、先に説明したように、デバイス(たとえばコンピューティングデバイス100)のプロセッサ220(たとえば汎用プロセッサ、暗号プロセッサ、または任意のタイプのプロセッサ)による命令の実行に関連して実施され得ることを理解されたい。具体的には、限定はしないがプロセッサを含む、デバイスの回路が、本発明の実施形態による方法またはプロセス(たとえば、図3〜図5のプロセスおよび機能)を実行するために、プログラム、ルーチンの制御下、または命令の実行下で動作し得る。たとえば、そのようなプログラムは、(たとえば、メモリおよび/または他のロケーションに記憶される)ファームウェアまたはソフトウェアの形で実装され得、デバイスのプロセッサおよび/または他の回路によって実施され得る。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどという用語は、論理、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することの可能な、任意のタイプの論理または回路を指すことを理解されたい。
デバイスがモバイルデバイスまたはワイヤレスデバイスであるとき、それらは、任意の適切なワイヤレス通信技術に基づく、またはその他の方法で任意の適切なワイヤレス通信技術をサポートする1つまたは複数のワイヤレス通信リンクを介し、ワイヤレスネットワークを通じて通信し得ることを理解されたい。たとえば、いくつかの態様では、ワイヤレスデバイスおよび他のデバイスは、ワイヤレスネットワークを含むネットワークと関連し得る。いくつかの態様では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば超広帯域ネットワーク)を備え得る。いくつかの態様では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを備え得る。ワイヤレスデバイスは、たとえば3G、LTE、Advanced LTE、4G、CDMA、TDMA、OFDM、OFDMA、WiMAXおよびWiFiなどの、多様なワイヤレス通信技術、プロトコル、または標準規格のうちの1つまたは複数を、サポートしてもよく、その他の方法で使用してもよい。同様に、ワイヤレスデバイスは、多様な対応する変調方式または多重化方式のうちの1つまたは複数を、サポートしてもよく、その他の方法で使用してもよい。したがって、ワイヤレスデバイスは、上記のまたは他のワイヤレス通信技術を使用して、1つまたは複数のワイヤレス通信リンクを確立し、その通信リンクを介して通信するのに適した、構成要素(たとえばエアインターフェース)を含み得る。たとえば、デバイスは、ワイヤレス媒体を経由した通信を容易にする様々な構成要素(たとえば、信号発生器および信号プロセッサ)を含み得る、関連するトランスミッタ構成要素およびレシーバ構成要素(たとえば、トランスミッタおよびレシーバ)を有するワイヤレストランシーバを備え得る。よく知られているように、したがってモバイルワイヤレスデバイスは、他のモバイルデバイス、セル式電話、他の有線コンピュータおよびワイヤレスコンピュータ、インターネットウェブサイトなどと、ワイヤレスで通信し得る。
本明細書における教示は、多様な装置(たとえばデバイス)に組み込まれ(たとえば、それらの装置内に実装され、またはそれらの装置によって実施され)得る。たとえば、本明細書において教示した1つまたは複数の態様は、電話(たとえば、セルラー電話)、携帯情報端末(「PDA」)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤピースなど)、医療デバイス(たとえば、生体センサ、心拍数モニタ、歩数計、EKGデバイスなど)、ユーザI/Oデバイス、コンピュータ、有線コンピュータ、固定コンピュータ、デスクトップコンピュータ、サーバ、店頭デバイス、セットトップボックス、または他の任意の適切なデバイスに組み込まれ得る。これらのデバイスは、異なる電力要件およびデータ要件を有する場合がある。
いくつかの態様では、ワイヤレスデバイスは、通信システム用のアクセスデバイス(たとえばWi-Fiアクセスポイント)を備え得る。そのようなアクセスデバイスは、たとえば、有線通信リンクまたはワイヤレス通信リンクを介した、別のネットワーク(たとえば、インターネットやセルラーネットワークなどのワイドエリアネットワーク)への接続性を提供し得る。したがって、アクセスデバイスは、別のデバイス(たとえばWiFiステーション)が他のネットワークまたは何らかの他の機能にアクセスできるようにし得る。
情報および信号は、多様な異なる技術および技法のいずれかを使用して表され得ることを、当業者なら理解されよう。たとえば、上記の説明全体を通して参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
本明細書において開示した実施形態に関連して説明した、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者ならさらに理解するであろう。ハードウェアとソフトウェアのこの交換可能性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについては上で、それらの機能の観点から一般に説明してきた。そのような機能が、ハードウェアとして実装されるか、それともソフトウェアとして実装されるかは、具体的な適用例およびシステム全体に課せられる設計制約によって決まる。当業者なら、説明した機能を、具体的な適用例ごとに様々な形で実装し得るが、そのような実装形態の決定は、本発明の範囲からの逸脱を生じさせるものと解釈すべきではない。
本明細書において開示した実施形態に関連して説明した、様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲート論理回路もしくはトランジスタ論理回路、個別のハードウェア構成要素、または本明細書において説明した機能を実施するように設計されたそれらの任意の組合せを用いて、実装されてもよく、実施されてもよい。汎用プロセッサは、マイクロプロセッサとすることができるが、代替手段として、プロセッサは、任意の従来型のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンとすることもできる。プロセッサはまた、コンピューティングデバイスの組合せ、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、1つまたは複数のマイクロプロセッサとDSPコアとの併用、あるいは他の任意のそのような構成として、実装され得る。
本明細書において開示した実施形態に関連して説明した、方法またはアルゴリズムのステップは、直接ハードウェアの形で、プロセッサによって実行されるソフトウェアモジュールの形で、またはその2つの組合せの形で、具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られる他の任意の形態の記憶媒体内に存在し得る。例示的な記憶媒体がプロセッサに、プロセッサが記憶媒体から情報を読み取り、またそこに情報を書き込み得るように結合される。代替手段として、記憶媒体は、プロセッサと一体をなしてもよい。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、ユーザ端末内に存在し得る。代替手段として、プロセッサおよび記憶媒体は、ユーザ端末内に個別の構成要素として存在してもよい。
1つまたは複数の例示的な実施形態では、説明した機能が、ハードウェアの形、ソフトウェアの形、ファームウェアの形、またはそれらの任意の組合せの形で実装され得る。機能は、コンピュータプログラムプロダクトとしてのソフトウェアの形で実装される場合、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されてもよく、コンピュータ可読媒体を経由して送信されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の入手可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態をとる所望のプログラムコードを保持もしくは記憶するために使用され得、かつコンピュータによってアクセスされ得る、他の任意の媒体を備え得る。また、どんな接続も、厳密にはコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、マイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ディスク(disk)およびディスク(disc)は、本明細書では、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ただし、ディスク(disk)は通常、データを磁気的に再生し、一方ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
開示した実施形態についての先の説明は、どんな当業者でも本発明を作製または使用できるようにするために提供されている。これらの実施形態に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書において規定される一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書において示した実施形態に限定されるものではなく、本明細書において開示した原理および新規な特徴に一致する最も広い範囲を与えられるべきである。
100 コンピューティングデバイス
105 バス
110 プロセッサ
115 入力デバイス
120 出力デバイス
121 ディスプレイデバイス
125 記憶デバイス
130 通信サブシステム
133 SMMU
135 ワーキングメモリ
140 オペレーティングシステム
145 アプリケーション
200 コンピューティング環境
202 実行環境鍵オーナ、EE1鍵オーナ
204 実行環境鍵オーナ、EE2鍵オーナ
206 実行環境鍵オーナ、EEN鍵オーナ
210 EEデータオーナ、EE1データオーナ、実行環境データオーナ
212 EEデータオーナ、EE2データオーナ、実行環境データオーナ
214 EEデータオーナ、EENデータオーナ、実行環境データオーナ
220 プロセッサ、暗号プロセッサ
224 鍵テーブル
230 コマンドチャネル
232 コマンドチャネル
234 コマンドチャネル
236 スケジューラ
237 クロック投票ブロック
238 クロック票
239 暗号ライブラリ
240 入力ドメイン
241 クロック
242 オーディオデータ
244 ハイレベルオペレーティングシステムデータ(HLOS)
246 ビデオデータ
250 出力ドメイン
252 オーディオデータ
254 ハイレベルオペレーティングシステムデータ(HLOS)
256 ビデオデータ
310 帯域幅要求1
312 帯域幅要求2
314 帯域幅要求N
320 加算関数
330 レベル化されたスピード
332 TOTAL_BW_REQ、総帯域幅要求
400 表
410 EE1
412 EE2
414 EE3
416 クロックレート
500 方法プロセス

Claims (25)

  1. クロックスピードを設定するための方法であって、
    複数の異なる実行環境からの、要求される帯域幅に対する複数の票を受け取るステップと、
    前記要求される帯域幅を合計するステップと、
    前記要求される帯域幅の和に基づいて、前記クロックスピードを設定するステップと
    を含む、方法。
  2. クロックがレベル化されたスピードを含む、請求項1に記載の方法。
  3. 前記クロックがレベル化されたスピードを含む場合、前記要求される帯域幅の前記和に基づいて、その次に最も高いレベル化されたスピードを前記クロックスピードとして選択するステップをさらに含む、請求項2に記載の方法。
  4. 前記要求される帯域幅の各々が、一般化されたクロックスピードとしてのものである、請求項1に記載の方法。
  5. 前記一般化されたクロックスピードが、低、中間、または高のうちの少なくとも1つのレベルを含む、請求項4に記載の方法。
  6. 前記要求される一般化されたクロックスピードに基づいて、その次に最も高いレベルの一般化されたクロックスピードをクロックのスピードとして選択するステップをさらに含む、請求項5に記載の方法。
  7. プロセッサによって実行されると、前記プロセッサに、
    複数の異なる実行環境からの、要求される帯域幅に対する複数の票を受け取ることと、
    前記要求される帯域幅を合計することと、
    前記要求される帯域幅の和に基づいて、クロックスピードを設定することと
    を行わせるコードを含む、非一時的なコンピュータ可読記憶媒体。
  8. クロックがレベル化されたスピードを含む、請求項7に記載のコンピュータ可読記憶媒体。
  9. 前記クロックがレベル化されたスピードを含む場合、前記要求される帯域幅の前記和に基づいて、その次に最も高いレベル化されたスピードを前記クロックスピードとして選択するためのコードをさらに備える、請求項8に記載のコンピュータ可読記憶媒体。
  10. 前記要求される帯域幅の各々が、一般化されたクロックスピードとしてのものである、請求項7に記載のコンピュータ可読記憶媒体。
  11. 前記一般化されたクロックスピードが、低、中間、または高のうちの少なくとも1つのレベルを含む、請求項10に記載のコンピュータ可読記憶媒体。
  12. 前記要求される一般化されたクロックスピードに基づいて、その次に最も高いレベルの一般化されたクロックスピードをクロックのスピードとして選択するためのコードをさらに備える、請求項11に記載のコンピュータ可読記憶媒体。
  13. プロセッサと、
    前記プロセッサのスケジューラであって、
    複数の異なる実行環境からの、要求される帯域幅に対する複数の票を受け取ることと、
    前記要求される帯域幅を合計することと、
    前記要求される帯域幅の和に基づいて、クロックスピードを設定することと
    を行うように構成されるスケジューラと
    を備える、コンピューティングデバイス。
  14. クロックがレベル化されたスピードを含む、請求項13に記載のコンピューティングデバイス。
  15. 前記クロックがレベル化されたスピードを含む場合、前記スケジューラが、前記要求される帯域幅の前記和に基づいて、その次に最も高いレベル化されたスピードを前記クロックスピードとして選択することを行うように構成される、請求項14に記載のコンピューティングデバイス。
  16. 前記要求される帯域幅の各々が、一般化されたクロックスピードとしてのものである、請求項13に記載のコンピューティングデバイス。
  17. 前記一般化されたクロックスピードが、低、中間、または高のうちの少なくとも1つのレベルを含む、請求項16に記載のコンピューティングデバイス。
  18. 前記スケジューラが、前記要求される一般化されたクロックスピードに基づいて、その次に最も高いレベルの一般化されたクロックスピードをクロックのスピードとして選択することを行うように構成される、請求項17に記載のコンピューティングデバイス。
  19. 複数の異なる実行環境からの、要求される帯域幅に対する複数の票を受け取るための手段と、
    前記要求される帯域幅を合計するための手段と、
    前記要求される帯域幅の和に基づいて、クロックスピードを設定するための手段と
    を備える、コンピューティングデバイス。
  20. クロックがレベル化されたスピードを含む、請求項19に記載のコンピューティングデバイス。
  21. 前記クロックがレベル化されたスピードを含む場合、前記要求される帯域幅の前記和に基づいて、その次に最も高いレベル化されたスピードを前記クロックスピードとして選択するための手段をさらに備える、請求項20に記載のコンピューティングデバイス。
  22. 前記要求される帯域幅の各々が、一般化されたクロックスピードとしてのものである、請求項19に記載のコンピューティングデバイス。
  23. 前記一般化されたクロックスピードが、低、中間、または高のうちの少なくとも1つのレベルを含む、請求項22に記載のコンピューティングデバイス。
  24. 前記要求される一般化されたクロックスピードに基づいて、その次に最も高いレベルの一般化されたクロックスピードをクロックのスピードとして選択するための手段をさらに備える、請求項23に記載のコンピューティングデバイス。
  25. 前記実行環境の各々がデータオーナである、請求項19に記載のコンピューティングデバイス。
JP2016559413A 2014-04-03 2015-03-27 クロックのスピードを設定するための装置および方法 Active JP6194430B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/244,626 2014-04-03
US14/244,626 US9547331B2 (en) 2014-04-03 2014-04-03 Apparatus and method to set the speed of a clock
PCT/US2015/023123 WO2015153372A1 (en) 2014-04-03 2015-03-27 Apparatus and method to set the speed of a clock

Publications (2)

Publication Number Publication Date
JP2017515211A true JP2017515211A (ja) 2017-06-08
JP6194430B2 JP6194430B2 (ja) 2017-09-06

Family

ID=52823875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016559413A Active JP6194430B2 (ja) 2014-04-03 2015-03-27 クロックのスピードを設定するための装置および方法

Country Status (6)

Country Link
US (1) US9547331B2 (ja)
EP (1) EP3126930A1 (ja)
JP (1) JP6194430B2 (ja)
KR (1) KR101835872B1 (ja)
CN (1) CN106104413B (ja)
WO (1) WO2015153372A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256275B2 (en) * 2010-09-01 2016-02-09 Apple Inc. Media playback power management devices and methods
US9778871B1 (en) * 2016-03-27 2017-10-03 Qualcomm Incorporated Power-reducing memory subsystem having a system cache and local resource management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080028249A1 (en) * 2006-03-31 2008-01-31 Agrawal Parag V System and method for adaptive frequency scaling
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
US8539132B2 (en) * 2011-05-16 2013-09-17 Qualcomm Innovation Center, Inc. Method and system for dynamically managing a bus of a portable computing device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901491B2 (en) 2001-10-22 2005-05-31 Sun Microsystems, Inc. Method and apparatus for integration of communication links with a remote direct memory access protocol
WO2004034325A1 (en) * 2002-10-09 2004-04-22 Koninklijke Philips Electronics N.V. Localisation of image tampering
JP4033066B2 (ja) * 2003-05-07 2008-01-16 ソニー株式会社 周波数制御装置、情報処理装置、周波数制御方法及びプログラム
US7640446B1 (en) 2003-09-29 2009-12-29 Marvell International Ltd. System-on-chip power reduction through dynamic clock frequency
US7330988B2 (en) 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7721127B2 (en) 2006-03-28 2010-05-18 Mips Technologies, Inc. Multithreaded dynamic voltage-frequency scaling microprocessor
US7886131B1 (en) 2006-08-14 2011-02-08 Marvell International Ltd. Multithread processor with thread based throttling
US20080147357A1 (en) 2006-12-15 2008-06-19 Iintrinisyc Software International System and method of assessing performance of a processor
US8255721B2 (en) 2008-06-19 2012-08-28 Intel Corporation Seamless frequency sequestering
KR101622195B1 (ko) 2009-11-05 2016-05-18 삼성전자주식회사 동적 버스 클럭을 제어하기 위한 장치 및 방법
US8250395B2 (en) 2009-11-12 2012-08-21 International Business Machines Corporation Dynamic voltage and frequency scaling (DVFS) control for simultaneous multi-threading (SMT) processors
US8782653B2 (en) 2010-03-26 2014-07-15 Virtualmetrix, Inc. Fine grain performance resource management of computer systems
US8862918B2 (en) 2011-07-01 2014-10-14 Intel Corporation Efficient frequency boost operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080028249A1 (en) * 2006-03-31 2008-01-31 Agrawal Parag V System and method for adaptive frequency scaling
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
US8539132B2 (en) * 2011-05-16 2013-09-17 Qualcomm Innovation Center, Inc. Method and system for dynamically managing a bus of a portable computing device

Also Published As

Publication number Publication date
US9547331B2 (en) 2017-01-17
CN106104413A (zh) 2016-11-09
CN106104413B (zh) 2018-05-04
KR20160140696A (ko) 2016-12-07
WO2015153372A1 (en) 2015-10-08
EP3126930A1 (en) 2017-02-08
KR101835872B1 (ko) 2018-03-07
JP6194430B2 (ja) 2017-09-06
US20150286242A1 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
KR101465966B1 (ko) 클라우드 환경에서의 데이터 암호화 처리 장치 및 방법
US20130322648A1 (en) Multi-stream-multipoint-jack audio streaming
US20180309749A1 (en) Retrieval of data across multiple partitions of a storage device using digital signatures
US10531286B2 (en) Methods and systems for auto-completion of anonymized strings
EP2897366A1 (en) Techniques for secure provisioning of a digital content protection scheme
WO2014037845A1 (en) Method and apparatus for delivering encrypted content to web browsers based on entropy of the content
JP6194430B2 (ja) クロックのスピードを設定するための装置および方法
JP6440721B2 (ja) コンピューティングデバイスによるアプリケーションの使用の認証
CN108985109A (zh) 一种数据存储方法及装置
US9779262B2 (en) Apparatus and method to decrypt file segments in parallel
US11838399B2 (en) Anonymous aggregation service for sensitive data
US11722295B2 (en) Methods, apparatus, and articles of manufacture to securely audit communications
EP3155821B1 (en) Video content tracking
CN108111501B (zh) 作弊流量的控制方法、装置和计算机设备
US9342331B2 (en) Secure virtualized mobile cellular device
US20110264760A1 (en) Method and apparatus providing for output of a content package by an application based at least in part on a content type selection and one or more contextual characteristics
CN110851754A (zh) 网页访问方法及系统、计算机系统和计算机可读存储介质
US20240054529A1 (en) Incentive-Based Advertising for a Unique Verified Individual
US9607178B2 (en) Protection against key tampering
US20230322185A1 (en) Group Sharing of a Secure Digital Car Key
CN104468573B (zh) 一种可信云终端装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170302

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170302

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170814

R150 Certificate of patent or registration of utility model

Ref document number: 6194430

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