(57)【要約】【課題】汎用システムスタッターをインプリメントするための方法及びシステムを提供すること。【解決手段】具体的には、本発明の一実施形態は、コンピュータ装置のローパワー状態の間はコンピュータ装置のタイミング要件によって許される限り長い時間にわたって複数のバスマスタのうちの第１のバスマスタから受信した、コンピュータ装置をトリガしてローパワー状態から遷移させることができる第１要求をブロックするステップと、コンピュータ装置のアクティブ状態の間はコンピュータ装置がローパワー状態に遷移して戻る前に複数のバスマスタのうちの残りのバスマスタからの他の未決要求と共に第１要求をサービスするステップと、を含む方法を規定する。【選択図】  図２
2008276779.tif 000002
【特許請求の範囲】
【請求項１】
汎用システムスタッターをインプリメントする方法であって、
コンピュータ装置のローパワー状態の間、前記コンピュータ装置のタイミング要件によって許される限り長い時間にわたって複数のバスマスタのうちの第１のバスマスタから受信した、前記コンピュータ装置をトリガしてローパワー状態から遷移させることができる第１要求をブロックするステップと、
前記コンピュータ装置のアクティブ状態の間、前記コンピュータ装置が前記ローパワー状態に遷移して戻る前に、前記複数のバスマスタのうちの残りのバスマスタからの他の未決要求と共に前記第１要求をサービスするステップと
を含む方法。
【請求項２】
未決要求を有する前記複数のバスマスタの全てにおける最小待ち時間許容差に等しい時間期間の終了の後、前記第１要求をブロック解除して、前記コンピュータ装置を前記アクティブ状態に入れるステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記最小待ち時間許容差は、前記ローパワー状態を出るための時間並びに前記第１要求及び他の未決要求の間を調停するための時間の総時間をさらに考慮に入れる、請求項２に記載の方法。
【請求項４】
前記最小待ち時間許容差は、前記コンピュータ装置によってサポートされる安全網メカニズムによって延長される、請求項３に記載の方法。
【請求項５】
前記コンピュータ装置の前記ローパワー状態の間に表示バッファ内の画素データを処理するステップと、
前記コンピュータ装置の前記アクティブ状態の間に前記表示バッファを満たすステップと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記サービスするステップは、前記第１要求と前記他の未決要求との間を調停して、サービスシーケンスを決定するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記サービスするステップは、
前記複数のバスマスタのうちの第２のバスマスタから第２要求を受けたとき、前記コンピュータ装置の前記アクティブ状態の間、前記アクティブ状態の間に前記第２要求をサービスするステップをさらに含む、請求項１に記載の方法。
【請求項８】
処理ユニットと、
アービタと、
システムメモリと、
入力／出力（「Ｉ／Ｏ」）エージェントの複数のバスマスタに結合された集中化されたスタッターユニットと
を備え、
前記集中化されたスタッターユニットの第１ブロッカーは、前記コンピュータ装置のローパワー状態の間、前記コンピュータ装置のタイミング要件によって許される限り長い時間にわたって前記複数のバスマスタのうちの第１のバスマスタから受信した、前記コンピュータ装置をトリガしてローパワー状態から遷移させることができる第１メモリアクセス要求をブロックするように構成され、
前記コンピュータ装置のアクティブ状態の間、前記システムメモリは、前記コンピュータ装置が前記ローパワー状態に遷移して戻る前に、前記複数のバスマスタの残りのバスマスタからの他の未決メモリアクセス要求と共に前記第１メモリアクセス要求をサービスするように構成された、
汎用システムスタッターをサポートするように構成されたコンピュータ装置。
【請求項９】
前記集中化されたスタッターユニット内の各ブロッカーは、プログラム可能な期間のブロッキング時間を備えるように構成された、請求項８に記載のコンピュータ装置。
【請求項１０】
前記集中化されたスタッターユニット内の各ブロッカーは互いに接続されている、請求項８に記載のコンピュータ装置。
【請求項１１】
前記第１ブロッカーは、未決要求を有する前記複数のバスマスタの全ての中の最小待ち時間許容差の期間終了の後で、前記コンピュータ装置を前記アクティブ状態に入れるために前記第１メモリアクセス要求をブロック解除し、アービタに送出する、請求項９に記載のコンピュータ装置。
【請求項１２】
前記プログラム可能期間のブロッキング時間は、前記ローパワー状態を出るための時間並びに前記第１メモリアクセス要求及び前記他の未決メモリアクセス要求の間を調停するための時間の総時間をさらに考慮に入れる、請求項９に記載のコンピュータ装置。
【請求項１３】
前記コンピュータ装置は、前記最小待ち時間許容差を延長させるために安全網メカニズムをサポートするように構成される、請求項１１に記載のコンピュータ装置。
【請求項１４】
前記コンピュータ装置の前記ローパワー状態の間に表示バッファ内の画素データを処理するように、かつ、
前記コンピュータ装置の前記アクティブ状態の間に表示バッファを満たすように
構成された表示エンジンをさらに備えた、請求項８に記載のコンピュータ装置。
【請求項１５】
前記アービタは、サービスシーケンスを決定するために前記第１メモリアクセス要求と前記他の未決のメモリアクセス要求との間を調停するためのポリシーを含む、請求項８に記載のコンピュータ装置。
【請求項１６】
前記コンピュータ装置の前記アクティブ状態の間に前記集中化されたスタッターユニット内の第２ブロッカーが前記複数のバスマスタの第２のバスマスタからの第２要求を受けた後で、前記システムメモリは、また前記アクティブ状態の間に前記第２要求をサービスするように構成された、請求項８に記載のコンピュータ装置。
【請求項１７】
インストラクションシーケンスを含むコンピュータ読み取り可能な媒体であって、前記媒体がコンピュータ装置によって実行された場合に、前記コンピュータ装置に、
コンピュータ装置のローパワー状態の間、前記コンピュータ装置のタイミング要件によって許される限り長い時間にわたって、複数のバスマスタのうちの第１バスマスタから受信した、前記コンピュータ装置をトリガして前記ローパワー状態から遷移させることができる第１要求をブロックさせ、
前記コンピュータ装置のアクティブ状態の間、前記コンピュータ装置が前記ローパワー状態に遷移して戻る前に前記複数のバスマスタのうちの残りのバスマスタからの他の未決要求と共に前記第１要求をサービスさせる
媒体。
【請求項１８】
インストラクションのシーケンスであって、該シーケンスが前記コンピュータ装置によって実行された場合に、未決要求を有する前記複数のバスマスタの全ての中の最小待ち時間許容差に等しい時間期間の終了の後で、前記コンピュータ装置を前記アクティブ状態に入らせるために前記コンピュータ装置に前記第１要求をブロック解除させる前記インストラクションのシーケンス、をさらに含む、請求項１７に記載のコンピュータ読み取り可能な媒体。
【請求項１９】
インストラクションのシーケンスであって、該シーケンスが前記コンピュータ装置によって実行された場合には前記コンピュータ装置に、
前記コンピュータ装置の前記ローパワー状態の間は表示バッファ内の画素データを処理させ、かつ、
前記コンピュータ装置の前記アクティブ状態の間は表示バッファを満たさせる
前記インストラクションのシーケンス、をさらに含む、請求項１７に記載のコンピュータ読み取り可能な媒体。
【請求項２０】
インストラクションのシーケンスであって、該シーケンスが前記コンピュータ装置によって実行された場合に、前記コンピュータ装置にサービスシーケンスを決定するために前記第１要求と前記他の未決要求との間を調停させる前記インストラクションのシーケンス、をさらに含む、請求項１７に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001]本発明の実施形態は、一般に、電力管理に関し、より詳細には、汎用システムスタッターをインプリメントするための方法及びシステムに関する。
【関連技術の説明】
【０００２】
[0002]本明細書の中で他に指摘されない限り、本明細書で説明される手法は本出願の特許請求の範囲に対する先行技術ではなく、本明細書に包めることによって先行技術になることは認められない。
【０００３】
[0003]エネルギー効率は多くのシステム設計において益々重要な考慮すべき事項になってきている。メモリ製造者は、アクティブ、アクティブアイドル、パワーダウン及びセルフリフレッシュなどの複数のパワー状態を備えたメモリシステムを開発してきた。通常、メモリシステムは、要求をサービス（ｓｅｒｖｉｃｅ）するためにはアクティブ状態にあることが必要とされ、残りのパワー状態は、電力消費が減少する順に、しかしアクティブ状態に遷移して戻る時間は長くなる順に存在している。言い換えると、アクティブ状態は最大の電力を消費し、セルフリフレッシュ状態はクロック再同期のために最も大きな遅延をこうむる。同様に、また、システム相互接続リンクも、ここでも最高の待ち時間に最低パワー状態が対応する複数のパワー状態を備えている。したがって、エネルギー効率を達成する１つのアプローチは、メモリシステム、システム相互接続リンク、又はその両方を可能な限り長い時間最低パワー状態に維持する一方、そうした状態に入ること及び出ることに伴う長い待ち時間を効果的に管理することである。
【０００４】
[0004]説明のために、コンピュータ装置１００がローパワー状態にある間、表示システム１１０だけがアクティブエージェントであり、システムメモリ１０６はセルフリフレッシュ状態にあり、システムリンク１０８はパワーダウン状態にあると想定されたい。図１Ａは、このローパワー状態でデータを表示可能なコンピュータ装置１００の簡略化された構成図である。コンピュータ装置１００の表示システム１１０は、表示エンジン１１２と、表示デバイス１１４と、表示先入れ先出し（「ＦＩＦＯ」）バッファ１１６とを含む。表示エンジン１１２は、表示デバイス１１４の厳格なタイミング要件をメモリシステム１０６から切り離すために表示ＦＩＦＯバッファ１１６を使用する。そのため、データを検索するためだけにシステムメモリ１０６をローパワー状態から「覚醒させる」ことに伴う場合によっては大きな待ち時間がそのまま残ることができるように、表示エンジン１１２は、表示ＦＩＦＯバッファ１１６にローパワー状態の間の表示デバイス１１４のタイミング要件を満足させるに十分な画素データを確実に記憶させる。特に、コンピュータ装置１００はローパワー状態にあるけれども、表示エンジン１１２は表示ＦＩＦＯバッファ１１６内のデータを１１８の方向に処理し空にする。表示エンジン１１２が表示ＦＩＦＯバッファ１１６内の所定の臨界の水位標（ｗａｔｅｒｍａｒｋ）に達したときには、表示エンジン１１２は、表示ＦＩＦＯバッファ１１６を１２０の方向にいっぱいに満たすためにローパワー状態を終了させシステムメモリ１０６からデータを取り出すプロセスを始動させる。また、このいっぱいに満たすプロセスは、表示ＦＩＦＯバッファ１１６を「トッピングオフ（ｔｏｐｐｉｎｇ  ｏｆｆ）する」とも呼ばれる。
【０００５】
[0005]図１Ｂは、電力効率と表示エンジンとを最適化させるために表示ＦＩＦＯバッファを持たない表示システムによるシステムメモリアクセスの１つのパターンを示すタイミング図であり、一方、図１Ｃは、電力効率と表示エンジン１１２とを最適化するために表示ＦＩＦＯバッファ１１６を有する表示システム１１０によるシステムメモリアクセスの他のパターンを示すタイミング図である。電力効率最適化を持たない場合は、通常、アクセスギャップ１５０として示される任意の２つのメモリアクセス間の隙間は、セルフリフレッシュ状態などのローパワー状態に入り又は出ることに伴う待ち時間よりも小さい。一方、適切な大きさになされた表示ＦＩＦＯバッファ１１６と共にメモリアクセスは一まとめにされることができ、アクセスギャップ１６０は、セルフルフレッシュ状態に入り又は出ることに伴う待ち時間に少なくとも等しい長さまで延長されることができる。このメモリアクセス要求のクラスタリング及びアクセスギャップの延長は、一括して「表示スタッター」と呼ばれる。図１Ｃに示されたパターンを用いて、コンピュータ装置１００は、所望のエネルギー効率を達成することができる。
【０００６】
[0006]しかし、表示システム１１０に加えて、コンピュータ装置１００は、システムリンク１０８及びチップセット１０４を介してシステムメモリにアクセスすることを要求する様々な入力／出力（「Ｉ／Ｏ」）エージェントを有する。これらのＩ／Ｏエージェントのいくつかの例は、無制限に、インテグレーテッドドライバエレクトロニクス（「ＩＤＥ」）デバイス、ユニバーサルシリアルバス（「ＵＳＢ」）デバイス、ネットワークコントローラ、ＰＣＩエクスプレス（「ＰＣＩ  Ｅｘｐｒｅｓｓ」）コントローラ、ＰＣＩブリッジ、及びＰＣＩ＿Ｘコントローラを含む。Ｎ個のＩ／Ｏエージェントのそれぞれは、その固有の特徴的なタイミング要件を有し、多くのＩ／Ｏエージェントはスタッター要件をサポートしていない。図１Ｃに示されたものと類似のメモリアクセスパターンを導くメモリアクセス要求を発生させるためにＩ／Ｏエージェントのそれぞれを再設計することはコンピュータ装置１００のエネルギー効率を向上させることができるが、複合動作デバイス、特にすでに広く採択されている古いＩ／Ｏエージェントをいじくり回すことのリスクとコストとは、いかなるそうした改良をも恐らくはるかに上回る。
【０００７】
[0007]前述のことが示すように、当技術分野に必要とされているものは、容易に開発されることができ、上に説明した従来技術のアプローチの少なくとも短所に対処する汎用システムスタッターである。
【発明の概要】
【０００８】
[0008]汎用システムスタッターをインプリメントするための方法とシステムが開示される。具体的には、本発明の一実施形態は、コンピュータ装置のローパワー状態の間はコンピュータ装置のタイミング要件によって許される限り長い時間にわたって複数のバスマスタのうちの第１のバスマスタから受信した第１要求をブロックするステップであって、タイミング要件の限界に及ぶ第１要求はコンピュータ装置をトリガしてローパワー状態から遷移させることができるステップと、コンピュータ装置のアクティブ状態の間に、コンピュータ装置がローパワー状態に遷移して戻る前に複数のバスマスタの残りのバスマスタからの他の未決の要求と共に第１要求をサービスするステップと、を含む方法を規定する。
【０００９】
[0009]開示された方法及びシステムの１つの利点は、コンピュータ装置内の様々なＩ／Ｏエージェントの任意の再設計をすることなく、このコンピュータ装置に関するメモリアクセスが、コンピュータ装置のエネルギー効率を高めるために管理され得ることである。
【００１０】
[0010]本発明の上記に説明された特徴がより詳細に理解されるようなやり方で、上に簡潔に概要を述べた本発明のより詳細な説明が、そのいくつかは添付の図面に示される実施形態を参照して行われる。しかし、添付の図面は本発明の代表的な実施形態を示すだけであり、したがって、本発明は他の等しく有効な実施形態を認めることができるのであるから、本発明の範囲を限定すると見なされるべきでないことに留意されたい。
【詳細な説明】
【００１１】
[0022]本開示を通して、本発明の一実施形態がコンピュータ装置と共に使用するためにソフトウェア要素としてインプリメントされる。ソフトウェア要素は（本明細書で説明される方法を含む）実施形態の機能を規定し、多様なコンピュータ読み取り可能な記憶媒体の上に含まれることができる。実例となるコンピュータ読み取り可能な記憶媒体は、（ｉ）その上に情報が永久的に格納された書き込みできない記憶媒体（例えば、コンピュータ装置内の読み出し専用メモリデバイス）、（ｉｉ）その上に変更可能な情報が格納された書き込み可能記憶媒体（例えば、フラッシュメモリなどの書き込み可能記憶デバイス）を含むが、これらに限定されない。こうしたコンピュータ読み取り可能な記憶媒体は、本発明の機能を管理するコンピュータ読み取り可能なインストラクションを携えている場合には、本発明の実施形態である。他の媒体は、無線通信網を含むデータ網又は電話網を通してなどの、それを通して情報がコンピュータ装置に伝送される通信媒体を含む。特に、後者の実施形態は、インターネット及び他のネットワークへ又はそこから情報を送信することを含む。こうした通信媒体は、本発明の機能を管理するコンピュータ読み取り可能なインストラクションを携えている場合には、本発明の実施形態である。しかし、ハードウェア要素又はハードウェア要素とソフトウェア要素との組合せを使用して本発明の他の実施形態をインプリメントすることは当業者にとって明白であろう。
【００１２】
[0023]図２は、本発明の一実施形態による汎用システムスタッターをインプリメントするように構成されたコンピュータ装置２００のいくつかの構成要素の簡略化された構成図である。コンピュータ装置２００は、処理ユニット２０２と、アービタ２０５を有するチップセット２０４と、システムメモリ２０６と、表示システム２１０と、システムリンク２０８及びいくつかのＩ／Ｏエージェントに結合された集中化されたスタッターユニット２２１を含む。通常、表示システム２１０は、ビデオデータを処理し表示デバイス２１４を駆動するために、表示エンジン２１２と、ローカルビデオメモリ（図２には図示せず）と、表示ＦＩＦＯバッファ２１６とを含む。表示デバイス２１４は、表示エンジン２１２によって発生されたデータ信号に対応する視覚映像を放出可能な出力デバイスである。表示デバイス２１４のいくつかの例は、無制限に、陰極線管（ＣＲＴ）モニタ、液晶ディスプレイ、プラズマディスプレイ、プロジェクタ、又は任意の他の適切な表示システムを含む。
【００１３】
[0024]システムメモリ２０６は、処理ユニット２０２及びさらに表示エンジン２１２を実行させ作動させるためのプログラミングインストラクション及びスクリーンデータを含むデータを格納する。示されているように、処理ユニット２０２は、システムメモリ２０６及び表示システム２１０と、チップセット２０４を介して通信する。代替として、処理ユニット２０２は、システムメモリ２０６に接続するための専用のメモリポートを含む。他のインプリメンテーションにおいては、処理ユニット２０２、表示システム２１０内の表示エンジン２１２、チップセット２０４、又はそれらの任意の組合せは、単一の処理ユニットの中に一体化されることができる。さらに、表示エンジン２１２の機能はチップセット２０４の中に、又はいくつかの他のタイプの特殊目的の処理ユニット又はコプロセッサの中に含まれることができる。こうした実施形態においては、ソフトウェアインストラクションは、システムメモリ２０６以外のメモリシステムの中に常駐することができ、処理ユニット２０２以外の処理ユニットによって実行されることができる。また、チップセット２０４は、ノースブリッジ及びサウスブリッジなどの異なるタイプのＩ／Ｏエージェントに仕えるために共に働く複数のディスクリート集積回路を含むことができると認識することも当業者には明白であろう。
【００１４】
[0025]アービタ２０５及び集中化されたスタッターユニット２２１は図２においては２つのディスクリート部品として示されているが、本発明の範囲内にとどまりつつ他の構成を使用して汎用システムスタッターをインプリメントすることは当業者にとって明白であろう。例えば、１つのインプリメンテーションにおいて、集中化されたスタッターユニット２２１の機能はアービタ２０５の中に含まれる。
【００１５】
[0026]図３Ａは、本発明の一実施形態による集中化されたスタッターユニット２２１の分解図である。バスマスタを備えた各Ｉ／Ｏエージェントについて、集中化されたスタッターユニット２２１は、バスマスタの要求がアービタ２０５に伝わることを場合によってはブロックするための対応するブロッカーを含む。例えば、ブロッカー１３０２はＩ／Ｏエージェント１２２２に対応し、ブロッカーＮ３０４はＩ／ＯエージェントＮ２２４に対応する。１つのインプリメンテーションにおいて、各ブロッカーは、数学的に次のように表すことのできるプログラム可能フィールド、ＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥ、
ＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥ＝関連したＩ／Ｏエージェントの待ち時間許容差―（ローパワー状態を終了することに伴う待ち時間＋Ｉ／Ｏエージェント間を調停する時間）
を有する。例えば、図２に関連して、Ｉ／Ｏエージェント１２２２のバスマスタは固有の１００μｓｅｃの待ち時間許容差を有し、バスマスタがローパワー状態においてシステムメモリ２０６からデータを要求していると想定されたい。さらに、システムメモリ２０６がローパワー状態からアクティブ状態に遷移し及びアービタ２０５がサービスのための要求を選択するための双方ともに２０ｕｓｅｃかかるものと想定されたい。したがって、Ｉ／Ｏエージェント１２２２のバスマスタがそのタイミングの制約条件を満たすためには、要求されたデータを１００ｕｓｅｃ以内で受信することが必要となる。しかし、アービタ２０５及びシステムメモリ２０６が要求をサービスするためには２０ｕｓｅｃを必要とするから、ブロッカー１３０２は、せいぜい（１００−２０）、すなわち８０ｕｓｅｃの間にわたって要求をブロックできる。言い換えると、８０ｕｓｅｃ目のときに、ブロッカー１３０２は、要求をアービタ２０５に伝えることを開始し、システムメモリ２０６をアクティブ状態に遷移させるプロセスを始動させる必要がある。代替として、上の等式で使用された待ち時間許容差は、もしあるならばコンピュータ装置２００上で動作するように構成されたソフトウェア安全網のタイプにさらに依存する。例えば、１つのソフトウェア安全網は、パケット紛失が伝送中に検出されたときにはパケット再送するようにコンピュータ装置２００を構成する。こうしたソフトウェア安全網があるときには、待ち時間許容差は、バスマスタの固有の待ち時間許容差を超えて延長されることができる。
【００１６】
[0027]その上、各ブロッカーは互いに接続されている。したがって、単一のＩ／Ｏエージェントからアービタ２０５までへの１つのバスマスタ要求の伝搬は、集中化されたスタッターユニット２２１内の全ての他のブロッカーの「ブロック解除」を引き起こし、アービタ２０５への全ての未決のバスマスタ要求を解放する。アービタ２０５は、サービスするために様々なバスマスタからの要求の中からポリシーを持って選択するように構成される。アービタ２０５は本発明の範囲を超えることなく知られた調停スキームを採択できると認識することは当業者には明白であろう。
【００１７】
[0028]図３Ｂは、本発明の一実施形態による、集中化されたスタッターユニット２２１内のブロッカーの状態遷移図３５０である。図３Ａに示されたブロッカー１３０２を説明として使用すると、通常、ブロッカー１３０２は、特に図２のコンピュータ装置２００がローパワー状態である間は、アイドル状態３５２にある。この状態はブロッカー１３０２が任意の未決のバスマスタ要求を有していないことを示す。ローパワー状態の間にブロッカー１３０２がＩ／Ｏエージェント１２２２からバスマスタ要求を受信したと想定されたい。ブロッカー１３０２についての前述のＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥがゼロでない値を含んでいるならば、その場合にはブロッカー１３０２はブロック状態３５４に遷移し、要求のブロッキングを開始する。ブロッキングは、Ｉ／Ｏエージェント１２２２が要求をディアサートするかブロッカー１３０２が要求未決状態３５６に遷移するかのいずれかまでは有効なままである。要求未決状態３５６へ遷移させる１つのきっかけとなる状態は、バスマスタ要求がＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥにわたってブロックされてしまったときであり、他のきっかけとなる状態はコンピュータ装置２００がローパワー状態を終了するときである。ローパワー状態からのこの遷移は、いくつかのシナリオの中でＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥの期間終了に先立って生じることもある。例えば、集中化されたスタッターユニット２２１内の他のブロッカーは、ブロッカー１３０２がそのＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥに到達しコンピュータ装置２００をトリガしてアクティブ状態に入らせる前に、その未決要求をブロック解除する。他のシナリオでは、表示システム２１０がシステムリンク２０８を介してデータを要求し始め、ブロッカー１３０２のＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥの期間終了の前にコンピュータ装置２００をトリガしてローパワー状態から遷移させる。
【００１８】
[0029]上述のようにブロック状態３５４を経由して要求未決状態３５６に到達する代わりに、ブロッカー１３０２はアイドル状態３５２から直接、要求未決状態３５６に到達することができる。説明のため、再び、ブロッカー１３０２はＩ／Ｏエージェント２２２１からバスマスタ要求を受信することを想定されたい。コンピュータ装置２００がローパワー状態にないか又はブロッカー１３０２のＭＡＸ＿ＢＬＯＣＫ＿ＴＩＭＥがゼロになされているときには、この場合にはブロッカー１３０２は、直接、要求未決状態３５６に遷移する。未決要求がさらなる処理のためにアービタ２０５に伝えられた後で、ブロッカー１３０２はアイドル状態３５２に遷移して戻る。
【００１９】
[0030]さらに、通常、表示システム２１０は図２のコンピュータ装置２００のローパワー状態におけるデータの主たる消費者であるので、汎用システムスタッターの１つのインプリメンテーションは、上述したブロッカーを操作して、表示システム２１０からのメモリアクセス要求を備えた様々なＩ／Ｏエージェントからのできる限り多くのメモリアクセス要求を一まとめにすることである。図４Ａ〜図４Ｅ及び以降の議論は、異なる待ち時間許容差限界を有するＩ／Ｏエージェントの様々なバスマスタの取扱いを説明する。
【００２０】
[0031]図４Ａは、本発明の一実施形態による高い待ち時間許容差を有するバスマスタからのメモリアクセス要求４００を取り扱うタイミング図である。ここで、このバスマスタを担当するブロッカーは、メモリアクセスのクラスタ４０２が表示システム２１０のために実行された後で、メモリアクセス要求４００がサービスされるようにする。１つのインプリメンテーションにおいて、メモリアクセスのクラスタ４０２は、表示ＦＩＦＯ２１６をいっぱいに満たすための表示エンジン２１２のためである。メモリアクセス４０４をクラスタ４０２とグループにまとめることによって、システムメモリ２０６は、メモリアクセス要求４００を満たすためだけにローパワー状態から単独に遷移する必要がなくなる。アクセスギャップ４０６は、システムメモリ２０６をアクセスするための未決要求を有するコンピュータ装置内の全てのＩ／Ｏエージェントの中の最小の待ち時間許容差によって限定されることは注目に値する。しかし、図４Ａに示された実施例では、１つのインプリメンテーションにおけるものであるが、最小待ち時間許容差は表示ＦＩＦＯ２１６のサイズによって決定される表示システム２１０の待ち時間許容差に等しい。
【００２１】
[0032]図４Ｂは、本発明の一実施形態による、アクセスギャップ４１６よりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求４１０を取り扱うタイミング図である。このバスマスタを担当するブロッカーは、アービタ２０５のブロック解除及びシステムメモリ２０６のローパワー状態からの遷移を引き起こす。この特殊な実施例では、メモリアクセス要求４１０に対応するメモリアクセス４１４は、表示システム２１０のためのメモリアクセスのクラスタ４１２の中に挿入される。図４Ａで説明され上記で詳述されたことと同様に、クラスタ４１２と共にメモリアクセス４１４を処理することは、システムメモリ２０６がメモリアクセス要求４１０をサービスするだけのためにローパワー状態から単独に遷移するのを妨げる。
【００２２】
[0033]図４Ｃは、アクセスギャップ４２８よりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求４２０を取り扱う他のタイミング図である。ここでは、低い待ち時間許容差のために、システムメモリ２０６はメモリアクセス要求４２０に対応するメモリアクセス４２４にサービスするためにローパワー状態から遷移する。期間４３０の間はアクティブ状態にあるシステムメモリ２０６を十分に利用するために、表示エンジン２１２の１つのインプリメンテーションは、表示ＦＩＦＯ２１６を４３４の方向にトップオフさせる。より詳細には、表示エンジン２１２が、ローパワー状態の間に表示ＦＩＦＯ２１６内の画素データを４３２の方向に空にし、処理することにより、メモリアクセス要求４２０の発生は、システムメモリ２０６の覚醒とメモリアクセスのクラスタ４２６へのサービスとをトリガして、表示ＦＩＦＯ２１６を４３４の方向にトップオフさせる。
【００２３】
[0034]図４Ｄは、本発明の一実施形態による、異なるバスマスタからの複数のメモリアクセス要求を取り扱うタイミング図である。２つのバスマスタのうちのいずれかの待ち時間許容差がアクセスギャップ４５０よりも著しく長いことを想定されたい。メモリアクセス要求４４０とメモリアクセス要求４４２とを担当する２つのブロッカーは、対応するメモリアクセス４４６と４４８とのそれぞれを、表示システム２１０のためのメモリアクセスのクラスタ４４４とグループにまとめられるようにする。図４Ｄに示されたメモリアクセス４４６と４４８とのクラスタリングは、ただ説明のためだけであり、本発明の範囲を超えることなくアービタ２０５によって採択された調停ポリシーによって変更されることができると認識することは当業者には明白であろう。
【００２４】
[0035]最後に、図４Ｅは、本発明の一実施形態による、表示システム２１０のためのメモリアクセスのクラスタ４６２を処理している間にバスマスタからのメモリアクセス要求４６０を取り扱うタイミング図である。１つのインプリメンテーションにおいて、このバスマスタを担当するブロッカーは、さらなるブロッキングをすることなく要求をアービタ２０５に伝え、メモリアクセス４６４が表示システム２１０のためのメモリアクセスのクラスタ４６２の中に挿入されるようにする。
【００２５】
[0036]上記の説明は、本発明の態様がいかにしてインプリメントされるかの実施例と共に本発明の様々な実施形態を示したものである。上記の実施例、実施形態及び図面は単に実施形態であると考えられるべきでなく、以下の発明の請求範囲によって規定されるような本発明の適応性と利点を示すために提示されたものである。
【図面の簡単な説明】
【００２６】
【図１Ａ】ローパワー状態でデータを表示することが可能なコンピュータ装置の簡略化された構成図である。
【図１Ｂ】表示ＦＩＦＯバッファを持たない表示システムによるシステムメモリアクセスの１つのパターンを示すタイミング図である。
【図１Ｃ】表示ＦＩＦＯバッファを含む他の表示システムによる、システムメモリアクセスの別のパターンを示すタイミング図である。
【図２】本発明の一実施形態による汎用システムスタッターをインプリメントするように構成されたコンピュータ装置内のいくつかの構成要素の簡略化された構成図である。
【図３Ａ】本発明の一実施形態による集中化されたスタッターユニットの分解図である。
【図３Ｂ】本発明の一実施形態による集中化されたスタッターユニット内のブロッカーの状態遷移図である。
【図４Ａ】本発明の一実施形態による高い待ち時間許容差を有するバスマスタからのメモリアクセス要求を取り扱うタイミング図である。
【図４Ｂ】本発明の一実施形態による、アクセスギャップよりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求を取り扱うタイミング図である。
【図４Ｃ】本発明の一実施形態による、アクセスギャップよりも著しく低い待ち時間許容差を有するバスマスタからのメモリアクセス要求を取り扱う他のタイミング図である。
【図４Ｄ】本発明の一実施形態による、異なるバスマスタからの複数のメモリアクセス要求を取り扱うタイミング図である。
【図４Ｅ】本発明の一実施形態による、表示システムのためのメモリアクセスのクラスタを処理する間にバスマスタからのメモリアクセス要求を取り扱うタイミング図である。
【符号の説明】
【００２７】
１００  コンピュータ装置
１０４  チップセット
１０６  システムメモリ
１０８  システムリンク
１１０  表示システム
１１２  表示エンジン
１１４  表示デバイス
１１６  表示ＦＩＦＯバッファ
１１８  方向
１２０  方向
１５０  アクセスギャップ
１６０  アクセスギャップ
２００  コンピュータ装置
２０２  処理ユニット
２０４  チップセット
２０５  アービタ
２０６  システムメモリ
２０８  システムリンク
２１０  表示システム
２１２  表示エンジン
２１４  表示デバイス
２１６  表示ＦＩＦＯバッファ
２２１  集中化されたスタッターユニット
２２２  Ｉ／Ｏエージェント１
２２４  Ｉ／ＯエージェントＮ
３０２  ブロッカー１
３０４  ブロッカーＮ
３５０  状態遷移図
３５２  アイドル状態
３５４  ブロック状態
３５６  要求未決状態
４００  メモリアクセス要求
４０２  メモリアクセスのクラスタ
４０４  メモリアクセス
４０６  アクセスギャップ
４１０  メモリアクセス要求
４１２  メモリアクセスのクラスタ
４１４  メモリアクセス
４１６  アクセスギャップ
４２０  メモリアクセス要求
４２４  メモリアクセス
４２６  メモリアクセスのクラスタ
４２８  アクセスギャップ
４３０  期間
４３２  方向
４３４  方向
４４０  メモリアクセス要求
４４２  メモリアクセス要求
４４４  メモリアクセスのクラスタ
４４６  メモリアクセス
４４８  メモリアクセス
４５０  アクセスギャップ
４６０  メモリアクセス要求
４６２  メモリアクセスのクラスタ
４６４  メモリアクセス
【図１Ａ】
2008276779.tif 000003
【図１Ｂ】
2008276779.tif 000004
【図１Ｃ】
2008276779.tif 000005
【図２】
2008276779.tif 000006
【図３Ａ】
2008276779.tif 000007
【図３Ｂ】
2008276779.tif 000008
【図４Ａ】
2008276779.tif 000009
【図４Ｂ】
2008276779.tif 000010
【図４Ｃ】
2008276779.tif 000011
【図４Ｄ】
2008276779.tif 000012
【図４Ｅ】
2008276779.tif 000013
【外国語明細書】
2008276779000001.pdf