JP4376907B2 - コンピュータシステムの電力管理の方法および装置 - Google Patents

コンピュータシステムの電力管理の方法および装置 Download PDF

Info

Publication number
JP4376907B2
JP4376907B2 JP2006547484A JP2006547484A JP4376907B2 JP 4376907 B2 JP4376907 B2 JP 4376907B2 JP 2006547484 A JP2006547484 A JP 2006547484A JP 2006547484 A JP2006547484 A JP 2006547484A JP 4376907 B2 JP4376907 B2 JP 4376907B2
Authority
JP
Japan
Prior art keywords
processor
transactions
memory controller
threshold
sleeping state
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
JP2006547484A
Other languages
English (en)
Other versions
JP2007517332A (ja
Inventor
スリタンヤラタナ、シリポング
クワ、シェ、ダブリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2007517332A publication Critical patent/JP2007517332A/ja
Application granted granted Critical
Publication of JP4376907B2 publication Critical patent/JP4376907B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of 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

Description

本発明はコンピュータ技術に関する。特に本発明は、コンピュータシステムの電力管理に関する。
普通のコンピュータシステムでは、システムの電力管理を確実に行えるように中央演算処理装置(CPU)の電力状態をさまざまなレベルで設定できる。例えば、CPUの電力をC0、C1、C2、C3、C4という5つの状態に設定するとしてもよい。一例を挙げれば、C0状態はCPUが命令を実行するアクティブ状態で、残りのC1、C2、C3およびC4状態はスリーピング状態である。スリーピング状態にある時、CPUは命令を実行しないため、C0の場合より、消費電力および放出熱が少なくなる。また通常、C4状態に入るとCPU供給電圧が下げられるため、C4状態での消費電力はC3状態の場合より少なくなる。
各スリーピング状態では、ある状態から出たりある状態に入ったりする時に遅延時間が発生し、この遅延時間は各状態での節電に影響を及ぼす。通常は、節電効果を高めるべく停止する回路やロジックを増やすと、停止した回路やロジックの再始動にかかる労力が増加し、その電力状態から出る時の遅延時間は長くなる。例を挙げると、C3またはC4状態(C3/C4状態)にある時CPUはスヌープを行わないので、電力削減効果を向上させるため位相ロックループ(PLL)や入出力回路(I/O)を停止することもできる。しかし、CPUがC3/C4状態から出た後でPLLやI/Oを再始動する時に、時間がかかってしまう。
例えば、C0状態ではCPUはメモリにアクセスでき、C1またはC2状態ではバスマスタが開始するメモリトラフィックをスヌープできる。バスマスタは、所定の時間においてバスを制御する周辺デバイスであって、例えば外付けのグラフィックコアである。このため、あるデバイスから別のデバイスへのバスを介したデータの移動をバスマスタイベントと呼ぶ。C3/C4状態では、より深いスリーピング状態を実現するため、CPUはスヌープやメモリアクセスも一時停止する。CPUがC3/C4状態にある場合にバスマスタが開始するメモリトラフィックをスヌープするためには、C3/C4状態から出なければならない。C3/C4状態から出る時の待ち時間が長いので、システムは、C3/C4状態に入る前にCPUのスヌープが必要なバスマスタイベントが周辺デバイスとの間で実行中かどうか確認しなければならない。実行中のバスマスタイベントがあった場合、CPUはC3/C4状態より消費電力は多いが出る時の待ち時間が少ない電力状態(例えばC1もしくはC2)にとどまらなければならない。
周辺デバイスは、PCI Expressインターコネクトなどのシリアル・インターコネクトによって、ルートコンプレックスデバイスを介して、CPUに接続されていてもよい。ルートコンプレックスデバイスはホストブリッジおよび1以上のルートポートを有する。例を挙げると、メモリコントローラやI/Oコントローラなどの機能デバイスがある。インターコネクトはデバイス同士を接続する。PCI Expressは、点同士を結ぶ高速のシリアルインターコネクトの標準規格となっている。初期のPCI Expressインターコネクトでは、1レーン当たり2.5ギガバイト毎秒でのデータ転送が実現される。例えば、グラフィックデバイスとコンピュータシステムのチップセット(例えばメモリコントローラハブ)は、16レーンのPCI Expressインターコネクトによって接続されている。
また、PCI Expressインターコネクトは、インターコネクト上で行われるトラフィックの記録を取るべく、クレジットを単位として用いる計算方式を実施できるので、フローコントロールが可能となる。クレジットは、インターコネクト上で行われるさまざまな種類のトランザクションが利用可能なデバイス中のバッファスペースを示す。例えばメモリコントローラは、複数のレジスタに情報を書き込むことで、データを送信するよう、ルートコンプレックスデバイスの機能を実現するソフトウェアに伝える。PCI Expressプロトコルでは、読み出し要求や書き込み要求、完了を始めとするさまざまなトランザクションについて所定の数のクレジットが規定されている。例えば、グラフィックデバイスがトランザクション(例えば読み出し要求)をルートコンプレックスデバイスに対して発行し、このトランザクションが保留にされると、保留トランザクションのバッファリングがメモリコントローラ中に占める量に応じたクレジットが使用される。メモリコントローラがこのトランザクションを扱うか中止した場合、使用されたクレジットは元に戻される。使用クレジットの量で示される保留中のトランザクションの数を見ることで、C3/C4状態に入るのを禁止する理由となり得るバスマスタイベントが発生する可能性が分かる。
先行技術では、側波帯信号を使用してバスマスタトラフィックが実行中であることを通知する。例えば、グラフィックデバイスは、コンピュータシステムのルートコンプレックスデバイスに対してAGP_BUSY信号を送信し、コンピュータシステムとの間でバスマスタトラフィックが実行中であることを通知する。ここで、コンピュータシステムとグラフィックデバイスはAGP(Accelerated Graphics Port)で接続される。しかし側波帯信号は、各デバイスに信号用ピンが1対1の割合で必要になるため、高コストとなってしまう。また、コンピュータシステム中に側波帯信号用のコネクタ構造を永久的に設けなければならないが、今後の技術革新によって側波帯信号を使用しなくなるかもしれない。
本発明は、以下の詳細な説明および添付した図面により明らかになる。しかし以下の説明および図面は、特許請求の範囲を具体的な実施の形態に限定するものではなく、理解を深めるための説明にすぎない。
図1Aは、一実施形態に係るコンピュータシステムの電力管理方法を示すフローチャートである。
図1Bは、一実施形態に係るコンピュータシステムの電力管理方法を示すフローチャートである。
図2Aは、入しきい値の一実施形態を示す。
図2Bは、出しきい値の一実施形態を示す。
図3Aから図3Cは、チップセットのパーティション構成のさまざまな実施形態を示す。
図4は、コンピュータシステムの実施形態の一例を示す。
以下で本発明を具体的および詳細に説明する。しかし本発明は、以下で説明した内容以外の実施形態を含むとしてもよい。また公知の回路、構造および技術については、本発明を分かりやすく説明するべく、詳細な説明を避けている。
明細書中で「一実施形態」や「ある実施形態」とある場合、その実施形態に関連して説明された特徴や構造、特性が、本発明の少なくとも1つの実施形態に含まれている。明細書中に「一実施形態」と何度か言及されているが、これらは必ずしも同一の実施形態を指す示すものではない。
コンピュータシステムの電力管理の方法および装置を開示する。一実施形態に係る方法によると、コンピュータシステムにおいてチップセットデバイスと周辺デバイスを接続するインターコネクト上で行われるトランザクションを監視する。このトランザクションのやり取りは、周辺デバイスとチップセットデバイス間で、チップセットデバイスにトランザクションの記録を取らせるフローコントロールプロトコルに従って行われる。本実施形態ではさらに、チップセットデバイスのバッファで保留にされている複数のコヒーレントトランザクションが所定の基準より大きくなった場合、コンピュータシステムのプロセッサがある電力状態から出る。フローコントロールプロトコルの具体例としては、PCI Expressが挙げられる。ほかの特徴は、添付図面および以下の詳細な説明で明らかにする。
図1Aは、コンピュータシステムの電力管理の方法の一実施形態を示すフローチャートである。この処理を実行するのは、ハードウェア(例えば回路や専用ロジックなど)、ソフトウェア(例えば汎用コンピュータシステムや専用機器で実行されるもの)、もしくは両方の組み合わせを含む処理ロジックである。上述したが、CPUはC3/C4状態にある場合、メモリへのアクセスやバスマスタが開始するトラフィックのスヌープを開始しないこともある。このため、CPUからC3/C4状態に入る要求を受け取った場合(処理ブロック101)、処理ロジックは一連の処理を実行して、システムの周辺デバイスがCPUに対してバスマスタのスヌープやスヌープなしのシステムメモリへの直接アクセスを要求する可能性があるかどうか判定する。周辺デバイスの例は、外付けのグラフィックスコア、イーサネット(登録商標)コントローラなどである。処理ロジックは周辺デバイスの1つからトランザクション103を受け取るとしてもよい(処理ブロック104)。トランザクション103はコヒーレントでもインコヒーレントであってもよい。ここで、コヒーレントトランザクションとは、CPUのキャッシュにおいて現在もしくはこの後使用または変更されるデータに関連するもので、インコヒーレントトランザクションは逆に、CPUのキャッシュで現在記憶、使用または変更されていない、メモリから読み出されたデータに関連する。
図1Aにおいて、処理ロジックは、受信したトランザクション103がコヒーレントかどうかと、コンピュータシステム中のメモリコントローラに保留中のコヒーレントトランザクションがあるかどうかを確認する(処理ブロック110)。どちらか一方に当てはまる場合、処理ロジックはバスマスタインジケータをアサートして、CPUがC3/C4状態に入ることを禁止する(処理ブロック130)。一実施形態では、CPUはその後デフォルト状態に入る。デフォルト状態はC1もしくはC2状態であってもよい。
しかし受信したトランザクション103がインコヒーレントで、ルートコンプレックスデバイスに保留状態のコヒーレントトランザクションがない場合、処理ロジックは、インコヒーレントトランザクション130がメモリコントローラのバッファに占める量に対応した数のクレジットを使用し、トランザクション103を保留とする(処理ブロック112)。処理ロジックは、使用されたクレジットの総数が、入しきい値以上であるかどうか判定するとしてもよい(処理ブロック120)。使用されたクレジットの総数が入しきい値以上である場合、保留中のトランザクションがルートコンプレックスデバイスのバッファに占める量が、入しきい値に対応した水準を超えている。つまりメモリコントローラ中でバッファリングに利用できる部分が少なくなっているので、周辺デバイスがメモリコントローラに対しトランザクションをさらに送る可能性が減る。このため、CPUがスヌープを行うよう要求される可能性も少なくなる。従って、CPUはC3/C4状態に入ってもよく、処理ロジックはバスマスタインジケータをデアサートし、CPUがC3/C4状態に入ることを許可する(処理ブロック129)。
また、使用されたクレジットの総数が入しきい値より少なかった場合、処理ロジックはタイマが切れているかどうかを判定する(処理ブロック122)。タイマが切れていれば、処理ロジックはバスマスタインジケータをデアサートし、CPUがC3/C4状態に入ることを許可する(処理ブロック130)。タイマが切れていない場合、処理ロジックは処理ブロック110を繰り返す。また、処理ロジックはタイマを確認せず、使用されたクレジットの総数が入しきい値より小さい場合は単に処理ブロック110を繰り返すとしてもよい。
図2Aに、入しきい値の一実施形態を示す。入しきい値210の設定を調整して、保留中のインコヒーレントトランザクションがルートコンプレックスデバイスにある場合でも、CPUがC3/C4状態に入ることを許可するようにバスマスタインジケータを変更する構成としてもよい。つまり、バスマスタインジケータのアサートを遅らせるべく、使用したクレジット数が入しきい値210以上になるまで、トランザクションは、処理を行わずメモリコントローラに故意に保留されるとしてもよい。このため、CPUが消費電力の少ないC3/C4状態に入りやすくなる。また、入しきい値210は、グラフィックアプリケーションのような高い処理能力が要求される場合、0%に設定されてもよい。
ここで、ノートパソコンのような携帯可能なシステムはシステム中のバッテリだけで作動することもあるが、その場合バッテリの充電量の残りに応じて入しきい値を変更してもよい。また、CPUの消費電力を削減すると、性能が低くなるという問題が生じる。一実施形態においては、タイマを用いて保留中のトランザクションのうち最初のトランザクションの処理を止めておく時間に上限を設けてもよい。これは、遅延時間が長くなると性能に影響が出るアプリケーションに上記の問題が及ぼす影響を軽減するための処置である。入しきい値210に達する前にタイマが切れた場合、バスマスタインジケータはリセットされ、CPUはC3/C4状態に入れ、トラフィックが少ない状態やアイドル状態となるようにしてもよい。
図1Bは、コンピュータシステムの電力管理の方法の一実施形態を示すフローチャートである。この処理を実行するのは、ハードウェア(例えば回路や専用ロジック)、ソフトウェア(例えば汎用コンピュータシステムや専用機器で実行されるもの)、もしくは両方の組み合わせを含む処理ロジックである。CPUがC3/C4状態にあるときに(処理ブロック105)、処理ロジックが周辺デバイスからコヒーレントトランザクションを受け取るとする(処理ブロック140)。周辺デバイスの例としては、外付けのグラフィックコア、イーサネット(登録商標)コントローラなどが挙げられる。コヒーレントトランザクションを受信すると、処理ロジックは、受信したコヒーレントトランザクションがバッファに占める量に対応した数のクレジットを使用する(処理ブロック142)。その後処理ロジックは、コヒーレントトランザクションのために使用されたクレジットの総数が、出しきい値以上かどうか調べる(処理ブロック144)。コヒーレントトランザクションのために使用されたクレジットの総数が、出しきい値以上である場合、処理ロジックはCPUをC3/C4状態から出す(処理ブロック150)。処理ロジックは、CPUに信号を送信してC3/C4状態から出るよう指示するとしてもよい。一実施形態では、CPUはC3/C4状態を出た後C0状態に入る。
しかし、使用したクレジットの総数が出しきい値より小さい場合、処理ロジックはタイマが切れているかどうか調べる(処理ブロック146)。タイマが切れていれば、処理ロジックはCPUをC3/C4状態から出す(処理ブロック150)。タイマが切れていなければ、処理ブロックはトランザクションを待ち行列に入れ(処理ブロック148)、処理ブロック140を繰り返す。または、処理ロジックはタイマを調べずに、使用したクレジットの総数が出しきい値より小さい場合、トランザクションを待ち行列に入れ(処理ブロック148)、処理ブロック140を繰り返すとしてもよい。
図2Bに出しきい値の一実施形態を示す。この出しきい値250によって、CPUがC3/C4状態から出るようにバスマスタインジケータを設定するタイミングが決まる。CPUがC3/C4状態にあるとき、CPUがC3/C4状態に一定期間落ち着くことである程度の省電力効果を達成できるよう、トランザクションは待ち行列に入れられる構成としてもよい。使用されたクレジットの数が出しきい値250より少ない場合、CPUには出るための条件が整ったとは通知されない。一実施形態においては、待ち時間の長さに影響を受けやすいアプリケーションを想定して、保留中のトランザクションのうち最初のトランザクションを処理するまでの時間に上限を設けるためにタイマを使用するとしてもよい。タイマが切れれば、保留中のコヒーレントトランザクションの数に対応する使用したクレジットの総数が出しきい値250より小さくても、CPUに信号を送信してC3/C4状態から出す。同様に、高い処理能力が要求されるアプリケーションの場合、所望の性能を実現できるよう、出しきい値250を0%に設定してもよい。また、システムの電力供給源がバッテリしかない実施形態では、出しきい値250はバッテリの充電量の残りに応じて変更できる。
入しきい値および出しきい値の設定をさまざまに変更できることは明らかである。一実施形態では、入しきい値と出しきい値は略同じである。例えば、高い処理能力が要求されるアプリケーションの場合は、入しきい値および出しきい値はどちらも0%に固定されるとしてもよい。
また別の実施形態では、出しきい値と入しきい値は異なる値に設定される。例えば、入しきい値が出しきい値より大きく設定されるとしてもよい。また、入しきい値と出しきい値をさまざまに変更することで、CPUはバッテリの充電量の残りに応じて性能を調整することができる。また、しきい値を変更することで、CPUの電力状態の切り替え動作を変更してもよい。出しきい値および入しきい値をこのように変更することで、C3/C4状態に入るタイミングと定期的に発生するトラフィックのタイミングが一致するため起こりうる、CPUが低電力状態から頻繁に抜け出す状況を避けることができる。さらに、入る時と出る時の動作が非対称となるので、CPUがC3/C4状態にある時間を調整したり、長くしたりすることができる。例えば、CPUがC3/C4状態から出るのにかかる時間は数百マイクロ秒だが、この間にCPUの位相ロックループが消費する電力は、立ち上がりのための最初の10マイクロ秒で消費される電力の2倍に等しい。このため、CPUがC3/C4状態にある時間が同状態から出る時の待ち時間より短い場合、消費電力削減の実効果はほとんどないか、無視できる程度のものになってしまい、最悪の場合電力消費が増えてしまうこともある。
図3Aから図3Cは、コンピュータシステムにおけるチップセットのパーティション構成のさまざまな実施形態を示している。図3Aに、メモリコントローラ310、入出力コントローラ320、電力管理回路330を示す。電力管理回路330はメモリコントローラ310および入出力コントローラ320に対して外部に設けられている。メモリコントローラ310は、リンク315を介して入出力コントローラ320に接続されている。リンク315は、デジタルメディアインターフェース(DMI)リンクなどである。メモリコントローラ310はまた、クレジットを単位とする計算方式に基づいたフローコントロールプロトコル、例えばPCI Expressを採用したバスまたはインターコネクト(不図示)を1本以上用いることによって、1以上の周辺デバイス(不図示)に接続されている。
一実施形態によると、電力管理回路330は、側波帯信号332および334によって、メモリコントローラ310および/または入出力コントローラ320と通信を行う。側波帯信号332および334は、周辺デバイスとの間でバスマスタイベントが発生しているかどうかを示す。周辺デバイスは例えば、AGP(Advance Graphic Port)である。側波帯信号332および334は通常、XX_BUSYと表される。例えば、AGPに対応する側波帯信号はAGP_BUSYで表される。側波帯信号に1以上の共有信号が含まれるのは明らかである。
一実施形態において、メモリコントローラ310または入出力コントローラ320の一方は、メモリコントローラ310と入出力コントローラ320間で送信される1以上のメッセージパケットを基にバスマスタイベントに関する情報を集めるリーダー役となる。メッセージパケットはDMIメッセージパケット325を含むとしてもよい。ここで、リーダー役の方は、側波帯信号334および332の一方により、電力管理回路330との通信を継続して行う。
図3Bに、コンピュータシステムにおけるチップセットのパーティション構成の別の実施形態を示す。同図に示されるチップセットは、メモリコントローラ340および入出力コントローラ350を有し、リンク345で接続されている。リンク345は、DMIリンクであってもよい。また、実施形態によっては、図示していないほかのデバイスを含むとしてもよい。メモリコントローラ340はまた、クレジットを単位とする計算方式に基づくフローコントロールプロトコル、例えばPCI Expressを採用したバスまたはインターコネクト(不図示)を介して、周辺デバイス(不図示)に接続されている。周辺デバイスは例えば、外付けのグラフィックコア、イーサネット(登録商標)コントローラなどであってもよい。入出力コントローラ350はインターコネクト上で行われるデータトラフィックを監視するための電力管理回路352を有する。電力管理回路352は入出力コントローラ350の内部にあるため、メモリコントローラ340は、周辺デバイスとの間のインターコネクト上で実行中のトラフィックがあるかどうか判定するためには、入出力コントローラ350と通信しなければならない。一実施形態において、メモリコントローラ340は、リンク345を介して入出力コントローラ350に送信するメッセージパケット347のビットのうち1つ以上を設定する。メッセージパケット347はDMIパケットであってもよい。メッセージパケット347中のビットを設定することを、側波帯信号(例えば、図3Aに示した側波帯信号332および334)とは対照的に、バスマスタインジケータ信号の帯域内仮想化と呼ぶ。このように呼ぶのは、メモリコントローラ340および入出力コントローラ350双方のピンやコネクタといった構成をなくす目的で、バスマスタインジケータ信号が抽象化されているためである。また、電力管理回路352は、ほかのインターコネクト(不図示)を介して入出力コントローラ350と接続された別の周辺デバイス(不図示)との間のバスマスタイベントを監視するとしてもよい。
図3Cに、コンピュータシステムにおけるチップセットのパーティション構成の別の実施形態を示す。同図に示すチップセットは、統合メモリ・入出力コントローラ360を有する。統合メモリ・入出力コントローラ360は内部電力管理回路365を有する。電力管理回路365は統合コントローラ360の一部として構成されているため、コントローラ360に接続された周辺デバイスに対応するバスマスタ情報はコントローラ360内の論理回路を介して内部に記録されるとしてもよい。
図3Aから図3Cに示した、チップセットのパーティション構成のさまざまな実施形態は、本開示技術を説明するためのものにすぎない。本開示技術を応用して、コンピュータに備えられるチップセットのパーティション構成の別の実施形態を実現してもよい。
図4にコンピュータシステム400の実施形態を例示する。コンピュータシステム400は、中央演算処理装置(CPU)410、メモリコントローラ(MCH)420、複数のDIMM(dual in−line memory module)425、複数のメモリデバイス427、PCI Expressグラフィックポート(AGP)430、入出力コントローラ(ICH)440、複数のUSB(Universal Serial Bus)ポート445、オーディオコーダ・デコーダ(AUDIO CODEC)460、スーパー入出力(スーパー I/O)450、およびファームウェアハブ(FWH)470を有する。
一実施形態において、CPU410、AGP430、DIMM425およびICH440は、MCH420に接続されている。MCH420とICH440間を結ぶリンク435はDMIリンクであってもよい。MCH420は、DIMM425を介して、メモリデバイス427との間でデータのやり取りを行う。メモリデバイス427には、さまざまな種類のメモリを用いてもよい。例えば、ダイナミックRAM(Dynamic Random Access Memory:DRAM)、同期型DRAM(Synchronous Dynamic Random Access Memory:SDRAM)、DDR(Double Data Rate)SDRAM、またはフラッシュメモリなどが挙げられる。一実施形態においては、DIMM425はすべて、MCH420に接続されるよう、DIMMコネクタ(不図示)を介して同じマザーボード(不図示)に実装されている。また、一実施形態において、USBポート445、AUDIO CODEC460およびスーパーI/O450はICH440に接続されている。スーパーI/O450は、FWH470、フロッピーディスクドライブ451、キーボードやマウスなどのデータ入力装置453、複数のシリアルポート455および複数のパラレルポート457と接続されている。
一実施形態において、ICH440は電力管理回路442を有する。電力管理回路442は、ICH440およびMCH420と周辺デバイスを接続するさまざまなインターコネクト上で行われるデータトラフィックを監視する。周辺デバイスの例としては、AGP430が挙げられる。電力管理回路442はバスマスタインジケータを生成するとしてもよい。バスマスタインジケータは、リンク435を介して、メッセージパケット437内の仮想化信号として、MCH420からICH440に送信される。変形例としては、MCH420とICH440を統合して、電力管理回路を持つ単一のコントローラとし、バスマスタインジケータはロジックを介して内部に記憶するとしてもよい。
また別の実施形態においては、MCH420およびICH440は別々の装置のままとして、電力管理回路はMCH420およびICH440の両方に対して外部とする。ここで、MCH420またはICH440の一方が、MCH420とICH440間でやり取りされたメッセージパケットに基づいて、もう一方のコントローラからシステム400中の周辺デバイスとの間のバストラフィックに関する情報を集めるためのリーダー役を果たすとしてもよい。また、リーダー役の方は、1つ以上の側波帯信号を用いて外部にある電力管理回路に集めた情報を送るとしてもよい。
コンピュータシステム400のさまざまな実施形態には、図4に示す構成要素もしくは関連するハードウェアの一部またはすべてが含まれるとしてもよい。しかし、コンピュータシステムの構成を変更した場合、図4に示されていないデバイスを1つ以上有するとしてもよい。また本開示技術は、マルチドロップ環境や2地点間環境のようなほかのシステム環境に応用が可能であるのは明らかである。同様に、本開示技術は携帯用およびデスクトップコンピュータシステムのどちらにも応用が可能である。
上述の内容は、本発明の実施形態のうちいくつかを例として挙げて説明したものにすぎない。以上の説明、添付の図面および請求の範囲を基に、請求の範囲を超えないさまざまな変更が可能であるのは当業者には明らかである。このため、明細書の説明は、発明を限定するものではなく説明するためのものである。
符号の説明
210 入しきい値
250 出しきい値
310 メモリコントローラ(MCH)
315 リンク
320 出入力コントローラ(ICH)
325 メッセージパケット
332、334 側波帯信号
330 電力管理回路
340 メモリコントローラ(MCH)
345 リンク
347 メッセージパケット
350 入出力コントローラ(ICH)
352 電力管理回路
360 統合MCH&ICH
365 電力管理回路
410 中央演算処理装置(CPU)
420 メモリコントローラ(MCH)
425 DIMM
427 メモリデバイス
430 PCI Expressグラフィックポート(AGP)
435 デジタルメディアインターフェース(DMI)リンク
437 メッセージパケット
440 入出力管理回路(ICH)
442 電力管理回路
445 USBポート
450 スーパー入出力(スーパーI/O)
451 フロッピーディスクドライブ
453 データ入力装置
455 シリアルポート
457 パラレルポート
460 オーディオコーダ・デコーダ(AUDIO CODEC)
470 ファームウェアハブ(FWH)

Claims (27)

  1. システムの電力を管理する方法であって、
    当該システム中のチップセットデバイスと周辺デバイスとを接続するインターコネクト上で行われる複数のトランザクションを監視する手順であって、前記複数のトランザクションのやり取りは、前記周辺デバイスと前記チップセットデバイス間において、前記チップセットデバイスに前記複数のトランザクションの記録を取らせるフローコントロールプロトコルに従って行われている手順と、
    前記チップセットデバイスのバッファに保留されている複数のコヒーレントトランザクションが第1しきい値を超えている場合、前記システム中に備えられたプロセッサがスリーピング状態から出る手順と
    前記チップセットデバイスの前記バッファに保留中の複数のインコヒーレントトランザクションが第2しきい値を超えている場合、前記プロセッサが前記スリーピング状態に入ることを許可する手順と
    を備える方法。
  2. 前記プロセッサが前記スリーピング状態に入ることを許可する場合には、前記周辺デバイスとチップセットデバイスとの間を伝送されるメッセージパケット内のインジケータをデアサートする手順をさらに備える請求項1に記載の方法。
  3. 前記バッファに保留されている前記複数のコヒーレントトランザクションが前記第1しきい値を超えていない場合、所定の時間が経過したか確認する手順と、
    前記所定の時間が経過している場合、前記プロセッサは前記スリーピング状態から出る手順と
    をさらに備える請求項1または2に記載の方法。
  4. 前記チップセットデバイスのバッファに保留されている複数のインコヒーレントトランザクションが前記第2しきい値以上になるまで、前記複数のインコヒーレントトランザクションの処理を行わない、
    請求項1から3のいずれかに記載の方法。
  5. 前記チップセットデバイスの前記バッファに保留中の前記複数のインコヒーレントトランザクションが前記第2しきい値を下回っている場合、前記プロセッサが前記スリーピング状態に入ることを禁止する手順
    をさらに備える請求項1から4のいずれかに記載の方法。
  6. 前記チップセットデバイスの前記バッファに保留中の前記複数のインコヒーレントトランザクションが前記第2しきい値を下回る場合、第2の所定時間が経過したか確認する手順と、
    前記第2の所定時間が経過していれば、前記プロセッサが前記スリーピング状態に入ることを許可するべく、前記メッセージパケット内の前記インジケータをデアサートする手順と
    をさらに備える請求項に記載の方法。
  7. 前記第1しきい値と前記第2しきい値は略等しい
    請求項1から6のいずれかに記載の方法。
  8. 前記第1しきい値は前記第2しきい値より小さい
    請求項1から6のいずれかに記載の方法。
  9. 前記第1しきい値は前記第2しきい値より大きい
    請求項1から6のいずれかに記載の方法。
  10. 前記フローコントロールプロトコルは、PCI(Peripheral Component Interconnect)Expressである
    請求項1から9のいずれかに記載の方法。
  11. 前記チップセットデバイスはメモリコントローラを含む
    請求項1から10のいずれかに記載の方法。
  12. 前記チップセットデバイスは入出力コントローラを含む
    請求項1から11のいずれかに記載の方法。
  13. コンピュータシステムに備えられた装置であって、
    当該コンピュータシステム中のルートコンプレックスデバイスと周辺デバイスを接続するインターコネクト上で行われる複数のトランザクションを監視する電力管理回路であって、前記複数のトランザクションのやり取りは、前記周辺デバイスと前記ルートコンプレックスデバイス間において、前記ルートコンプレックスデバイスに前記複数のトランザクションの記録を取らせるフローコントロールプロトコルに従って行われている電力管理回路と、
    前記ルートコンプレックスデバイスに接続されたデジタルメディアインターフェースであって、前記ルートコンプレックスデバイスのバッファに保留されている複数のコヒーレントトランザクションが第1しきい値を超えている場合、前記コンピュータシステム中に備えられたプロセッサがスリーピング状態から出るべく、第1メッセージパケットを前記ルートコンプレックスデバイスに送信するデジタルメディアインターフェースと
    を備え
    前記プロセッサが前記スリーピング状態に入る要求を出した場合、前記ルートコンプレックスデバイスの前記バッファに保留中の複数のインコヒーレントトランザクションが第2しきい値を超えていれば、前記電力管理回路は、前記プロセッサが前記スリーピング状態に入ることを許可するべく、第2メッセージパケット内のインジケータをデアサートする装置。
  14. 前記プロセッサが前記スリーピング状態に入る要求を出した場合、前記ルートコンプレックスデバイスの前記バッファに保留中の前記複数のインコヒーレントトランザクションが前記第2しきい値を下回っていれば、前記電力管理回路は、前記プロセッサが前記スリーピング状態に入ることを禁止する
    請求項13に記載の装置。
  15. 所定時間が経過していれば、前記プロセッサが前記スリーピング状態に入るのを禁止する処理ロジック
    をさらに含む請求項13または14に記載の装置。
  16. 前記第1しきい値と前記第2しきい値は略等しい
    請求項13から15のいずれかに記載の装置。
  17. 前記フローコントロールプロトコルは、クレジットを単位とする計算方式に基づいたフローコントロールプロトコルである
    請求項13から16のいずれかに記載の装置。
  18. コンピュータシステムに備えられた半導体チップであって、
    前記コンピュータシステム中で周辺デバイスに接続されたメモリコントローラと、
    前記周辺デバイスと前記メモリコントローラ間のトランザクションを監視するべく、前記メモリコントローラに接続された電力管理回路と、
    前記メモリコントローラと同じ基板に配設されている入出力コントローラと、
    を備え、
    前記入出力コントローラは、前記コンピュータシステム中のプロセッサからスリーピング状態に入る要求を受けた場合、前記メモリコントローラのバッファに保留中の複数のインコヒーレントトランザクションが入しきい値を超えていれば、前記プロセッサが前記スリーピング状態に入ることを許可し、前記複数のインコヒーレントトランザクションが前記入しきい値を下回っていれば、前記プロセッサが前記スリーピング状態に入ることを禁止すると共に、
    前記メモリコントローラの前記バッファに保留中の複数のコヒーレントトランザクションが出しきい値を超えている場合、前記入出力コントローラは前記プロセッサを前記スリーピング状態に入ることを禁止する半導体チップ。
  19. 前記入出力コントローラは、前記プロセッサが前記スリーピング状態に入ることを許可する場合には、前記メモリコントローラと前記入出力コントローラとの間を伝送されるメッセージパケット内のインジケータをデアサートする請求項18に記載の半導体チップ。
  20. 前記入しきい値と前記出しきい値は略等しい
    請求項18または19に記載の半導体チップ。
  21. 前記入しきい値と前記出しきい値は変更することができる
    請求項18から20のいずれかに記載の半導体チップ。
  22. 前記周辺デバイスと前記メモリコントローラは、クレジットを単位とする計算方式に基づいたフローコントロールプロトコルを使用するインターコネクトを介して接続されている
    請求項18から21のいずれかに記載の半導体チップ。
  23. 前記周辺デバイスと前記メモリコントローラはバスを介して接続されている
    請求項18から22のいずれかに記載の半導体チップ。
  24. システムであって、
    プロセッサと、
    前記プロセッサに接続されたメモリコントローラと、
    グラフィックスチップと、
    前記グラフィックスチップと前記メモリコントローラを接続するインターコネクトと、
    前記メモリコントローラに接続された入出力コントローラと、
    を有しており、
    前記入出力コントローラは
    前記インターコネクト上で行われる複数のトランザクションを監視する電力管理回路であって、前記複数のトランザクションのやり取りは、前記グラフィックスチップと前記メモリコントローラ間において、フローコントロールプロトコルに従って行われている電力管理回路と、
    前記メモリコントローラに接続されたデジタルメディアインターフェースであって、前記メモリコントローラのバッファに保留されている複数のコヒーレントトランザクションが第1しきい値を超えている場合、前記プロセッサがスリーピング状態から出るべく、第1メッセージパケットを前記メモリコントローラに送信するデジタルメディアインターフェースとを含み、
    前記プロセッサが前記スリーピング状態に入る要求を出した場合、前記メモリコントローラの前記バッファに保留中の複数のインコヒーレントトランザクションが第2しきい値を超えていれば、前記電力管理回路は、前記プロセッサが前記スリーピング状態に入ることを許可するべく、第2メッセージパケット内のインジケータをデアサートするシステム。
  25. 前記プロセッサが前記スリーピング状態に入る要求を出した場合、前記メモリコントローラの前記バッファに保留中の前記複数のインコヒーレントトランザクションが前記第2しきい値を下回っていれば、前記電力管理回路は、前記プロセッサが前記スリーピング状態に入ることを禁止する
    請求項24に記載のシステム。
  26. 前記第1しきい値と前記第2しきい値は略等しい
    請求項24または25に記載のシステム。
  27. 前記フローコントロールプロトコルは、クレジットを単位とする計算方式に基づいたフローコントロールプロトコルである
    請求項24から26のいずれかに記載のシステム。
JP2006547484A 2003-12-30 2004-12-23 コンピュータシステムの電力管理の方法および装置 Expired - Fee Related JP4376907B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/749,855 US7237131B2 (en) 2003-12-30 2003-12-30 Transaction-based power management in a computer system
PCT/US2004/043675 WO2005066743A2 (en) 2003-12-30 2004-12-23 A method and an apparatus for power management in a computer system

Publications (2)

Publication Number Publication Date
JP2007517332A JP2007517332A (ja) 2007-06-28
JP4376907B2 true JP4376907B2 (ja) 2009-12-02

Family

ID=34711148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006547484A Expired - Fee Related JP4376907B2 (ja) 2003-12-30 2004-12-23 コンピュータシステムの電力管理の方法および装置

Country Status (7)

Country Link
US (1) US7237131B2 (ja)
EP (1) EP1702253B1 (ja)
JP (1) JP4376907B2 (ja)
KR (1) KR100798980B1 (ja)
CN (1) CN100498652C (ja)
TW (1) TWI266183B (ja)
WO (1) WO2005066743A2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178045B2 (en) * 2003-12-30 2007-02-13 Intel Corporation Optimizing exit latency from an active power management state
JP4316399B2 (ja) * 2004-02-18 2009-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム、記録媒体、制御方法、及び情報処理装置
JP4189882B2 (ja) * 2004-05-11 2008-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体、情報処理装置、制御方法、及びプログラム
US7353414B2 (en) * 2005-03-30 2008-04-01 Intel Corporation Credit-based activity regulation within a microprocessor based on an allowable activity level
JP2006338380A (ja) * 2005-06-02 2006-12-14 Toshiba Corp 情報処理装置およびその制御方法
US20060277126A1 (en) * 2005-06-06 2006-12-07 Intel Corporation Ring credit management
US7924708B2 (en) * 2005-12-13 2011-04-12 Intel Corporation Method and apparatus for flow control initialization
US7752473B1 (en) 2006-03-20 2010-07-06 Intel Corporation Providing a deterministic idle time window for an idle state of a device
US20070260780A1 (en) * 2006-04-11 2007-11-08 Nokia Corporation Media subsystem, method and computer program product for adaptive media buffering
US7689847B2 (en) * 2006-06-13 2010-03-30 Via Technologies, Inc. Method for increasing the data processing capability of a computer system
US7783905B2 (en) * 2006-06-13 2010-08-24 Via Technologies Inc. Method for reducing power consumption of a computer system in the working state
US7895456B2 (en) * 2006-11-12 2011-02-22 Microsemi Corp. - Analog Mixed Signal Group Ltd Reduced guard band for power over Ethernet
US7734942B2 (en) * 2006-12-28 2010-06-08 Intel Corporation Enabling idle states for a component associated with an interconnect
US7774626B2 (en) * 2007-03-29 2010-08-10 Intel Corporation Method to control core duty cycles using low power modes
US8527709B2 (en) * 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US8112646B2 (en) * 2007-09-17 2012-02-07 Intel Corporation Buffering techniques for power management
US8386806B2 (en) * 2007-12-17 2013-02-26 Intel Corporation Integrated power management logic
US8806258B2 (en) * 2008-09-30 2014-08-12 Intel Corporation Platform communication protocol
US8019920B2 (en) * 2008-10-01 2011-09-13 Hewlett-Packard Development Company, L.P. Method to improve operating performance of a computing device
US9785462B2 (en) 2008-12-30 2017-10-10 Intel Corporation Registering a user-handler in hardware for transactional memory event handling
US8799582B2 (en) * 2008-12-30 2014-08-05 Intel Corporation Extending cache coherency protocols to support locally buffered data
US8627014B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Memory model for hardware attributes within a transactional memory system
US8156275B2 (en) 2009-05-13 2012-04-10 Apple Inc. Power managed lock optimization
KR101282199B1 (ko) * 2009-11-19 2013-07-04 한국전자통신연구원 클러스터 시스템의 전력 제어 장치 및 방법
US8782456B2 (en) 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8850250B2 (en) * 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
US9146610B2 (en) 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
CN103348303B (zh) * 2011-02-08 2016-08-17 飞思卡尔半导体公司 提供电力管理的集成电路器件、电力管理模块以及方法
US8862906B2 (en) * 2011-04-01 2014-10-14 Intel Corporation Control of platform power consumption using coordination of platform power management and display power management
JP5791397B2 (ja) * 2011-07-07 2015-10-07 ルネサスエレクトロニクス株式会社 デバイスコントローラ、usbデバイスコントローラ及び電力制御方法
KR101380452B1 (ko) * 2012-08-14 2014-04-14 한국과학기술원 버퍼리스 온칩 네트워크의 전력 소모 감소를 위한 목적지 기반 크레딧 흐름 제어 방법 및 장치
US9116694B2 (en) * 2012-09-26 2015-08-25 Intel Corporation Efficient low power exit sequence for peripheral devices
US20140095801A1 (en) * 2012-09-28 2014-04-03 Devadatta V. Bodas System and method for retaining coherent cache contents during deep power-down operations
KR20140089749A (ko) 2013-01-07 2014-07-16 한국전자통신연구원 클러스터의 부하 할당 제어 장치 및 그 방법
WO2014209395A1 (en) 2013-06-28 2014-12-31 Intel Corporation Adaptive interrupt coalescing for energy efficient mobile platforms
US9541987B2 (en) * 2013-06-28 2017-01-10 Intel Corporation Generic host-based controller latency method and appartus
US9880601B2 (en) * 2014-12-24 2018-01-30 Intel Corporation Method and apparatus to control a link power state
US10754410B2 (en) * 2018-11-09 2020-08-25 Monolithic Power Systems, Inc. System and method for standby mode operation of power management system
CN211427338U (zh) * 2019-12-04 2020-09-04 合肥市卓怡恒通信息安全有限公司 基于申威处理器的服务器主板
US11513973B2 (en) 2019-12-20 2022-11-29 Advanced Micro Devices, Inc. Arbitration scheme for coherent and non-coherent memory requests

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740454A (en) * 1995-12-20 1998-04-14 Compaq Computer Corporation Circuit for setting computer system bus signals to predetermined states in low power mode
US5721935A (en) * 1995-12-20 1998-02-24 Compaq Computer Corporation Apparatus and method for entering low power mode in a computer system
US6085330A (en) * 1998-04-07 2000-07-04 Advanced Micro Devices, Inc. Control circuit for switching a processor between multiple low power states to allow cache snoops
US6128745A (en) * 1998-05-28 2000-10-03 Phoenix Technologies Ltd. Power management inactivity monitoring using software threads
US6820169B2 (en) * 2001-09-25 2004-11-16 Intel Corporation Memory control with lookahead power management
US7260106B2 (en) * 2002-01-24 2007-08-21 Intel Corporation Method and apparatus for managing energy usage of processors while executing protocol state machines
EP1338948A1 (en) 2002-02-25 2003-08-27 Hewlett Packard Company, a Delaware Corporation Clock control arrangement for a computing system
US7219183B2 (en) * 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US20040212678A1 (en) * 2003-04-25 2004-10-28 Cooper Peter David Low power motion detection system
US7546418B2 (en) * 2003-08-20 2009-06-09 Dell Products L.P. System and method for managing power consumption and data integrity in a computer system
US7782325B2 (en) * 2003-10-22 2010-08-24 Alienware Labs Corporation Motherboard for supporting multiple graphics cards

Also Published As

Publication number Publication date
KR20060111658A (ko) 2006-10-27
TWI266183B (en) 2006-11-11
EP1702253A2 (en) 2006-09-20
CN100498652C (zh) 2009-06-10
TW200530806A (en) 2005-09-16
JP2007517332A (ja) 2007-06-28
CN1902566A (zh) 2007-01-24
US20050149768A1 (en) 2005-07-07
WO2005066743A3 (en) 2005-12-08
KR100798980B1 (ko) 2008-01-28
WO2005066743A2 (en) 2005-07-21
EP1702253B1 (en) 2016-06-29
US7237131B2 (en) 2007-06-26

Similar Documents

Publication Publication Date Title
JP4376907B2 (ja) コンピュータシステムの電力管理の方法および装置
US7496777B2 (en) Power throttling in a memory system
US9213393B2 (en) Power management of low power link states
US8850247B2 (en) Power management for a system on a chip (SoC)
US7174467B1 (en) Message based power management in a multi-processor system
US5884088A (en) System, apparatus and method for managing power in a computer system
JP4677630B2 (ja) 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
US20110264934A1 (en) Method and apparatus for memory power management
CN102646446B (zh) 硬件动态高速缓存电源管理
US20090327609A1 (en) Performance based cache management
JP6333971B2 (ja) ジェネリックホストベースのコントローラレイテンシ方法及び装置
US11281280B2 (en) Reducing chiplet wakeup latency
JPH08314716A (ja) データ処理装置及びその方法
US10409357B1 (en) Command-oriented low power control method of high-bandwidth-memory system
EP1573491B1 (en) An apparatus and method for data bus power control
US11204632B2 (en) Electronic device and method for controlling the same
US6829677B1 (en) Method and apparatus for preserving the contents of synchronous DRAM through system reset
WO2004053706A2 (en) An apparatus and method for address bus power control
US9270555B2 (en) Power mangement techniques for an input/output (I/O) subsystem
US20240028223A1 (en) Memory system
TW202318181A (zh) 記憶體交易之路由技術

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090603

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees