JP2009545048A - マスタおよびスレーブを有するデータ処理デバイスにおける電力管理 - Google Patents

マスタおよびスレーブを有するデータ処理デバイスにおける電力管理 Download PDF

Info

Publication number
JP2009545048A
JP2009545048A JP2009521321A JP2009521321A JP2009545048A JP 2009545048 A JP2009545048 A JP 2009545048A JP 2009521321 A JP2009521321 A JP 2009521321A JP 2009521321 A JP2009521321 A JP 2009521321A JP 2009545048 A JP2009545048 A JP 2009545048A
Authority
JP
Japan
Prior art keywords
slave
units
master
transaction
power
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
JP2009521321A
Other languages
English (en)
Other versions
JP4837780B2 (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 JP2009545048A publication Critical patent/JP2009545048A/ja
Application granted granted Critical
Publication of JP4837780B2 publication Critical patent/JP4837780B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

インターコネクト(14)によって接続された、マスタユニット(8、10)およびスレーブユニット(6、18、20)を含む、集積回路などのデバイス(2)について記載する。トランザクションと共に渡される、通常のデータ信号(22)およびアドレス信号(24)の他に、次のトランザクションがスレーブユニットに送られるまでの時間間隔を指定する使用信号(26)も渡される。ローカルスレーブ電力コントローラ(34)は、このような使用信号(26)に応答して、低電力モードに切り換え、かつ受け取るべき次のトランザクションに応答するのに間に合うように、プリエンプティブに動作モードに戻るように切り換える。

Description

本発明は、データ処理デバイスの分野に関するものである。より詳細には、本発明は、そのようなデバイス内の電力消費の管理に関するものである。
システムオンチップ集積回路ならびに、携帯電話およびコンピュータなどのデバイスにおける電力消費は、主要な重要事項である。非携帯型のデバイスにおいても電力損失を低減することは、それによってコストが低減され、冷却、パッケージング、および電源の設計が簡単になり、信頼性が向上するので重要である。
知られている電力管理方式は、2つの主なグループに分けられる。第1のおよび最も一般的な種類は、たとえばある期間の非活動状態の後にディスプレイをターンオフする、またはCPUクロックを低下させる、アイドルタイムアウトなどの、発見的電力管理方法である。第2の種類は、確率論的またはマルコフモデルを用いて、たとえばいつデバイスが用いられなくなるかの予測を試み、一時停止させる方式である。このタイプの方式は、オペレーティングシステムレベルで制御されるアダプティブな周波数および電圧スケーリングを含む。
知られている電力管理方式の概説は、Luca Beniniらによる「A Survey of Design Techniques For System Level Dynamic Power Management」、IEEE Transactions On Very Large Scale Integration (VLSI) Systems, Volume 8, No. 3, 2002年6月において見ることができる。
Luca Beniniら「A Survey of Design Techniques For System Level Dynamic Power Management」、IEEE Transactions On Very Large Scale Integration (VLSI) Systems, Volume 8, No. 3, 2002年6月
上記すべての方式に伴う問題は、ある程度の、電力と遅延のトレードオフを生じる傾向があることであり、すなわちこれらは電力は節約するが、待ち時間が増加する。多くの処理ユニットおよび周辺装置を含むシステムオンチップシステムの電力の管理は特に難しい。たとえば、メモリなどの共有される周辺装置は、特定の時間間隔で特定のプロセッサによって用いられ得るが、その間隔の間に別のプロセッサによって低い待ち時間にて必要とされ得る。AMBA 3 AXI電力管理チャネル、およびIEEE 802.11無線プロトコルなどの知られている方式は、このようなシステム電力の問題を解決するのに、単一の電力管理回路に依存している。これらの集中型の方式は、より大きなシステムに対しては良好にスケーリングすることができない。主要通信バスとは別に経路指定をされる電力管理信号伝達を統合することも追加のオーバヘッドとなり、困難さを生ずる。
一態様から見ると、本発明は、データを処理するためのデバイスであって、
1つまたは複数のマスタユニットと、
1つまたは複数のスレーブユニットと、
前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトと
を備え、前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られるトランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含み、
前記1つまたは複数のスレーブユニットの前記少なくとも1つは、前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第2のスレーブ電力状態に切り換えるように、前記1つまたは複数の使用信号に応答するローカルスレーブ電力コントローラを有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より低い電力消費を有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より長い応答待ち時間を有するデバイスを提供する。
本技術は、マイクロアーキテクチャレベルで信号が送られるまでデバイスが非活動状態となる期間を、ほぼ正確に示すことを可能にすることにより、電力と遅延のトレードオフを軽減して電力を管理しようとするものである。これにより、複雑であり不正確な、発見的および/または予測モデルが不要となる。本技術は、電力管理を個々のスレーブおよびマスタに委譲する。これは付随する複雑な中央電力コントローラが必要ないので、容易にスケーリング可能である。
好ましい実施形態では、より一般的には使用信号はそれら自体の分離された経路指定/バスを有することができるが、実装およびスケーラビリティを容易にするために、電力管理信号は他の通信信号と共に経路指定することができる。配線経路は、共に経路指定された様々な信号と組み合わせられたバス、またはそれら自体の経路指定を有するいくつかの別々のバスとすることができる。電力管理信号伝達を標準の通信の一部として組み込むことで、スケーラビリティの助けとなる。
使用信号は、開始されたトランザクションとそのトランザクションの目標の間の、様々なポイントにて、発生または変更(調停)することができる。使用信号の1つの重要な供給源は、トランザクションを発行するマスタユニットであり、なぜならマスタユニットは、次にそのスレーブにトランザクションを発行するのがいつであったかを正確に識別し、それに従ってトランザクションと共に適切な使用信号を組み込むことができる可能性が高いからである。使用信号を挿入または変更するもう1つの適切なポイントは、インターコネクトのレベルにおけるものであり、インターコネクトは全体としてのデバイスの状態に関する情報を有している可能性が高く、たとえば、インターコネクト内で行われる調停の決定により、そのトランザクションを開始したマスタによって示されるものよりも長い期間、所与のスレーブの使用が繰り返されることは起こりそうもないと判定することが可能となり得る。
好ましい実施形態ではインターコネクトは、複数のマスタユニットからそれぞれのトランザクションと共に受け取った使用信号に対して調停し、目標のスレーブデバイスに渡される調停された使用信号を供給する機能をもたらす。インターコネクトは、どのような使用信号を目標のスレーブデバイスに渡すかを決定するにおいて、スレーブへの前のトランザクション、および前の使用情報、ならびに現在のトランザクションに付随する情報を考慮に入れる立場にある。
スレーブユニットにてもたらされる精巧さのレベルは様々なものが可能であり、有利にはスレーブユニットは、それぞれの電力消費および応答待ち時間をもつ複数の低電力状態を有することになり、通常は電力消費が低いほど待ち時間が大きくなる。スレーブユニットは、次のトランザクションが到達すると予測される前の間隔に応じて、入るべき適切なパワーダウンモードを選ぶことができ、たとえば次のトランザクションまでの間隔が短いときに、入るのに長い時間がかかり、出るのに長い時間がかかる非常に深いパワーダウンモードに入るのは有用でない場合があるが、その短い期間、クロックを停止するだけで一部の電力を節約するのに有用となり得る。
有利には複数のスレーブユニットによって共有されるローカルスレーブ電力コントローラも、次のトランザクションまでの間隔、ならびにスレーブユニットの現在の状態に応じて低電力状態を選択することができ、たとえばスレーブユニットが、次のトランザクションまでの間隔によって示される特定の低電力モードにパワーダウンすることができないことを示す、特定のトランザクションには関係のない他の何らかの活動を処理するなど、関係しているスレーブユニットに関連する他の何らかの状態変数が存在し得る。
上記では、適当なローカルスレーブ電力コントローラを組み込んだ1つだけのスレーブユニットを用いて述べられ、有用であるが、この技術は、複数のスレーブユニットが、使用信号に応答するそれぞれのローカルスレーブ電力コントローラを含むシステムにおいて、容易にスケーリング可能であり有利であることが理解されよう。同様にこの技術は、使用信号を発生するように適切に構成された複数のマスタユニットを組み込んだシステムに良く適している。
好ましい技術によれば、前記1つまたは複数のスレーブユニットの少なくとも1つは、前記1つまたは複数のマスタユニットの1つからトランザクションを受け取るとすぐに、前記1つまたは複数のマスタユニットの前記1つに肯定応答を発行し、前記肯定応答は、前記1つまたは複数のスレーブユニットの前記少なくとも1つが、いつ前記1つまたは複数のマスタユニットの前記1つへの前記トランザクションを完了することになるかを示す1つまたは複数の遅延予測信号を含み、
前記1つまたは複数のマスタユニットの前記1つは、前記トランザクションの完了が予想される前の間隔の間、前記1つまたは複数のマスタユニットの前記1つを第1のマスタ電力状態に切り換え、前記トランザクションの完了に間に合うように、前記1つまたは複数のマスタユニットの前記1つを第2のマスタ電力状態に切り換えるように、前記1つまたは複数の遅延予測信号に応答するローカルマスタ電力コントローラを含み、前記第1のマスタ電力状態は前記第2のマスタ電力状態より低い電力消費を有し、前記第1のマスタ電力状態は前記第2のマスタ電力状態より長い応答待ち時間を有する。
使用信号に従った、スレーブユニットのインテリジェントかつ決定性のパワーダウンは、逆方向にマスタユニットに拡張することができる。スレーブユニットからトランザクションを受け取るとすぐに(場合によっては、使用信号ライン/接続を再使用して)返されるすべての肯定応答信号は、スレーブユニットがそのトランザクションを完了できるまでどれ位かかることになるかを示すことができ、それに従って、たとえばメモリフェッチを処理する待ち時間など、トランザクションの完了を待つ間、マスタユニットがより低い電力モードに入る可能性が生じる。
所与のトランザクションにおいて関係するマスタおよびスレーブの電力モードを制御するために用いられると共に、本技術および使用信号はまた、スレーブとマスタ間の経路上に介在する1つまたは複数の回路を、電力消費低減状態に入るようにトリガするために働くことができる。これは、使用信号によって示されるように決められた期間、休止することが分かっている、インターコネクトの部分を含むことができる。これによってさらに電力を節約することができる。
使用信号は、様々な方法で遅延を表すことができるが、用意する必要がある使用信号の数と、表すことができる遅延の範囲との有用なトレードオフは、対数符号化が利用されるものである。表現できる最低の非ゼロ値は、通信できる任意のスレーブの最低の実効非活動間隔に対応するように選択することができ、これは、可能なパワーダウン間隔としてそのような用い得る最低の間隔より小さいものを通信するのは有用とはなり得ないからである。
次のトランザクションまでの時間が不定であるときは、これを使用信号によって通信することもでき、ローカルスレーブ電力コントローラは、望むなら、それに応答して低電力消費モードに切り換えることができる。次のトランザクションに間に合うように、スレーブユニットがプリエンプティブにパワーアップするのは不可能となるので、このような不定な時間間隔には、ある待ち時間を伴うことが理解されよう。
使用信号の供給源が、どの使用信号をアサートするかを選択する方法は、様々なものが可能である。1つのタイプの実施形態では、使用指定レジスタをマスタユニットと関連付け、そのマスタユニットから生ずるトランザクションに付随してどの使用信号が発生されるべきかを指定する値を用いて、ソフトウェアの制御下で書き込み可能とすることができる。これによって使用信号を指定できる方法に大幅な融通性がもたらされるが、その代償として何らかのソフトウェア介入が必要となる。このような使用値のソフトウェアによるプログラミングは、パワーアップまたはシステム初期化時に行うことができる。
使用信号を指定するための上記のレジスタの使用の代替または追加として、使用信号値はまた、マスタとして働きトランザクションを開始する、プロセッサ上で実行されるプログラム命令内で符号化することができる。したがって各トランザクションは、それに関連付けられたそれ自体の使用信号をもつことができ、この使用信号は、そのプログラムによって開始される次のトランザクションが、いつ起きるかという知識を用いて、コンパイラによって自動的に行われるなどにより、ソフトウェアが書かれた時点で決定されたものである。
さらに別の代替または追加としては、スレッド活動など、システムのパラメータを監視するオペレーティングシステムプログラムが、どのような使用値を指定すべきかを決定し、適当なプログラム命令を用いて、そのような使用値を、スレーブに対して発行されるトランザクションに関連付ける。
次のトランザクションまでの間隔に関する情報を転送するのに加えて、使用信号はまた、ローカルシャットダウン、グローバルシャットダウン、ローカルスリープ、グローバルスリープ、ローカルクロック停止、グローバルクロック停止、ローカルクロック速度指定、グローバルクロック速度指定、低動作電圧モード、低漏洩モード、ウェイクアップおよび/または間隔延長などの電力コマンドを渡すために用いることができる。使用信号は、すでにインターコネクトを通じて経路指定されており、したがってこのような電力コマンドをシステム全体に渡すための便利な手段を提供する。
本技術は、多種多様な形を有するデバイスに適用できることが理解されよう。本技術は、集積回路またはマルチチップモジュール内で用いるのに特に良く適しているが、複数の接続された集積回路を搭載したプリント回路基板に拡張可能であり、たとえば、特に電力を食うスレーブはチップ外のメモリであり、上述の使用信号技術を用いてこれをパワーダウンすることが望ましくなり得る。
インターコネクトは、プロセッサコアとキャッシュメモリの間など、1つのマスタユニットと1つのスレーブユニットの間の、専用の接続を含む多くの形態をとることができるが、本技術は拡張可能であり、特に、たとえば英国ケンブリッジのARM Limitedによって提供されるAXIインターコネクトシステムなどの、より一般的なポイントツーポイント接続をもたらすインターコネクトの環境に適用可能である。
もう1つの態様から見ると、本発明は、1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを用いてデータを処理する方法であって、
前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られるトランザクションを発生する段階であって、前記トランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含む段階と、
前記1つまたは複数の使用信号に応答して、前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第2のスレーブ電力状態に切り換えるために、前記1つまたは複数のスレーブユニットの前記少なくとも1つのローカルスレーブ電力コントローラを用いる段階であって、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より低い電力消費を有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より長い応答待ち時間を有する段階とを含む方法を提供する。
さらなる態様から見ると、本発明は、データを処理するためのデバイスであって、
1つまたは複数のマスタユニット手段と、
1つまたは複数のスレーブユニット手段と、
前記1つまたは複数のマスタユニット手段と前記1つまたは複数のスレーブユニット手段の間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトと
を備え、前記1つまたは複数のスレーブユニット手段の少なくとも1つによって受け取られるトランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニット手段の前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含み、
前記1つまたは複数のスレーブユニット手段の前記少なくとも1つは、前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニット手段の前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニット手段の前記少なくとも1つを第2のスレーブ電力状態に切り換えるように、前記1つまたは複数の使用信号に応答するローカルスレーブ電力コントローラ手段を有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より低い電力消費を有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より長い応答待ち時間を有するデバイスを提供する。
さらなる態様から見ると、本発明は、1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを有するデバイス内で用いるためのスレーブユニットであって、前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られるトランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含み、
前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第2のスレーブ電力状態に切り換えるように、前記1つまたは複数の使用信号に応答し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より低い電力消費を有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より長い応答待ち時間を有するローカルスレーブ電力コントローラを備えるスレーブユニットを提供する。
さらなる態様から見ると、本発明は、1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを有するデバイス内で用いるためのマスタユニットであって、
前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られ、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含むトランザクションを発生するように構成されたトランザクション発生器を備えるマスタユニットを提供する。
さらなる態様から見ると、本発明は、1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを有するデバイス内で用いるためのインターコネクトであって、
前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られ、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含むトランザクションを渡すように構成された信号接続を備えるインターコネクトを提供する。
次に、本発明の実施形態について添付の図面を参照して、例としてのみ説明する。
電力管理技術を利用したデバイスの概略的に示す図である。 マスタとスレーブの間のトランザクションに付随して、インターコネクトを通じて渡される並列信号を概略的に示す図である。 使用信号の符号化の一実施例を概略的に示す図である。 ローカルスレーブ電力コントローラを組み込んだスレーブユニットを概略的に示す図である。 ローカルスレーブ電力コントローラを概略的に示す図である。 ローカルスレーブ電力コントローラの動作を概略的に示す流れ図である。 ローカルマスタ電力コントローラを組み込んだマスタユニットを概略的に示す図である。 ローカルマスタ電力コントローラの動作を概略的に示す流れ図である。 使用信号調停機能を組み込んだインターコネクトを概略的に示す図である。 使用信号調停を概略的に示す流れ図である。
図1は、集積回路4およびスレーブサブシステム6を組み込んだ、プリント回路基板の形のデバイス2を示す。集積回路4は、マルチチップモジュール、システムオンチップ集積回路、または標準の集積回路でよい。集積回路は、マスタユニット8、マスタとしても働くプロセッサコア10、およびプロセッサコア10に結合されたキャッシュメモリ12を組み込んでいる。キャッシュメモリ12は、プロセッサコア10に対するスレーブとして、またインターコネクト14に対するマスタとして働く。プロセッサコア10とキャッシュメモリ12の間には、以下に説明するような本技術による使用信号を渡す、専用のインターコネクト16がある。この例示の実施形態では、インターコネクト14は、ポイントツーポイント接続性、および知られているAXI技術によるこのような接続に対する調停機能を組み込んだAXIインターコネクトの変形である。インターコネクト14は、スレーブ18、20、6の1つなどのスレーブユニットが、いつ次のトランザクションを受け取るかの表示を渡す、本技術による使用信号を設けることにより、この知られている機能を超えて拡張される。スレーブサブシステム6は、インターコネクト14に対してスレーブとして動作するが、関係しているトランザクションに応じて使用されるまたは使用されない、2つ以上の関連する機能要素をそれ自体に有し、さらに信号経路指定を必要とする。スレーブサブシステム6は、何らかのローカルメモリ、および追加として、ローカルメモリが特定のトランザクションを処理できない場合に必要となり得るハードディスク装置などの何らかの高位のメモリを有するメモリシステムであり得る。
図2は、インターコネクト14によって渡されるトランザクションの一部を形成する信号を概略的に示す。これらの信号は、データ信号22、アドレス信号24、および使用信号26を含む。アドレス信号24およびデータ信号22は、知られているAXIシステムおよびプロトコルに従うものとすることができ、これらの知られているシステムプロトコルに従って(別々に、または共に)経路指定し、それらの間で調停することができる。使用信号26は、このトランザクションに追加され、同じ経路指定調停および遅延を受けるように、同じ経路指定に従うことができる。別法として使用信号26は、それら自体の経路指定および調停を有して、別に設けてもよい。使用信号26は、そのマスタから生じて目標のスレーブユニットに渡る次のトランザクションがいつ発生するかが分かった時点で、それを指定する情報を渡す。この情報は、スレーブによって、それ自体を適当なパワーダウンモードにパワーダウンし、不利な待ち時間を生じることなく次のトランザクションを処理するのに間に合うようにプリエンプティブにそれ自体をもとにパワーアップするために用いることができる。
図3は、例示の3ビット使用信号用に用いることができる、符号化の一実施例を概略的に示す。この符号化は、最初と最後の値の他は、すべて対数的である。最初の値は、予測される間隔を指定せず、スレーブはアクティブのままであるべきことを示す。最後の符号化は、不定な間隔を表し、プリエンプティブなパワーアップのないスリープモードを開始するなど、様々な異なる形にスレーブによって解釈することができる。これらの両極端の間では、符号化は、通常のAXIインターコネクト実装の場合の4クロックサイクルなど、サポートされる最小パワーダウン間隔の倍数によって表現される、次のトランザクションまでの間隔を表す。この最小間隔より小さな細分性を用意する必要はない。
図4は、スレーブユニット28を概略的に示す。これは、そのスレーブユニット28によってもたらされる機能に従い、かつAXIトランザクションの場合に予想されるようなほぼ通常の方法で、受け取られるトランザクションを処理するいくつかの機能ブロック30、32を組み込んでいる。さらに、ローカルスレーブ電力コントローラ34が設けられ、これは、使用信号および機能ブロック30から渡される状態情報に応答して、受け取ったトランザクションを処理した後に複数のパワーダウンモードの1つに入るのが適切かどうか、およびどれだけ長くそのパワーダウンモードに入るべきかを判定する。スレーブユニット28がパワーダウンされる場合は、このパワーダウンを開始し、後でプリエンプティブなパワーアップを開始するために、適当なクロック制御信号および/または電圧制御信号が機能ブロック30、32に供給される。ローカルスレーブ電力コントローラ34は、複数のスレーブユニットによって共有されてもよい。
図5は、ローカルスレーブ電力コントローラ34をより詳しく概略的に示す。使用信号は、スレーブユニット28の現在の状態の1つまたは複数の側面を表す状態変数と共に、電力制御論理回路36に供給される。これらの信号は、スレーブユニット28がどのパワーダウンモードに、どれだけの期間置かれるべきかを判定するために用いられる。これに従って、適切なタイマ値がタイマ38にロードされ、次いでタイマ38は、プリエンプティブなウェイクアップが必要となるまでの時間の経過を、(たとえば最小パワーダウン間隔を単位として)カウントダウンし、次いで電力制御論理回路36に渡されるウェイクアップ信号を発生する。適切なパワーダウンモードに入るために電力制御論理回路36によって発生されるクロック制御信号および電圧制御信号は、様々な異なる効果をもつことができる。クロック信号は、停止するか、異なる値に減速することができる。電圧は、低下させるか、スイッチオフすることができる。システムは、低漏洩モード、または電力を低減するために行われるその他の何らかの電圧操作状態に置くことができる。様々なパワーダウンモードが知られており、それらのいずれも用いることができる。
図6は、電力制御論理回路36によって行われる制御を概略的に示す流れ図である。ステップ40では、システムは、使用信号を受け取るのを待つ。そのような信号を受け取ると、ステップ42の処理は、次のトランザクションまでの間隔の長さ、および現在のスレーブ状態に応じて入るべきパワーダウンモードを選択する。間隔が短い場合は、入って出るのに長い時間がかかる深いパワーダウンモードに入るのは有用でない場合がある。同様に、スレーブユニット28の現在の状態により、示される間隔とは無関係に、(その状態変数によって信号伝達される)入り得るパワーダウンモードに制限が課され得る。パワーダウンモードが選択されたときは、次いで、ウェイクアップ時間を決定することができる。異なるパワーダウンモードは、それから出るのに異なる長さの時間を必要とし、したがってウェイクアップは、早くまたは遅く生ずることが必要になる。ステップ44では、タイマ38に、必要なウェイクアップポイントまでの間隔がロードされる。次いでステップ46は、ステップ40にて検出された使用信号を伴った現在のトランザクションが完了したかどうかを確認する。このトランザクションが完了したときは、処理はステップ48へ進み、そこでは、選択されたパワーダウンモードに対して適切なクロックおよび電圧を制御するための信号が発行され、スレーブユニットは、そのパワーダウンモードに切り換えられる。ステップ50では、必要なウェイクアップポイントにタイマが達したかどうかを絶えず確認する。ウェイクアップポイントに達したときは、処理はステップ52へ進み、そこでは、ウェイクアップが開始され、電力制御論理回路36は、スレーブユニット28を、それが次のトランザクションに応答することが可能となる動作モードに戻すために、適切なクロック制御および電圧制御信号を発行する。電力制御論理回路36の目的は、スレーブユニット28をその動作モードに戻し、それにより次のトランザクションを受け取るのに丁度間に合うように、次のトランザクションに対して準備することである。
図6には示されていないが、スレーブユニット28は、開始元のマスタに対して、いま受け取ったトランザクションをスレーブユニット28が完了できるまでにどれ位かかるかを示す肯定応答を返送するために、使用信号を利用することができる。この肯定応答信号は、そのマスタユニットとの完了されたトランザクションを受け取るのを待つ間、適切であればマスタ自体をパワーダウンし、完了されたトランザクションを受け取るのに間に合うようにマスタ自体をプリエンプティブにパワーアップするために、マスタによって用いられる。
図7は、マスタユニット54を概略的に示す。マスタユニット54は、実質的に、知られている方法でAXIトランザクションなどのトランザクションを発生し、それらがプログラマブルであればプログラム命令に応答する、1つまたは複数の機能ブロック56、58を組み込んでいる。また、マスタユニット54内には、ローカルマスタ電力コントローラ60が設けられる。ローカルマスタ電力コントローラ60は、マスタユニット54からスレーブユニットへ送出されるトランザクションに付随して、どのような使用信号68を発行するかを決定するに際して、間隔レジスタ62内に記憶された1つまたは複数のソフトウェアにより書き込み可能な間隔値、信号ライン64上の復号化された間隔を与える、プログラム命令内のフィールドから復号化された信号、およびマスタユニット54の現在の状態を指定する状態変数信号66に応答する。使用信号は、マスタユニット54が、そのスレーブに対して次にいつトランザクションを開始すると予想するかを指定する。この示された使用信号値は、マスタユニット54自体内でマイクロアーキテクチャレベルで決定され、したがって、たとえば予期しない割込みの発生などにより絶対的に保証はできないが、比較的正確となる傾向がある。
ローカルマスタ電力コントローラ60はまた、使用信号ライン68を通じてスレーブから戻された肯定応答信号に応答して、パワーダウンモードに入りかつ出ることが正当化される期間、スレーブが、たとえば要求データを返すなどのトランザクションを完了しないことを示すときは、マスタユニット54をパワーダウンする。ローカルマスタ電力コントローラは、それに従ってクロック制御信号および電圧制御信号を発生し、これらはマスタ54内でパワーダウンモードに入るために機能ブロック56、58に渡される。
図8は、ローカルマスタ電力コントローラ60によって行われる制御を、概略的に示す。ステップ70では、発行される必要があるトランザクションを待つ。トランザクションが発行されるべき場合は、次いでステップ72は、レジスタ62内の間隔レジスタ値によって指定される間隔と、復号化間隔信号ライン64上の、プログラム命令から復号化された間隔と、状態変数信号ライン66上の状態変数によって指定される何らかの制限に応じたもののうち、最も短いものから、そのトランザクションに付随することになる使用信号内で指定されるべき間隔を決定する。この決定が完了すると、ステップ74は、トランザクションと共に、信号ライン68上に使用信号を発行する。ステップ76は、スレーブがトランザクションを完了できるまでどの位かかるかを示す、スレーブから戻される場合がある肯定応答信号を待つ。このような肯定応答信号を受け取った場合は、処理はステップ78へ進み、そこではたとえば、クロック停止、クロック減速、低電圧、低漏洩、スリープ、パワーダウン、データ保持など、その特定のマスタユニット54によってサポートされ得る複数のパワーダウンモードから選択されるものとして、利用すべきパワーダウンモードの決定がなされる。ステップ80では、用いられるパワーダウンモードに関連する、必要なウェイクアップ時間までの間隔が決定され、ローカルマスタ電力コントローラ60内のタイマにロードされる。ステップ82では、ローカルマスタ電力コントローラ60は、マスタユニット54をパワーダウンモードに切り換える。ステップ84では、ローカルマスタ電力コントローラ60は、タイマがウェイクアップポイントに達する時点まで待ち、その時点になると処理はステップ86に進み、マスタユニット54は、データが返されるまたはその他の何らかの形でトランザクションが完了するのに間に合うように、その動作モードに戻るように切り換えられる。
図9は、本技術により用いることができる、インターコネクトブロック14を概略的に示す。このインターコネクトブロック14は、知られているAXI技術またはその他の技術に従った、アドレスおよびデータならびに制御情報の経路指定をサポートする。知られているこれらの機能をサポートするためにインターコネクト14内に含まれる要素については、当技術分野の者には良く知られているので、ここではさらに述べない。インターコネクト14は、その通常の要素に加えて、マスタとスレーブの間でインターコネクト14を通過する使用信号を調停するように働く、インターコネクト使用信号調停ブロック88を含む。タイマ90は、たとえば、4クロックサイクルなど、最小パワーダウン間隔のステップでインクリメントする時間インデックス値を発生する。使用信号がトランザクションに付随して受け取られると、接続されたマスタに関連付けられ、いつそれらのマスタが関係している特定のスレーブを必要とすることになるかを示す、記憶された時間インデックス値が、目標のスレーブユニットに対する現在の受け取った使用信号によって示されるものの前または後に、そのような次の使用を示すかどうかの判定がなされる。これらの記憶された時間インデックス値は、レジスタ92および94内に保持される。記憶された次の使用要件が、現在の受け取った使用信号において示されるものより前である場合は、インターコネクト使用信号調停ブロック88は、使用信号を変更し、それが指定する間隔を、レジスタ92、94内に記憶された次の使用値のうちの1つによって示される、短い方の間隔に置き換える。現在の受け取った使用信号によって示される次の使用が、記憶されたもののどれよりも前である場合は、使用信号は変更されずにトランザクションと共に渡される。
この実施例では、複数のマスタの間の調停は、インターコネクト14内で行われることが理解されよう。別法として、特にそのスレーブユニットが、メモリコントローラなど、より複雑なタイプであり、すでに設計済みで、複数のマスタからの重複するトランザクションに対処するために設けられたシステムを有していた場合は、調停はスレーブユニット自体の中で行い得る。
インターコネクト14は、そのデータおよびアドレス経路指定機能をもたらすのに、様々な異なる部分を組み込んでおり、それらは、インターコネクト14を通過する使用信号に応答して、選択的にパワーアップおよびパワーダウンすることができる。インターコネクトブロック14は、それが渡す使用信号から、特定の経路が、ある期間必要とされなくなることを判定することができ、それにしたがって、それ自体の部分であろうと、またはインターコネクトブロックの外部の追加部分でありそこを通る使用信号に応答したそれら自体のローカル電力制御を受けないものであろうと、その経路をパワーダウンすることができる
図10は、インターコネクト使用信号調停ブロック88によって行われる調停を概略的に示す流れ図である。ステップ96では、インターコネクト使用信号調停ブロック88は、トランザクションを待つ。そのようなトランザクションが受け取られると、ステップ98は、受け取ったトランザクション内の関係している使用信号から取り出された次の使用時間を、レジスタ92、94に記憶された、他のマスタから前に受け取ったトランザクション用のそれら他のマスタに対する次の使用時間インデックスと比較する。次いでステップ100は、他のいずれかのマスタが、より短い次の使用までの間隔を示したかどうかを判定する。他のいずれかのマスタが、より短い間隔を有する場合は、処理はステップ102へ進み、そうでない場合は飛ばされ、ステップ102では、受け取った使用信号はその代わりに、インターコネクトブロック14が認識しているいずれかのマスタに対する最も短い間隔で、インターコネクトブロック14自体によって課され得る追加の遅延に応答したものを表すように変更される。インターコネクト使用信号調停ブロック88は、インターコネクトブロック14の状態を指定し、かつ知られているAXI技術に従って動作するデータおよびアドレス経路指定ブロックがシステム内の他の何らかの要素に特定の経路を割り当て、それにより次のトランザクションが実際に、関係しているスレーブユニットに到達できるまで上記のすべてとは無関係な異なる時間間隔が課されることになるなどの要因を示すことができる、状態変数信号に応答する。ステップ104では、受け取ったトランザクションの送り元のマスタに対する次の使用時間インデックスは、レジスタ92、94の適切な1つにおいて更新される。ステップ106では、調停された使用信号が、目標のスレーブユニットに対して発行される。
使用信号は、次のトランザクションまでの時間間隔を指定し、現在のトランザクションの完了までの時間間隔を示す肯定応答信号を戻すために用いられると共に、より標準のパワーダウンコマンドを渡すこともでき、それらは、通常のデータおよびアドレス経路指定のインフラストラクチャ上に載せて、好都合にかつスケーリング可能にシステム全体に経路指定できることが理解されよう。ローカルスレーブ電力コントローラ、ローカルマスタ電力コントローラ、およびインターコネクトブロック自体の電力コントローラに供給することができる、このようなパワーダウン信号の例は、ローカルシャットダウン、グローバルシャットダウン、ローカルスリープ、グローバルスリープ、ローカルクロック停止、グローバルクロック停止、ローカルクロック速度指定、グローバルクロック速度指定、低動作電圧モード、低漏洩モード、ウェイクアップ、および間隔延長(これは、すでに指定されている、次のトランザクションまでまたはトランザクションの完了までの時間間隔を延長するためのコマンドである)などを含む。
2 デバイス
4 集積回路
6 スレーブサブシステム
8 マスタユニット
10 プロセッサコア
12 キャッシュメモリ
14 インターコネクト
16 インターコネクト
18 スレーブ
20 スレーブ
22 データ信号
24 アドレス信号
26 使用信号
28 スレーブユニット
30 機能ブロック
32 機能ブロック
34 ローカルスレーブ電力コントローラ
36 電力制御論理回路
38 タイマ
40 ステップ
42 ステップ
44 ステップ
46 ステップ
48 ステップ
50 ステップ
52 ステップ
54 マスタユニット
56 機能ブロック
58 機能ブロック
60 ローカルマスタ電力コントローラ
62 間隔レジスタ
64 信号ライン
66 状態変数信号
68 使用信号
70 ステップ
72 ステップ
74 ステップ
76 ステップ
78 ステップ
80 ステップ
82 ステップ
84 ステップ
86 ステップ
88 インターコネクト使用信号調停ブロック
90 タイマ
92 レジスタ
94 レジスタ
96 ステップ
98 ステップ
100 ステップ
102 ステップ
104 ステップ
106 ステップ

Claims (52)

  1. データを処理するためのデバイスであって、
    1つまたは複数のマスタユニットと、
    1つまたは複数のスレーブユニットと、
    前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトと
    を備え、
    前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られるトランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含み、
    前記1つまたは複数のスレーブユニットの前記少なくとも1つは、前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第2のスレーブ電力状態に切り換えるように、前記1つまたは複数の使用信号に応答するローカルスレーブ電力コントローラを有し、
    前記第1のスレーブ電力状態は、前記第2のスレーブ電力状態より低い電力消費を有するとともに、
    前記第1のスレーブ電力状態は、前記第2のスレーブ電力状態より長い応答待ち時間を有するデバイス。
  2. トランザクションを発行するマスタユニットが、前記マスタユニットの現在の状態に応じて、前記トランザクション内に、前記1つまたは複数の使用信号を供給する、請求項1に記載のデバイス。
  3. 前記インターコネクトが、前記デバイスの現在の状態に応じて、前記トランザクション内に、前記1つまたは複数の使用信号を供給する、請求項1および2のいずれか一項に記載のデバイス。
  4. 前記インターコネクトが、複数のマスタユニットからそれぞれのトランザクションと共に受け取った使用信号の間で調停し、前記1つまたは複数のスレーブユニットの前記少なくとも1つに渡され、前記複数のマスタユニットのいずれかからいつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す、調停された使用信号を供給する、請求項3に記載のデバイス。
  5. 前記1つまたは複数のスレーブユニットの前記少なくとも1つが、前記第1のスレーブ電力状態として用いることができる、それぞれの電力消費および応答待ち時間をもつ複数の低電力状態を有し、前記ローカルスレーブ電力コントローラは、前記次のトランザクションが予想される前の前記間隔に応じて、前記第1のスレーブ電力状態として前記複数の低電力状態のうちのどれを用いるかを選択する、請求項1から4のいずれか一項に記載のデバイス。
  6. 前記ローカルスレーブ電力コントローラはまた、前記1つまたは複数のスレーブユニットの前記少なくとも1つの現在の状態に応じて、前記第1のスレーブ電力状態として前記複数の低電力状態のうちのどれを用いるかを選択する、請求項5に記載のデバイス。
  7. 前記1つまたは複数の使用信号に応答するローカルスレーブ電力コントローラをそれぞれが含む、複数のスレーブユニットを備える、請求項1から6のいずれか一項に記載のデバイス。
  8. 前記1つまたは複数のスレーブユニットの少なくとも1つは、前記1つまたは複数のマスタユニットの1つからトランザクションを受け取るとすぐに、前記1つまたは複数のマスタユニットの前記1つに肯定応答を発行し、前記肯定応答は、前記1つまたは複数のスレーブユニットの前記少なくとも1つが、いつ前記1つまたは複数のマスタユニットの前記1つへの前記トランザクションを完了することになるかを示す1つまたは複数の遅延予測信号を含み、
    前記1つまたは複数のマスタユニットの前記1つは、前記トランザクションの完了が予想される前の間隔の間、前記1つまたは複数のマスタユニットの前記1つを第1のマスタ電力状態に切り換え、前記トランザクションの完了に間に合うように、前記1つまたは複数のマスタユニットの前記1つを第2のマスタ電力状態に切り換えるように、前記1つまたは複数の遅延予測信号に応答するローカルマスタ電力コントローラを含み、前記第1のマスタ電力状態は前記第2のマスタ電力状態より低い電力消費を有し、前記第1のマスタ電力状態は前記第2のマスタ電力状態より長い応答待ち時間を有する、請求項1から7のいずれか一項に記載のデバイス。
  9. 前記1つまたは複数の遅延予測信号はまた、前記1つまたは複数のスレーブユニットの前記少なくとも1つと前記1つまたは複数のマスタユニットの前記1つの間の経路上に介在する1つまたは複数の回路要素が、電力消費低減状態に入るのをトリガするように働く、請求項8に記載のデバイス。
  10. 前記インターコネクトが、別々に制御可能な電力状態をもつ複数の部分と、
    前記1つまたは複数の使用信号に応答して、前記インターコネクトの前記複数の部分のそれぞれの電力状態を制御する、ローカルインターコネクト電力コントローラと
    を含む、請求項1から9のいずれか一項に記載のデバイス。
  11. 前記1つまたは複数の使用信号が、複数の使用信号を含み、前記使用予測の少なくともいくつかの値に対して対数符号化を用いる、請求項1から10のいずれか一項に記載のデバイス。
  12. 前記1つまたは複数の使用信号によって表される最低の非ゼロ値に対応する使用予測が、前記1つまたは複数のスレーブユニットの1つに対する最低の実効非活動間隔に対応する、請求項1から11のいずれか一項に記載のデバイス。
  13. 前記1つまたは複数の使用信号が、前記次のトランザクションの前の不定な時間を示す値を有し、前記ローカルスレーブ電力コントローラは、それに応答して前記1つまたは複数のスレーブユニットの前記少なくとも1つを低電力消費モードに切り換える、請求項1から12のいずれか一項に記載のデバイス。
  14. 前記1つまたは複数のマスタユニットのそれぞれ1つに関連付けられ、前記1つまたは複数のマスタユニットの前記1つによって発生されるべき使用信号を指定する、ソフトウェアにより書き込み可能な値を記憶する少なくとも1つの使用指定レジスタを備える、請求項1から13のいずれか一項に記載のデバイス。
  15. 前記トランザクションの1つを開始するためにプログラム命令に応答するプロセッサを備え、前記プログラム命令に伴うフィールドは、前記トランザクションに付随されるべき前記1つまたは複数の使用信号のための値を指定する、請求項1から14のいずれか一項に記載のデバイス。
  16. 前記プログラム命令が、オペレーティングシステムプログラムの一部であり、前記フィールドは、前記オペレーティングシステムプログラムによって判定される、前記デバイスの少なくとも一部分の現在の状態に応じて変えられる、請求項15に記載のデバイス。
  17. 前記1つまたは複数の使用信号はまた、1つまたは複数の電力コマンドを渡すことができる、請求項1から16のいずれか一項に記載のデバイス。
  18. 前記1つまたは複数の電力コマンドが、
    ローカルシャットダウン、
    グローバルシャットダウン、
    ローカルスリープ、
    グローバルスリープ、
    ローカルクロック停止、
    グローバルクロック停止、
    ローカルクロック速度指定、
    グローバルクロック速度指定、
    低動作電圧モード、
    低漏洩モード、
    ウェイクアップ、
    間隔延長
    の1つまたは複数を含む、請求項17に記載のデバイス。
  19. 前記デバイスが、
    集積回路、
    マルチチップモジュール、
    複数の接続された集積回路を搭載したプリント回路基板
    の1つである、請求項1から18のいずれか一項に記載のデバイス。
  20. 前記インターコネクトが、ポイントツーポイントインターコネクトである、請求項1から19のいずれか一項に記載のデバイス。
  21. 前記インターコネクトが、1つのマスタユニットと1つのスレーブユニットの間の専用の接続である、請求項1から19のいずれか一項に記載のデバイス。
  22. 前記1つのマスタユニットがプロセッサコアであり、前記1つのスレーブユニットがキャッシュメモリである、請求項21に記載のデバイス。
  23. 前記使用信号が、前記トランザクションの一部を形成する他の1つまたは複数の信号と共有される配線経路にて経路指定される、請求項1から22のいずれか一項に記載のデバイス。
  24. 前記ローカル電力コントローラが、複数のスレーブユニットによって共有される、請求項1から23のいずれか一項に記載のデバイス。
  25. 1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを用いてデータを処理する方法であって、
    前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られるトランザクションを発生する段階であって、前記トランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含む段階と、
    前記1つまたは複数の使用信号に応答して、前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第2のスレーブ電力状態に切り換えるために、前記1つまたは複数のスレーブユニットの前記少なくとも1つのローカルスレーブ電力コントローラを用いる段階であって、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より低い電力消費を有し、前記第1のスレーブ電力状態は前記第2のスレーブ電力状態より長い応答待ち時間を有する段階と
    を含む方法。
  26. 前記トランザクション内の前記1つまたは複数の使用信号が、マスタユニットにより、前記マスタユニットの現在の状態に応じて供給される、請求項25に記載の方法。
  27. 前記トランザクション内の前記1つまたは複数の使用信号が、前記インターコネクトにより、前記デバイスの現在の状態に応じて供給される、請求項25および26のいずれか一項に記載の方法。
  28. 前記1つまたは複数のスレーブユニットの前記少なくとも1つに渡され、前記複数のマスタユニットのいずれかからいつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す、調停された使用信号を供給するように、前記複数のマスタユニットからそれぞれのトランザクションと共に受け取られた使用信号の間で、前記インターコネクトを調停する段階を含む、請求項27に記載の方法。
  29. 前記1つまたは複数のスレーブユニットの前記少なくとも1つが、前記第1のスレーブ電力状態として用いることができる、それぞれの電力消費および応答待ち時間をもつ複数の低電力状態を有し、前記ローカルスレーブ電力コントローラは、前記次のトランザクションが予想される前の前記間隔に応じて、前記第1のスレーブ電力状態として前記複数の低電力状態のうちのどれを用いるかを選択する、請求項25から28のいずれか一項に記載の方法。
  30. 前記ローカルスレーブ電力コントローラはまた、前記1つまたは複数のスレーブユニットの前記少なくとも1つの現在の状態に応じて、前記第1のスレーブ電力状態として前記複数の低電力状態のうちのどれを用いるかを選択する、請求項29に記載の方法。
  31. それぞれがローカルスレーブ電力コントローラを含む、複数のスレーブユニットは、前記1つまたは複数の使用信号に応答する、請求項25から30のいずれか一項に記載の方法。
  32. 前記1つまたは複数のスレーブユニットの少なくとも1つは、前記1つまたは複数のマスタユニットの1つからトランザクションを受け取るとすぐに、前記1つまたは複数のマスタユニットの前記1つに肯定応答を発行し、前記肯定応答は、前記1つまたは複数のスレーブユニットの前記少なくとも1つが、いつ前記1つまたは複数のマスタユニットの前記1つへの前記トランザクションを完了するかを示す1つまたは複数の遅延予測信号を含み、
    前記1つまたは複数の遅延予測信号に応答して、前記1つまたは複数のマスタユニットの前記1つの、ローカルマスタ電力コントローラを用いて、前記トランザクションの完了が予想される前の間隔の間、前記1つまたは複数のマスタユニットの前記1つを第1のマスタ電力状態に切り換え、前記トランザクションの完了に間に合うように、前記1つまたは複数のマスタユニットの前記1つを第2のマスタ電力状態に切り換え、前記第1のマスタ電力状態は前記第2のマスタ電力状態より低い電力消費を有し、前記第1のマスタ電力状態は前記第2のマスタ電力状態より長い応答待ち時間を有する、請求項25から31のいずれか一項に記載の方法。
  33. 前記1つまたは複数の遅延予測信号はまた、前記1つまたは複数のスレーブユニットの前記少なくとも1つと前記1つまたは複数のマスタユニットの前記1つの間の経路上に介在する1つまたは複数の回路要素が、電力消費低減状態に入るのをトリガするように働く、請求項32に記載の方法。
  34. 前記インターコネクトが、別々に制御可能な電力状態をもつ複数の部分を含み、前記インターコネクトの前記複数の部分のそれぞれの電力状態を制御するために、前記1つまたは複数の使用信号に応答して前記インターコネクトのローカルインターコネクト電力コントローラを用いる段階をさらに含む、請求項25から33のいずれか一項に記載の方法。
  35. 前記1つまたは複数の使用信号が、複数の使用信号を含み、前記使用予測の少なくともいくつかの値に対して対数符号化を用いる、請求項25から34のいずれか一項に記載の方法。
  36. 前記1つまたは複数の使用信号によって表される最低の非ゼロ値に対応する使用予測が、前記1つまたは複数のスレーブユニットの1つに対する最低の実効非活動間隔に対応する、請求項25から35のいずれか一項に記載の方法。
  37. 前記1つまたは複数の使用信号が、前記次のトランザクションの前の不定な時間を示す値を有し、不定な時間を示す前記値に応答して、前記1つまたは複数のスレーブユニットの前記少なくとも1つを低電力消費モードに切り換えるために、前記ローカルスレーブ電力コントローラを用いる段階をさらに含む、請求項25から36のいずれか一項に記載の方法。
  38. 前記1つまたは複数のマスタユニットのそれぞれ1つに関連付けられた少なくとも1つの使用指定レジスタに、前記1つまたは複数のマスタユニットの前記1つによって発生されるべき使用信号を指定する値を、ソフトウェアの制御下で記憶する段階を含む、請求項25から37のいずれか一項に記載の方法。
  39. プロセッサによって実行されるプログラム命令に応答して、前記トランザクションの1つを開始する段階を含み、前記プログラム命令に伴うフィールドは、前記トランザクションに付随されるべき前記1つまたは複数の使用信号のための値を指定する、請求項25から38のいずれか一項に記載の方法。
  40. 前記プログラム命令が、オペレーティングシステムプログラムの一部であり、前記フィールドは、前記オペレーティングシステムプログラムによって判定される、前記デバイスの少なくとも一部分の現在の状態に応じて変えられる、請求項39に記載の方法。
  41. 前記1つまたは複数の使用信号はまた、1つまたは複数の電力コマンドを渡すことができる、請求項25から40のいずれか一項に記載の方法。
  42. 前記1つまたは複数の電力コマンドが、
    ローカルシャットダウン、
    グローバルシャットダウン、
    ローカルスリープ、
    グローバルスリープ、
    ローカルクロック停止、
    グローバルクロック停止、
    ローカルクロック速度指定、
    グローバルクロック速度指定、
    低動作電圧モード、
    低漏洩モード、
    ウェイクアップ、
    間隔延長
    の1つまたは複数を含む、請求項41に記載の方法。
  43. 前記方法が、
    集積回路、
    マルチチップモジュール、
    複数の接続された集積回路を搭載したプリント回路基板
    の1つにおいて行われる、請求項25から42のいずれか一項に記載の方法。
  44. 前記インターコネクトが、ポイントツーポイントインターコネクトである、請求項25から43のいずれか一項に記載の方法。
  45. 前記インターコネクトが、1つのマスタユニットと1つのスレーブユニットの間の専用の接続である、請求項25から43のいずれか一項に記載の方法。
  46. 前記1つのマスタユニットがプロセッサコアであり、前記1つのスレーブユニットがキャッシュメモリである、請求項45に記載の方法。
  47. 前記使用信号が、前記トランザクションの一部を形成する他の1つまたは複数の信号と共有される配線経路にて経路指定される、請求項25から46のいずれか一項に記載の方法。
  48. 前記ローカル電力コントローラが、複数のスレーブユニットによって共有される、請求項25から47のいずれか一項に記載の方法。
  49. データを処理するためのデバイスであって、
    1つまたは複数のマスタユニット手段と、
    1つまたは複数のスレーブユニット手段と、
    前記1つまたは複数のマスタユニット手段と前記1つまたは複数のスレーブユニット手段の間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクト手段と
    を備え、
    前記1つまたは複数のスレーブユニット手段の少なくとも1つによって受け取られるトランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニット手段の前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含み、
    前記1つまたは複数のスレーブユニット手段の前記少なくとも1つは、前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニット手段の前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニット手段の前記少なくとも1つを第2のスレーブ電力状態に切り換えるように、前記1つまたは複数の使用信号に応答するローカルスレーブ電力コントローラ手段を有し、
    前記第1のスレーブ電力状態は、前記第2のスレーブ電力状態より低い電力消費を有するとともに、
    前記第1のスレーブ電力状態は、前記第2のスレーブ電力状態より長い応答待ち時間を有するデバイス。
  50. 1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを有するデバイス内で用いるためのスレーブユニットであって、
    前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られるトランザクションは、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含み、
    前記次のトランザクションを受け取ると予想される前の間隔の間、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第1のスレーブ電力状態に切り換え、前記次のトランザクションを処理するのに間に合うように、前記1つまたは複数のスレーブユニットの前記少なくとも1つを第2のスレーブ電力状態に切り換えるように、前記1つまたは複数の使用信号に応答し、
    前記第1のスレーブ電力状態は、前記第2のスレーブ電力状態より低い電力消費を有するとともに、
    前記第1のスレーブ電力状態は、前記第2のスレーブ電力状態より長い応答待ち時間を有するローカルスレーブ電力コントローラを備えるスレーブユニット。
  51. 1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを有するデバイス内で用いるためのマスタユニットであって、
    前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られ、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含むトランザクションを発生するように構成されたトランザクション発生器を備えるマスタユニット。
  52. 1つまたは複数のマスタユニットと、1つまたは複数のスレーブユニットと、前記1つまたは複数のマスタユニットと前記1つまたは複数のスレーブユニットの間の配線経路に沿って、データ転送トランザクションを含むトランザクションを経路指定するように、前記1つまたは複数のマスタユニットおよび前記1つまたは複数のスレーブユニットに結合されたインターコネクトとを有するデバイス内で用いるためのインターコネクトであって、
    前記1つまたは複数のスレーブユニットの少なくとも1つによって受け取られ、いつ次のトランザクションが前記1つまたは複数のスレーブユニットの前記少なくとも1つに送られるかを示す使用予測を指定する1つまたは複数の使用信号を含むトランザクションを渡すように構成された信号接続を備えるインターコネクト。
JP2009521321A 2006-07-28 2006-07-28 マスタおよびスレーブを有するデータ処理デバイスにおける電力管理 Expired - Fee Related JP4837780B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB2006/002830 WO2008012483A1 (en) 2006-07-28 2006-07-28 Power management in a data processing device having masters and slaves

Publications (2)

Publication Number Publication Date
JP2009545048A true JP2009545048A (ja) 2009-12-17
JP4837780B2 JP4837780B2 (ja) 2011-12-14

Family

ID=37898794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009521321A Expired - Fee Related JP4837780B2 (ja) 2006-07-28 2006-07-28 マスタおよびスレーブを有するデータ処理デバイスにおける電力管理

Country Status (7)

Country Link
US (1) US8291244B2 (ja)
EP (1) EP2047354B1 (ja)
JP (1) JP4837780B2 (ja)
CN (1) CN101501607B (ja)
DE (1) DE602006020640D1 (ja)
IL (1) IL195638A (ja)
WO (1) WO2008012483A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101624061B1 (ko) 2011-09-06 2016-05-24 인텔 코포레이션 전력 효율적 프로세서 아키텍처
US9514084B2 (en) 2012-07-19 2016-12-06 International Business Machines Corporation Power saving based on clock management claim of priority

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958381B2 (en) 2008-06-27 2011-06-07 International Business Machines Corporation Energy conservation in multipath data communications
US8065542B2 (en) 2008-12-31 2011-11-22 Synopsys, Inc. Distributed table-driven power mode computation for controlling optimal clock and voltage switching
US8601296B2 (en) * 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management
WO2011136796A1 (en) * 2010-04-30 2011-11-03 Hewlett-Packard Development Company, L.P. Management data transfer between processors
EP2388951B1 (en) * 2010-05-17 2017-08-09 Nxp B.V. Network
US20110307200A1 (en) * 2010-06-11 2011-12-15 Academia Sinica Recognizing multiple appliance operating states using circuit-level electrical information
US8625586B2 (en) * 2010-12-31 2014-01-07 Stmicroelectronics International N.V. Generic bus de-multiplexer/port expander with inherent bus signals as selectors
US9058165B2 (en) 2011-05-05 2015-06-16 Empire Technology Development Llc Device power management using compiler inserted device alerts
EP2729863B1 (en) 2011-07-06 2017-09-06 Telefonaktiebolaget LM Ericsson (publ) A method for controlling transaction exchanges between two integrated circuits
US20130064337A1 (en) * 2011-09-12 2013-03-14 Qualcomm Incorporated Method and Apparatus for Adaptive Hysteresis Timer Adjustments for Clock Gating
US9183102B2 (en) * 2011-09-30 2015-11-10 Alcatel Lucent Hardware consumption architecture
CN104011703B (zh) * 2011-12-22 2017-04-12 英特尔公司 用于指定应用线程性能状态的指令的指令处理装置及相关方法
US9268731B2 (en) * 2012-01-06 2016-02-23 Intel Corporation Controlling devices via advance notice signaling
US9104423B2 (en) * 2012-05-16 2015-08-11 Nvidia Corporation Method and system for advance wakeup from low-power sleep states
US9395799B2 (en) 2012-08-09 2016-07-19 Nvidia Corporation Power management techniques for USB interfaces
US9760150B2 (en) 2012-11-27 2017-09-12 Nvidia Corporation Low-power states for a computer system with integrated baseband
CN103857019B (zh) 2012-11-30 2018-01-02 辉达公司 一种在移动终端中用于省电的方法
US9310783B2 (en) * 2012-12-19 2016-04-12 Apple Inc. Dynamic clock and power gating with decentralized wake-ups
US20140181553A1 (en) * 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. Idle Phase Prediction For Integrated Circuits
US9152210B2 (en) * 2013-02-15 2015-10-06 Apple Inc. Method and apparatus for determining tunable parameters to use in power and performance management
US9612994B2 (en) * 2013-09-18 2017-04-04 Nvidia Corporation Snoop and replay for completing bus transaction
US9720487B2 (en) 2014-01-10 2017-08-01 Advanced Micro Devices, Inc. Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration
JP6221792B2 (ja) * 2014-02-05 2017-11-01 富士通株式会社 情報処理装置、情報処理システム、および情報処理システムの制御方法
US9524015B2 (en) * 2014-02-19 2016-12-20 Western Digital Technologies, Inc. Device optimized power management
CN104484008B (zh) * 2014-12-05 2016-08-24 大唐微电子技术有限公司 一种芯片低功耗处理方法及装置
CN104703296A (zh) * 2015-03-19 2015-06-10 江苏物联网研究发展中心 无线通信多跳网络链状及树状拓扑结构的链路休眠方法
JP2017054287A (ja) * 2015-09-09 2017-03-16 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の状態制御方法
US10042692B1 (en) * 2015-09-29 2018-08-07 Xilinx, Inc. Circuit arrangement with transaction timeout detection
US10303203B2 (en) 2016-01-25 2019-05-28 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and method for operating semiconductor device
US10296065B2 (en) 2016-01-25 2019-05-21 Samsung Electronics Co., Ltd. Clock management using full handshaking
DE102017110821A1 (de) 2016-01-25 2018-07-26 Samsung Electronics Co., Ltd. Halbleitervorrichtung
KR102467172B1 (ko) 2016-01-25 2022-11-14 삼성전자주식회사 반도체 장치
US10248155B2 (en) 2016-01-25 2019-04-02 Samsung Electronics Co., Ltd. Semiconductor device including clock generating circuit and channel management circuit
GB2548387B (en) * 2016-03-17 2020-04-01 Advanced Risc Mach Ltd An apparatus and method for filtering transactions
US11054884B2 (en) 2016-12-12 2021-07-06 Intel Corporation Using network interface controller (NIC) queue depth for power state management
CN107087062B (zh) * 2017-03-30 2020-09-01 濮阳市科特石油工程技术有限公司 数据传输系统及方法
US20190101969A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Control Blocks for Processor Power Management
US10599601B1 (en) * 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887179A (en) * 1996-06-11 1999-03-23 Motorola, Inc. System power saving means and method
US5781783A (en) * 1996-06-28 1998-07-14 Intel Corporation Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit
US6715089B2 (en) * 2001-01-22 2004-03-30 Ati International Srl Reducing power consumption by estimating engine load and reducing engine clock speed
JP3884914B2 (ja) * 2001-01-30 2007-02-21 株式会社ルネサステクノロジ 半導体装置
JP2002300175A (ja) * 2001-04-03 2002-10-11 Matsushita Electric Ind Co Ltd 無線通信システム
US6892313B1 (en) * 2001-06-21 2005-05-10 Western Digital Technologies, Inc. Method for predictive power management for operating a disk drive in a mobile device to optimize power usage
US6983389B1 (en) * 2002-02-01 2006-01-03 Advanced Micro Devices, Inc. Clock control of functional units in an integrated circuit based on monitoring unit signals to predict inactivity
US6781911B2 (en) * 2002-04-09 2004-08-24 Intel Corporation Early power-down digital memory device and method
US7028200B2 (en) * 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
US6795781B2 (en) * 2002-06-27 2004-09-21 Intel Corporation Method and apparatus for compiler assisted power management
JP2005538444A (ja) * 2002-09-09 2005-12-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディスクドライブの電力消費量を管理する方法及び装置
US7152167B2 (en) * 2002-12-11 2006-12-19 Intel Corporation Apparatus and method for data bus power control
US7134028B2 (en) * 2003-05-01 2006-11-07 International Business Machines Corporation Processor with low overhead predictive supply voltage gating for leakage power reduction
JP2004363702A (ja) 2003-06-02 2004-12-24 Seiko Epson Corp 通信制御システム、マスタ通信端末、スレーブ通信端末、マスタ通信端末用プログラム及びスレーブ通信端末用プログラム、並びに通信制御方法
JP4298437B2 (ja) * 2003-08-28 2009-07-22 パナソニック株式会社 バスブリッジ回路
US7167989B2 (en) * 2003-10-14 2007-01-23 Intel Corporation Processor and methods to reduce power consumption of processor components
US20070136615A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute System and method for reducing power used to execute application program
CN100561404C (zh) * 2005-12-29 2009-11-18 联想(北京)有限公司 节省处理器功耗的方法
US7421601B2 (en) * 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
US7802116B2 (en) * 2006-09-27 2010-09-21 Intel Corporation Subsystem power management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101624061B1 (ko) 2011-09-06 2016-05-24 인텔 코포레이션 전력 효율적 프로세서 아키텍처
US9514084B2 (en) 2012-07-19 2016-12-06 International Business Machines Corporation Power saving based on clock management claim of priority

Also Published As

Publication number Publication date
CN101501607B (zh) 2011-10-05
IL195638A0 (en) 2009-09-01
JP4837780B2 (ja) 2011-12-14
EP2047354A1 (en) 2009-04-15
IL195638A (en) 2012-06-28
US8291244B2 (en) 2012-10-16
US20090259861A1 (en) 2009-10-15
DE602006020640D1 (de) 2011-04-21
EP2047354B1 (en) 2011-03-09
WO2008012483A1 (en) 2008-01-31
CN101501607A (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
JP4837780B2 (ja) マスタおよびスレーブを有するデータ処理デバイスにおける電力管理
US20200159279A1 (en) Low power autonomous peripheral management
JP6197196B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
KR101429990B1 (ko) 저 전력 메모리 액세스를 위한 버스 중재 방법들
CN101120294B (zh) 管理电子设备中的时钟速度的系统和方法
JP2013546070A (ja) 処理ノードの熱制御のための方法および装置
JP4182801B2 (ja) マルチプロセサシステム
JP2007535721A (ja) マルチコアプロセッサのパフォーマンス改善のための方法、システムおよび装置
JP2006508409A (ja) データ処理システムを低電力化するシステムおよび方法
US10732697B2 (en) Voltage rail coupling sequencing based on upstream voltage rail coupling status
US7155631B2 (en) Information processing unit with a clock control circuit having access to the system bus during system clock changes
US8867304B2 (en) Command throttling for multi-channel duty-cycle based memory power management
JP5932261B2 (ja) メモリ制御装置、メモリ制御方法
KR20090046841A (ko) 마스터 및 슬레이브를 갖는 데이터 처리장치에서의 전력 관리
JP2008059047A (ja) 情報処理システム及びこの制御方法
JP3914404B2 (ja) 省電力インターフェース装置及び省電力方法
EP4030626A2 (en) Power-smart packet processing
JP5393289B2 (ja) メモリ制御回路、メモリシステム及び制御方法
JP2003099397A (ja) データ処理システム
CN118020041A (en) Apparatus and method for two-stage transition between reduced power states
JP2003242102A (ja) データ転送装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110610

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

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

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

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees