JP4766469B2 - 汎用システムスタッターをインプリメントするための方法及びシステム - Google Patents

汎用システムスタッターをインプリメントするための方法及びシステム Download PDF

Info

Publication number
JP4766469B2
JP4766469B2 JP2008119777A JP2008119777A JP4766469B2 JP 4766469 B2 JP4766469 B2 JP 4766469B2 JP 2008119777 A JP2008119777 A JP 2008119777A JP 2008119777 A JP2008119777 A JP 2008119777A JP 4766469 B2 JP4766469 B2 JP 4766469B2
Authority
JP
Japan
Prior art keywords
request
low power
computing device
computer
power 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.)
Active
Application number
JP2008119777A
Other languages
English (en)
Other versions
JP2008276779A (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 JP2008276779A publication Critical patent/JP2008276779A/ja
Application granted granted Critical
Publication of JP4766469B2 publication Critical patent/JP4766469B2/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/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Description

発明の分野
[0001]本発明の実施形態は、一般に、電力管理に関し、より詳細には、汎用システムスタッターをインプリメントするための方法及びシステムに関する。
関連技術の説明
[0002]本明細書の中で他に指摘されない限り、本明細書で説明される手法は本出願の特許請求の範囲に対する先行技術ではなく、本明細書に包めることによって先行技術になることは認められない。
[0003]エネルギー効率は多くのシステム設計において益々重要な考慮すべき事項になってきている。メモリ製造者は、アクティブ、アクティブアイドル、パワーダウン及びセルフリフレッシュなどの複数のパワー状態を備えたメモリシステムを開発してきた。通常、メモリシステムは、要求をサービス(service)するためにはアクティブ状態にあることが必要とされ、残りのパワー状態は、電力消費が減少する順に、しかしアクティブ状態に遷移して戻る時間は長くなる順に存在している。言い換えると、アクティブ状態は最大の電力を消費し、セルフリフレッシュ状態はクロック再同期のために最も大きな遅延をこうむる。同様に、また、システム相互接続リンクも、ここでも最高の待ち時間に最低パワー状態が対応する複数のパワー状態を備えている。したがって、エネルギー効率を達成する1つのアプローチは、メモリシステム、システム相互接続リンク、又はその両方を可能な限り長い時間最低パワー状態に維持する一方、そうした状態に入ること及び出ることに伴う長い待ち時間を効果的に管理することである。
[0004]説明のために、コンピュータ装置100がローパワー状態にある間、表示システム110だけがアクティブエージェントであり、システムメモリ106はセルフリフレッシュ状態にあり、システムリンク108はパワーダウン状態にあると想定されたい。図1Aは、このローパワー状態でデータを表示可能なコンピュータ装置100の簡略化された構成図である。コンピュータ装置100の表示システム110は、表示エンジン112と、表示デバイス114と、表示先入れ先出し(「FIFO」)バッファ116とを含む。表示エンジン112は、表示デバイス114の厳格なタイミング要件をメモリシステム106から切り離すために表示FIFOバッファ116を使用する。そのため、データを検索するためだけにシステムメモリ106をローパワー状態から「覚醒させる」ことに伴う場合によっては大きな待ち時間がそのまま残ることができるように、表示エンジン112は、表示FIFOバッファ116にローパワー状態の間の表示デバイス114のタイミング要件を満足させるに十分な画素データを確実に記憶させる。特に、コンピュータ装置100はローパワー状態にあるけれども、表示エンジン112は表示FIFOバッファ116内のデータを118の方向に処理し空にする。表示エンジン112が表示FIFOバッファ116内の所定の臨界の水位標(watermark)に達したときには、表示エンジン112は、表示FIFOバッファ116を120の方向にいっぱいに満たすためにローパワー状態を終了させシステムメモリ106からデータを取り出すプロセスを始動させる。また、このいっぱいに満たすプロセスは、表示FIFOバッファ116を「トッピングオフ(topping off)する」とも呼ばれる。
[0005]図1Bは、電力効率と表示エンジンとを最適化させるために表示FIFOバッファを持たない表示システムによるシステムメモリアクセスの1つのパターンを示すタイミング図であり、一方、図1Cは、電力効率と表示エンジン112とを最適化するために表示FIFOバッファ116を有する表示システム110によるシステムメモリアクセスの他のパターンを示すタイミング図である。電力効率最適化を持たない場合は、通常、アクセスギャップ150として示される任意の2つのメモリアクセス間の隙間は、セルフリフレッシュ状態などのローパワー状態に入り又は出ることに伴う待ち時間よりも小さい。一方、適切な大きさになされた表示FIFOバッファ116と共にメモリアクセスは一まとめにされることができ、アクセスギャップ160は、セルフルフレッシュ状態に入り又は出ることに伴う待ち時間に少なくとも等しい長さまで延長されることができる。このメモリアクセス要求のクラスタリング及びアクセスギャップの延長は、一括して「表示スタッター」と呼ばれる。図1Cに示されたパターンを用いて、コンピュータ装置100は、所望のエネルギー効率を達成することができる。
[0006]しかし、表示システム110に加えて、コンピュータ装置100は、システムリンク108及びチップセット104を介してシステムメモリにアクセスすることを要求する様々な入力/出力(「I/O」)エージェントを有する。これらのI/Oエージェントのいくつかの例は、無制限に、インテグレーテッドドライバエレクトロニクス(「IDE」)デバイス、ユニバーサルシリアルバス(「USB」)デバイス、ネットワークコントローラ、PCIエクスプレス(「PCI Express」)コントローラ、PCIブリッジ、及びPCI_Xコントローラを含む。N個のI/Oエージェントのそれぞれは、その固有の特徴的なタイミング要件を有し、多くのI/Oエージェントはスタッター要件をサポートしていない。図1Cに示されたものと類似のメモリアクセスパターンを導くメモリアクセス要求を発生させるためにI/Oエージェントのそれぞれを再設計することはコンピュータ装置100のエネルギー効率を向上させることができるが、複合動作デバイス、特にすでに広く採択されている古いI/Oエージェントをいじくり回すことのリスクとコストとは、いかなるそうした改良をも恐らくはるかに上回る。
[0007]前述のことが示すように、当技術分野に必要とされているものは、容易に開発されることができ、上に説明した従来技術のアプローチの少なくとも短所に対処する汎用システムスタッターである。
発明の概要
[0008]汎用システムスタッターをインプリメントするための方法とシステムが開示される。具体的には、本発明の一実施形態は、コンピュータ装置のローパワー状態の間はコンピュータ装置のタイミング要件によって許される限り長い時間にわたって複数のバスマスタのうちの第1のバスマスタから受信した第1要求をブロックするステップであって、タイミング要件の限界に及ぶ第1要求はコンピュータ装置をトリガしてローパワー状態から遷移させることができるステップと、コンピュータ装置のアクティブ状態の間に、コンピュータ装置がローパワー状態に遷移して戻る前に複数のバスマスタの残りのバスマスタからの他の未決の要求と共に第1要求をサービスするステップと、を含む方法を規定する。
[0009]開示された方法及びシステムの1つの利点は、コンピュータ装置内の様々なI/Oエージェントの任意の再設計をすることなく、このコンピュータ装置に関するメモリアクセスが、コンピュータ装置のエネルギー効率を高めるために管理され得ることである。
[0010]本発明の上記に説明された特徴がより詳細に理解されるようなやり方で、上に簡潔に概要を述べた本発明のより詳細な説明が、そのいくつかは添付の図面に示される実施形態を参照して行われる。しかし、添付の図面は本発明の代表的な実施形態を示すだけであり、したがって、本発明は他の等しく有効な実施形態を認めることができるのであるから、本発明の範囲を限定すると見なされるべきでないことに留意されたい。
詳細な説明
[0022]本開示を通して、本発明の一実施形態がコンピュータ装置と共に使用するためにソフトウェア要素としてインプリメントされる。ソフトウェア要素は(本明細書で説明される方法を含む)実施形態の機能を規定し、多様なコンピュータ読み取り可能な記憶媒体の上に含まれることができる。実例となるコンピュータ読み取り可能な記憶媒体は、(i)その上に情報が永久的に格納された書き込みできない記憶媒体(例えば、コンピュータ装置内の読み出し専用メモリデバイス)、(ii)その上に変更可能な情報が格納された書き込み可能記憶媒体(例えば、フラッシュメモリなどの書き込み可能記憶デバイス)を含むが、これらに限定されない。こうしたコンピュータ読み取り可能な記憶媒体は、本発明の機能を管理するコンピュータ読み取り可能なインストラクションを携えている場合には、本発明の実施形態である。他の媒体は、無線通信網を含むデータ網又は電話網を通してなどの、それを通して情報がコンピュータ装置に伝送される通信媒体を含む。特に、後者の実施形態は、インターネット及び他のネットワークへ又はそこから情報を送信することを含む。こうした通信媒体は、本発明の機能を管理するコンピュータ読み取り可能なインストラクションを携えている場合には、本発明の実施形態である。しかし、ハードウェア要素又はハードウェア要素とソフトウェア要素との組合せを使用して本発明の他の実施形態をインプリメントすることは当業者にとって明白であろう。
[0023]図2は、本発明の一実施形態による汎用システムスタッターをインプリメントするように構成されたコンピュータ装置200のいくつかの構成要素の簡略化された構成図である。コンピュータ装置200は、処理ユニット202と、アービタ205を有するチップセット204と、システムメモリ206と、表示システム210と、システムリンク208及びいくつかのI/Oエージェントに結合された集中化されたスタッターユニット221を含む。通常、表示システム210は、ビデオデータを処理し表示デバイス214を駆動するために、表示エンジン212と、ローカルビデオメモリ(図2には図示せず)と、表示FIFOバッファ216とを含む。表示デバイス214は、表示エンジン212によって発生されたデータ信号に対応する視覚映像を放出可能な出力デバイスである。表示デバイス214のいくつかの例は、無制限に、陰極線管(CRT)モニタ、液晶ディスプレイ、プラズマディスプレイ、プロジェクタ、又は任意の他の適切な表示システムを含む。
[0024]システムメモリ206は、処理ユニット202及びさらに表示エンジン212を実行させ作動させるためのプログラミングインストラクション及びスクリーンデータを含むデータを格納する。示されているように、処理ユニット202は、システムメモリ206及び表示システム210と、チップセット204を介して通信する。代替として、処理ユニット202は、システムメモリ206に接続するための専用のメモリポートを含む。他のインプリメンテーションにおいては、処理ユニット202、表示システム210内の表示エンジン212、チップセット204、又はそれらの任意の組合せは、単一の処理ユニットの中に一体化されることができる。さらに、表示エンジン212の機能はチップセット204の中に、又はいくつかの他のタイプの特殊目的の処理ユニット又はコプロセッサの中に含まれることができる。こうした実施形態においては、ソフトウェアインストラクションは、システムメモリ206以外のメモリシステムの中に常駐することができ、処理ユニット202以外の処理ユニットによって実行されることができる。また、チップセット204は、ノースブリッジ及びサウスブリッジなどの異なるタイプのI/Oエージェントに仕えるために共に働く複数のディスクリート集積回路を含むことができると認識することも当業者には明白であろう。
[0025]アービタ205及び集中化されたスタッターユニット221は図2においては2つのディスクリート部品として示されているが、本発明の範囲内にとどまりつつ他の構成を使用して汎用システムスタッターをインプリメントすることは当業者にとって明白であろう。例えば、1つのインプリメンテーションにおいて、集中化されたスタッターユニット221の機能はアービタ205の中に含まれる。
[0026]図3Aは、本発明の一実施形態による集中化されたスタッターユニット221の分解図である。バスマスタを備えた各I/Oエージェントについて、集中化されたスタッターユニット221は、バスマスタの要求がアービタ205に伝わることを場合によってはブロックするための対応するブロッカーを含む。例えば、ブロッカー302はI/Oエージェント222に対応し、ブロッカー304はI/Oエージェント224に対応する。1つのインプリメンテーションにおいて、各ブロッカーは、数学的に次のように表すことのできるプログラム可能フィールド、MAX_BLOCK_TIME、
MAX_BLOCK_TIME=関連したI/Oエージェントの待ち時間許容差―(ローパワー状態を終了することに伴う待ち時間+I/Oエージェント間を調停する時間)
を有する。例えば、図2に関連して、I/Oエージェント222のバスマスタは固有の100μsecの待ち時間許容差を有し、バスマスタがローパワー状態においてシステムメモリ206からデータを要求していると想定されたい。さらに、システムメモリ206がローパワー状態からアクティブ状態に遷移し及びアービタ205がサービスのための要求を選択するための双方ともに20usecかかるものと想定されたい。したがって、I/Oエージェント222のバスマスタがそのタイミングの制約条件を満たすためには、要求されたデータを100usec以内で受信することが必要となる。しかし、アービタ205及びシステムメモリ206が要求をサービスするためには20usecを必要とするから、ブロッカー302は、せいぜい(100−20)、すなわち80usecの間にわたって要求をブロックできる。言い換えると、80usec目のときに、ブロッカー302は、要求をアービタ205に伝えることを開始し、システムメモリ206をアクティブ状態に遷移させるプロセスを始動させる必要がある。代替として、上の等式で使用された待ち時間許容差は、もしあるならばコンピュータ装置200上で動作するように構成されたソフトウェア安全網のタイプにさらに依存する。例えば、1つのソフトウェア安全網は、パケット紛失が伝送中に検出されたときにはパケット再送するようにコンピュータ装置200を構成する。こうしたソフトウェア安全網があるときには、待ち時間許容差は、バスマスタの固有の待ち時間許容差を超えて延長されることができる。
[0027]その上、各ブロッカーは互いに接続されている。したがって、単一のI/Oエージェントからアービタ205までへの1つのバスマスタ要求の伝搬は、集中化されたスタッターユニット221内の全ての他のブロッカーの「ブロック解除」を引き起こし、アービタ205への全ての未決のバスマスタ要求を解放する。アービタ205は、サービスするために様々なバスマスタからの要求の中からポリシーを持って選択するように構成される。アービタ205は本発明の範囲を超えることなく知られた調停スキームを採択できると認識することは当業者には明白であろう。
[0028]図3Bは、本発明の一実施形態による、集中化されたスタッターユニット221内のブロッカーの状態遷移図350である。図3Aに示されたブロッカー302を説明として使用すると、通常、ブロッカー302は、特に図2のコンピュータ装置200がローパワー状態である間は、アイドル状態352にある。この状態はブロッカー302が任意の未決のバスマスタ要求を有していないことを示す。ローパワー状態の間にブロッカー302がI/Oエージェント222からバスマスタ要求を受信したと想定されたい。ブロッカー302についての前述のMAX_BLOCK_TIMEがゼロでない値を含んでいるならば、その場合にはブロッカー302はブロック状態354に遷移し、要求のブロッキングを開始する。ブロッキングは、I/Oエージェント222が要求をディアサートするかブロッカー302が要求未決状態356に遷移するかのいずれかまでは有効なままである。要求未決状態356へ遷移させる1つのきっかけとなる状態は、バスマスタ要求がMAX_BLOCK_TIMEにわたってブロックされてしまったときであり、他のきっかけとなる状態はコンピュータ装置200がローパワー状態を終了するときである。ローパワー状態からのこの遷移は、いくつかのシナリオの中でMAX_BLOCK_TIMEの期間終了に先立って生じることもある。例えば、集中化されたスタッターユニット221内の他のブロッカーは、ブロッカー302がそのMAX_BLOCK_TIMEに到達しコンピュータ装置200をトリガしてアクティブ状態に入らせる前に、その未決要求をブロック解除する。他のシナリオでは、表示システム210がシステムリンク208を介してデータを要求し始め、ブロッカー302のMAX_BLOCK_TIMEの期間終了の前にコンピュータ装置200をトリガしてローパワー状態から遷移させる。
[0029]上述のようにブロック状態354を経由して要求未決状態356に到達する代わりに、ブロッカー302はアイドル状態352から直接、要求未決状態356に到達することができる。説明のため、再び、ブロッカー302はI/Oエージェント222からバスマスタ要求を受信することを想定されたい。コンピュータ装置200がローパワー状態にないか又はブロッカー302のMAX_BLOCK_TIMEがゼロになされているときには、この場合にはブロッカー302は、直接、要求未決状態356に遷移する。未決要求がさらなる処理のためにアービタ205に伝えられた後で、ブロッカー302はアイドル状態352に遷移して戻る。
[0030]さらに、通常、表示システム210は図2のコンピュータ装置200のローパワー状態におけるデータの主たる消費者であるので、汎用システムスタッターの1つのインプリメンテーションは、上述したブロッカーを操作して、表示システム210からのメモリアクセス要求を備えた様々なI/Oエージェントからのできる限り多くのメモリアクセス要求を一まとめにすることである。図4A〜図4E及び以降の議論は、異なる待ち時間許容差限界を有するI/Oエージェントの様々なバスマスタの取扱いを説明する。
[0031]図4Aは、本発明の一実施形態による高い待ち時間許容差を有するバスマスタからのメモリアクセス要求400を取り扱うタイミング図である。ここで、このバスマスタを担当するブロッカーは、メモリアクセスのクラスタ402が表示システム210のために実行された後で、メモリアクセス要求400がサービスされるようにする。1つのインプリメンテーションにおいて、メモリアクセスのクラスタ402は、表示FIFO216をいっぱいに満たすための表示エンジン212のためである。メモリアクセス404をクラスタ402とグループにまとめることによって、システムメモリ206は、メモリアクセス要求400を満たすためだけにローパワー状態から単独に遷移する必要がなくなる。アクセスギャップ406は、システムメモリ206をアクセスするための未決要求を有するコンピュータ装置内の全てのI/Oエージェントの中の最小の待ち時間許容差によって限定されることは注目に値する。しかし、図4Aに示された実施例では、1つのインプリメンテーションにおけるものであるが、最小待ち時間許容差は表示FIFO216のサイズによって決定される表示システム210の待ち時間許容差に等しい。
[0032]図4Bは、本発明の一実施形態による、アクセスギャップ416よりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求410を取り扱うタイミング図である。このバスマスタを担当するブロッカーは、アービタ205のブロック解除及びシステムメモリ206のローパワー状態からの遷移を引き起こす。この特殊な実施例では、メモリアクセス要求410に対応するメモリアクセス414は、表示システム210のためのメモリアクセスのクラスタ412の中に挿入される。図4Aで説明され上記で詳述されたことと同様に、クラスタ412と共にメモリアクセス414を処理することは、システムメモリ206がメモリアクセス要求410をサービスするだけのためにローパワー状態から単独に遷移するのを妨げる。
[0033]図4Cは、アクセスギャップ428よりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求420を取り扱う他のタイミング図である。ここでは、低い待ち時間許容差のために、システムメモリ206はメモリアクセス要求420に対応するメモリアクセス424にサービスするためにローパワー状態から遷移する。期間430の間はアクティブ状態にあるシステムメモリ206を十分に利用するために、表示エンジン212の1つのインプリメンテーションは、表示FIFO216を434の方向にトップオフさせる。より詳細には、表示エンジン212が、ローパワー状態の間に表示FIFO216内の画素データを432の方向に空にし、処理することにより、メモリアクセス要求420の発生は、システムメモリ206の覚醒とメモリアクセスのクラスタ426へのサービスとをトリガして、表示FIFO216を434の方向にトップオフさせる。
[0034]図4Dは、本発明の一実施形態による、異なるバスマスタからの複数のメモリアクセス要求を取り扱うタイミング図である。2つのバスマスタのうちのいずれかの待ち時間許容差がアクセスギャップ450よりも著しく長いことを想定されたい。メモリアクセス要求440とメモリアクセス要求442とを担当する2つのブロッカーは、対応するメモリアクセス446と448とのそれぞれを、表示システム210のためのメモリアクセスのクラスタ444とグループにまとめられるようにする。図4Dに示されたメモリアクセス446と448とのクラスタリングは、ただ説明のためだけであり、本発明の範囲を超えることなくアービタ205によって採択された調停ポリシーによって変更されることができると認識することは当業者には明白であろう。
[0035]最後に、図4Eは、本発明の一実施形態による、表示システム210のためのメモリアクセスのクラスタ462を処理している間にバスマスタからのメモリアクセス要求460を取り扱うタイミング図である。1つのインプリメンテーションにおいて、このバスマスタを担当するブロッカーは、さらなるブロッキングをすることなく要求をアービタ205に伝え、メモリアクセス464が表示システム210のためのメモリアクセスのクラスタ462の中に挿入されるようにする。
[0036]上記の説明は、本発明の態様がいかにしてインプリメントされるかの実施例と共に本発明の様々な実施形態を示したものである。上記の実施例、実施形態及び図面は単に実施形態であると考えられるべきでなく、以下の発明の請求範囲によって規定されるような本発明の適応性と利点を示すために提示されたものである。
ローパワー状態でデータを表示することが可能なコンピュータ装置の簡略化された構成図である。 表示FIFOバッファを持たない表示システムによるシステムメモリアクセスの1つのパターンを示すタイミング図である。 表示FIFOバッファを含む他の表示システムによる、システムメモリアクセスの別のパターンを示すタイミング図である。 本発明の一実施形態による汎用システムスタッターをインプリメントするように構成されたコンピュータ装置内のいくつかの構成要素の簡略化された構成図である。 本発明の一実施形態による集中化されたスタッターユニットの分解図である。 本発明の一実施形態による集中化されたスタッターユニット内のブロッカーの状態遷移図である。 本発明の一実施形態による高い待ち時間許容差を有するバスマスタからのメモリアクセス要求を取り扱うタイミング図である。 本発明の一実施形態による、アクセスギャップよりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求を取り扱うタイミング図である。 本発明の一実施形態による、アクセスギャップよりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求を取り扱う他のタイミング図である。 本発明の一実施形態による、異なるバスマスタからの複数のメモリアクセス要求を取り扱うタイミング図である。 本発明の一実施形態による、表示システムのためのメモリアクセスのクラスタを処理する間にバスマスタからのメモリアクセス要求を取り扱うタイミング図である。
符号の説明
100 コンピュータ装置
104 チップセット
106 システムメモリ
108 システムリンク
110 表示システム
112 表示エンジン
114 表示デバイス
116 表示FIFOバッファ
118 方向
120 方向
150 アクセスギャップ
160 アクセスギャップ
200 コンピュータ装置
202 処理ユニット
204 チップセット
205 アービタ
206 システムメモリ
208 システムリンク
210 表示システム
212 表示エンジン
214 表示デバイス
216 表示FIFOバッファ
221 集中化されたスタッターユニット
222 I/Oエージェント
224 I/Oエージェント
302 ブロッカー
304 ブロッカー
350 状態遷移図
352 アイドル状態
354 ブロック状態
356 要求未決状態
400 メモリアクセス要求
402 メモリアクセスのクラスタ
404 メモリアクセス
406 アクセスギャップ
410 メモリアクセス要求
412 メモリアクセスのクラスタ
414 メモリアクセス
416 アクセスギャップ
420 メモリアクセス要求
424 メモリアクセス
426 メモリアクセスのクラスタ
428 アクセスギャップ
430 期間
432 方向
434 方向
440 メモリアクセス要求
442 メモリアクセス要求
444 メモリアクセスのクラスタ
446 メモリアクセス
448 メモリアクセス
450 アクセスギャップ
460 メモリアクセス要求
462 メモリアクセスのクラスタ
464 メモリアクセス

Claims (20)

  1. 汎用システムスタッターをインプリメントする方法であって、
    コンピュータ装置のローパワー状態の間、前記コンピュータ装置のタイミング要件によって許される限り長い時間にわたって複数のバスマスタのうちの第1のバスマスタから受信した第1要求をブロックするステップであって、前記第1要求は、前記コンピュータ装置をトリガしてローパワー状態から遷移させることができ、前記コンピュータ装置のタイミング要件によって許される限り長い時間は、少なくとも前記第1のバスマスタの待ち時間許容差、及び、前記ローパワー状態を出るための時間によって決定される、当該ステップと、
    前記コンピュータ装置のアクティブ状態の間、前記コンピュータ装置が前記ローパワー状態に遷移して戻る前に、前記複数のバスマスタのうちの残りのバスマスタからの他の未決要求と共に前記第1要求をサービスするステップと
    を含む方法。
  2. 未決要求を有する前記複数のバスマスタの全てにおける最小待ち時間許容差に等しい時間期間の終了の後、前記第1要求をブロック解除して、前記コンピュータ装置を前記アクティブ状態に入れるステップをさらに含む、請求項1に記載の方法。
  3. 前記最小待ち時間許容差は、前記ローパワー状態を出るための時間並びに前記第1要求及び他の未決要求の間を調停するための時間の総時間をさらに考慮に入れる、請求項2に記載の方法。
  4. 前記最小待ち時間許容差は、前記コンピュータ装置によってサポートされるソフトウェア安全網によって延長される、請求項3に記載の方法。
  5. 前記コンピュータ装置の前記ローパワー状態の間に表示バッファ内の画素データを処理するステップと、
    前記コンピュータ装置の前記アクティブ状態の間に前記表示バッファを満たすステップと
    をさらに含む、請求項1に記載の方法。
  6. 前記サービスするステップは、前記第1要求と前記他の未決要求との間を調停して、サービスシーケンスを決定するステップをさらに含む、請求項1に記載の方法。
  7. 前記サービスするステップは、
    前記複数のバスマスタのうちの第2のバスマスタから第2要求を受けたとき、前記コンピュータ装置の前記アクティブ状態の間、前記アクティブ状態の間に前記第2要求をサービスするステップをさらに含む、請求項1に記載の方法。
  8. 処理ユニットと、
    アービタと、
    システムメモリと、
    入力/出力(「I/O」)エージェントの複数のバスマスタに結合された集中化されたスタッターユニットと
    を備え、
    前記集中化されたスタッターユニットの第1ブロッカーは、前記コンピュータ装置のローパワー状態の間、前記コンピュータ装置のタイミング要件によって許される限り長い時間にわたって前記複数のバスマスタのうちの第1のバスマスタから受信した第1メモリアクセス要求をブロックするように構成され、前記第1メモリアクセス要求は、前記コンピュータ装置をトリガしてローパワー状態から遷移させることができ、前記コンピュータ装置のタイミング要件によって許される限り長い時間は、少なくとも前記第1のバスマスタの待ち時間許容差、及び、前記ローパワー状態を出るための時間によって決定され
    前記コンピュータ装置のアクティブ状態の間、前記システムメモリは、前記コンピュータ装置が前記ローパワー状態に遷移して戻る前に、前記複数のバスマスタの残りのバスマスタからの他の未決メモリアクセス要求と共に前記第1メモリアクセス要求をサービスするように構成された、
    汎用システムスタッターをサポートするように構成されたコンピュータ装置。
  9. 前記集中化されたスタッターユニット内の各ブロッカーは、プログラム可能な期間のブロッキング時間を備えるように構成された、請求項8に記載のコンピュータ装置。
  10. 前記集中化されたスタッターユニット内の各ブロッカーは互いに接続されている、請求項8に記載のコンピュータ装置。
  11. 前記第1ブロッカーは、未決要求を有する前記複数のバスマスタの全ての中の最小待ち時間許容差の期間終了の後で、前記コンピュータ装置を前記アクティブ状態に入れるために前記第1メモリアクセス要求をブロック解除し、アービタに送出する、請求項9に記載のコンピュータ装置。
  12. 前記プログラム可能期間のブロッキング時間は、前記ローパワー状態を出るための時間並びに前記第1メモリアクセス要求及び前記他の未決メモリアクセス要求の間を調停するための時間の総時間をさらに考慮に入れる、請求項9に記載のコンピュータ装置。
  13. 前記コンピュータ装置は、前記最小待ち時間許容差を延長させるためにソフトウェア安全網をサポートするように構成される、請求項11に記載のコンピュータ装置。
  14. 前記コンピュータ装置の前記ローパワー状態の間に表示バッファ内の画素データを処理するように、かつ、
    前記コンピュータ装置の前記アクティブ状態の間に表示バッファを満たすように
    構成された表示エンジンをさらに備えた、請求項8に記載のコンピュータ装置。
  15. 前記アービタは、サービスシーケンスを決定するために前記第1メモリアクセス要求と前記他の未決のメモリアクセス要求との間を調停するためのポリシーを含む、請求項8に記載のコンピュータ装置。
  16. 前記コンピュータ装置の前記アクティブ状態の間に前記集中化されたスタッターユニット内の第2ブロッカーが前記複数のバスマスタの第2のバスマスタからの第2要求を受けた後で、前記システムメモリは、また前記アクティブ状態の間に前記第2要求をサービスするように構成された、請求項8に記載のコンピュータ装置。
  17. インストラクションシーケンスを含むコンピュータ読み取り可能な媒体であって、前記媒体がコンピュータ装置によって実行された場合に、前記コンピュータ装置に、
    コンピュータ装置のローパワー状態の間、前記コンピュータ装置のタイミング要件によって許される限り長い時間にわたって、複数のバスマスタのうちの第1バスマスタから受信した第1要求をブロックさせ、前記第1要求は、前記コンピュータ装置をトリガして前記ローパワー状態から遷移させることができ、前記コンピュータ装置のタイミング要件によって許される限り長い時間は、少なくとも前記第1バスマスタの待ち時間許容差、及び、前記ローパワー状態を出るための時間によって決定され、
    前記コンピュータ装置のアクティブ状態の間、前記コンピュータ装置が前記ローパワー状態に遷移して戻る前に前記複数のバスマスタのうちの残りのバスマスタからの他の未決要求と共に前記第1要求をサービスさせる
    媒体。
  18. インストラクションのシーケンスであって、該シーケンスが前記コンピュータ装置によって実行された場合に、未決要求を有する前記複数のバスマスタの全ての中の最小待ち時間許容差に等しい時間期間の終了の後で、前記コンピュータ装置を前記アクティブ状態に入らせるために前記コンピュータ装置に前記第1要求をブロック解除させる前記インストラクションのシーケンス、をさらに含む、請求項17に記載のコンピュータ読み取り可能な媒体。
  19. インストラクションのシーケンスであって、該シーケンスが前記コンピュータ装置によって実行された場合には前記コンピュータ装置に、
    前記コンピュータ装置の前記ローパワー状態の間は表示バッファ内の画素データを処理させ、かつ、
    前記コンピュータ装置の前記アクティブ状態の間は表示バッファを満たさせる
    前記インストラクションのシーケンス、をさらに含む、請求項17に記載のコンピュータ読み取り可能な媒体。
  20. インストラクションのシーケンスであって、該シーケンスが前記コンピュータ装置によって実行された場合に、前記コンピュータ装置にサービスシーケンスを決定するために前記第1要求と前記他の未決要求との間を調停させる前記インストラクションのシーケンス、をさらに含む、請求項17に記載のコンピュータ読み取り可能な媒体。
JP2008119777A 2007-05-01 2008-05-01 汎用システムスタッターをインプリメントするための方法及びシステム Active JP4766469B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/743,099 2007-05-01
US11/743,099 US7849342B2 (en) 2007-05-01 2007-05-01 Method and system for implementing generalized system stutter

Publications (2)

Publication Number Publication Date
JP2008276779A JP2008276779A (ja) 2008-11-13
JP4766469B2 true JP4766469B2 (ja) 2011-09-07

Family

ID=39940418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008119777A Active JP4766469B2 (ja) 2007-05-01 2008-05-01 汎用システムスタッターをインプリメントするための方法及びシステム

Country Status (5)

Country Link
US (1) US7849342B2 (ja)
JP (1) JP4766469B2 (ja)
KR (1) KR100979314B1 (ja)
CN (1) CN101299165B (ja)
TW (1) TWI370350B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913100B2 (en) * 2007-09-29 2011-03-22 Intel Corporation Opportunistic initiation of data traffic
US8812889B2 (en) * 2010-05-05 2014-08-19 Broadcom Corporation Memory power manager
US10387173B1 (en) * 2015-03-27 2019-08-20 Intuit Inc. Method and system for using emotional state data to tailor the user experience of an interactive software system
US11409671B2 (en) 2019-09-19 2022-08-09 Facebook Technologies, Llc Artificial reality system having multi-bank, multi-port distributed shared memory
US11520707B2 (en) 2019-11-15 2022-12-06 Meta Platforms Technologies, Llc System on a chip (SoC) communications to prevent direct memory access (DMA) attacks
US11196846B2 (en) 2019-11-15 2021-12-07 Facebook Technologies, Llc Inline encryption of packet data in a wireless communication system
US11190892B2 (en) 2019-11-20 2021-11-30 Facebook Technologies, Llc Audio sample phase alignment in an artificial reality system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH065072A (ja) * 1992-04-22 1994-01-14 Oki Electric Ind Co Ltd リフレッシュ制御方法
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
US6657634B1 (en) * 1999-02-25 2003-12-02 Ati International Srl Dynamic graphics and/or video memory power reducing circuit and method
JP2002049580A (ja) * 2000-08-02 2002-02-15 Mitsubishi Electric Corp バス管理装置、バス使用要求送信装置、バス管理方法、及びバス使用要求送信方法
US7155618B2 (en) 2002-03-08 2006-12-26 Freescale Semiconductor, Inc. Low power system and method for a data processing system
US7013406B2 (en) 2002-10-14 2006-03-14 Intel Corporation Method and apparatus to dynamically change an operating frequency and operating voltage of an electronic device
US7290093B2 (en) * 2003-01-07 2007-10-30 Intel Corporation Cache memory to support a processor's power mode of operation
US6971034B2 (en) * 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
CN1816789A (zh) * 2003-07-22 2006-08-09 皮科特有限公司 用于唤醒无线局域网的系统和方法
JP4610961B2 (ja) * 2004-07-28 2011-01-12 ルネサスエレクトロニクス株式会社 アクセス制御装置
KR101114984B1 (ko) * 2005-03-14 2012-03-06 삼성전자주식회사 가변적인 웨이크업 레이턴시를 가진 프로세싱 장치에서전원 관리 방법 및 장치
EP1742143B1 (en) 2005-07-06 2018-11-21 STMicroelectronics Srl Method and system for power consumption management, and corresponding computer program product
JP2007095040A (ja) * 2005-08-31 2007-04-12 Matsushita Electric Ind Co Ltd データ処理装置、プログラム、記録媒体、コンテンツ再生装置

Also Published As

Publication number Publication date
CN101299165A (zh) 2008-11-05
JP2008276779A (ja) 2008-11-13
US20080276108A1 (en) 2008-11-06
TWI370350B (en) 2012-08-11
TW200900912A (en) 2009-01-01
KR20080097362A (ko) 2008-11-05
US7849342B2 (en) 2010-12-07
CN101299165B (zh) 2012-08-22
KR100979314B1 (ko) 2010-08-31

Similar Documents

Publication Publication Date Title
JP4766469B2 (ja) 汎用システムスタッターをインプリメントするための方法及びシステム
US7124207B1 (en) I2O command and status batching
EP2397949B1 (en) Flow control for universal serial bus (USB)
US10204065B2 (en) Methods and apparatus for a multiple master bus protocol
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
JP2017520052A (ja) ユニバーサルシリアルバス(usb)通信システムおよび方法
US20150058660A1 (en) Multimaster serial single-ended system fault recovery
US20200192447A1 (en) Reset isolation bridge
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
US20110029706A1 (en) Electronic device and method for controlling an electronic device
US20130311699A1 (en) Operations using direct memory access
CN113220107A (zh) PCIe链路的功耗管理方法以及终端设备和存储介质
US9501128B2 (en) Cooperative reduced power mode suspension for high input/output (‘I/O’) workloads
JP2006268753A (ja) Dma回路及びコンピュータシステム
US20080270668A1 (en) Method to Hide or Reduce Access Latency of a Slow Peripheral in a Pipelined Direct Memory Access System
US9411758B2 (en) Semiconductor device
CN117149278B (zh) 一种命令处理系统、控制方法及主机设备
JP2004334840A (ja) システムバスの制御方法及び関連装置
US8917736B2 (en) Unified system networking with PCIE-CEE tunneling
CN110930293B (zh) 一种基于有限状态机的ddr读访问信用管理方法
CN116701265A (zh) 通信方法及电子设备
KR20240063978A (ko) 감소된 전력 상태 사이의 2 스테이지 전이를 위한 디바이스 및 방법
CN116821039A (zh) 用于多核soc的应用通信系统、方法、设备及可读存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101124

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110606

R150 Certificate of patent or registration of utility model

Ref document number: 4766469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250