(57)【特許請求の範囲】
【請求項１】
コンピューティングシステムの一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出する、少なくとも部分的にハードウェアロジックを含むロジックを有し、
前記ロジックは、前記ホストコントローラにより開始される一以上のレイテンシ情報トランザクションに応じて前記レイテンシ情報を検出し、前記レイテンシ情報は、前記ホストコントローラが前記一以上のデバイスのデータまたはメッセージを移動する要求をしてから、前記ホストコントローラが前記データまたはメッセージを移動する要求を前記コンピューティングシステムに認められるまでに前記ホストコントローラが許容できる遅延量に少なくとも部分的に基づいて決定される、
装置。
【請求項２】
前記ロジックは、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一または複数に、検出した前記レイテンシ情報を送る、請求項１に記載の装置。
【請求項３】
前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつは、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断する、
請求項２に記載の装置。
【請求項４】
前記レイテンシ情報は、前記ホストコントローラのアイドル時間値を含む、
請求項１に記載の装置。
【請求項５】
前記ロジックは、前記一以上のデバイスにより開始されない一以上のレイテンシ情報トランザクションに応じて前記レイテンシ情報を検出する、
請求項１に記載の装置。
【請求項６】
前記一以上のデバイスは、ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）ストレージデバイス、及びＵｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ（ＵＦＳ）デバイスのうち一または複数を含む、
請求項１に記載の装置。
【請求項７】
前記ホストコントローラがインアクティブである限り、レイテンシ情報を漸進的に周期的に繰り返して複数のレイテンシ値を決定するロジックを含む、
請求項１に記載の装置。
【請求項８】
前記ロジック、一以上のプロセッサコア、及びメモリは単一の集積回路ダイ上に配置される、請求項１に記載の装置。
【請求項９】
コンピューティングシステムの一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出するステップを含み、
前記レイテンシ情報の検出は、前記ホストコントローラにより開始される一以上のレイテンシ情報トランザクションに応じて行われ、前記レイテンシ情報は、前記ホストコントローラが前記一以上のデバイスのデータまたはメッセージを移動する要求をしてから、前記ホストコントローラが前記データまたはメッセージを移動する要求を前記コンピューティングシステムに認められるまでに前記ホストコントローラが許容できる遅延量に少なくとも部分的に基づいて決定される、
方法。
【請求項１０】
パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一または複数に、検出した前記レイテンシ情報を送るステップをさらに含む、
請求項９に記載の方法。
【請求項１１】
前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつが、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断するステップをさらに含む、
請求項１０に記載の方法。
【請求項１２】
コンピューティングシステムの一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出する、少なくとも部分的にハードウェアロジックを含むロジックを含むプロセッサを有し、
前記ロジックは、前記ホストコントローラにより開始される一以上のレイテンシ情報トランザクションに応じて前記レイテンシ情報を検出し、前記レイテンシ情報は、前記ホストコントローラが前記一以上のデバイスのデータまたはメッセージを移動する要求をしてから、前記ホストコントローラが前記データまたはメッセージを移動する要求を前記コンピューティングシステムに認められるまでに前記ホストコントローラが許容できる遅延量に少なくとも部分的に基づいて決定される、
システム。
【請求項１３】
前記ロジックは、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一または複数に、検出した前記レイテンシ情報を送信する、請求項１２に記載のシステム。
【請求項１４】
前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつは、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断する、
請求項１３に記載のシステム。
【請求項１５】
前記レイテンシ情報は、前記ホストコントローラのアイドル時間値を含む、
請求項１２に記載のシステム。
【請求項１６】
前記ロジックは、前記一以上のデバイスにより開始されない一以上のレイテンシ情報トランザクションに応じて前記レイテンシ情報を検出する、請求項１２に記載のシステム。
【請求項１７】
前記一以上のデバイスは、ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）ストレージデバイス、及びＵｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ（ＵＦＳ）デバイスのうち一または複数を含む、
請求項１２に記載のシステム。
【請求項１８】
前記ロジック、一以上のプロセッサコア、及びメモリは単一の集積回路ダイ上に配置される、請求項１２に記載のシステム。
【請求項１９】
前記ホストコントローラがインアクティブである限り、レイテンシ情報を漸進的に周期的に繰り返して複数のレイテンシ値を決定する、請求項１２に記載のシステム。
【請求項２０】
プロセッサに、請求項９ないし１１いずれか一項に記載の方法のステップを実行させるコンピュータプログラム。
【請求項２１】
請求項２０に記載のコンピュータプログラムを格納したコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してエレクトロニクスの分野に関する。より具体的には、幾つかの実施形態はジェネリックホストベースのコントローラレイテンシ方法及び装置に関する。
【背景技術】
【０００２】
モバイルコンピューティングがより一般的になるにつれて、システムデザイナーの主要な目標は消費電力を低減し、例えばバッテリーの寿命を延ばしたり、発熱を少なくしたりすることである。しかし、コンピュータシステムのさまざまなコンポーネントにおける消費電力低減になると、システムデザイナーは、一般的に、かかるコンポーネントの動作のタイミングを支配する既定の標準から得られる情報に依存して、正しさを保証しなければならない。したがって、コンポーネントが低消費電力状態に入れ、まだ正しいか否かは、（例えば、タイミング要件に関する）標準がそのコンポーネントに対してすでに既定されているかに直接依存するかも知れない。
【０００３】
さらにまた、今日の小型フォームファクタのモバイルコンピューティングデバイスにとってエネルギー効率は重要であるが、より大きなシステムにとってもエネルギー効率は重要である。消費電力が大きいと発熱が増えることが一因である。過熱によりコンピュータシステムのコンポーネントが損傷する可能性がある。さらに、電力利用量が大きいと、例えば、携帯型コンピューティング装置では、バッテリー消費が大きくなり、それにより、携帯型装置が充電までに動作する時間が短くなる。消費電力の増加により、より大きいバッテリーの利用が必要となり、より重くなる。バッテリーが重いと、携帯型コンピューティング装置の携帯性や有用性が低下する。
【図面の簡単な説明】
【０００４】
詳細な説明は、添付した図面を参照して行う。図中、参照数字の最も左の桁は、その参照数字が最初に現れる図面を指す。異なる図面で同じ参照番号を用いて、同様の又は同一のアイテムを示す。
【図１】ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
【図２】一実施形態によるプログレッシブレイテンシレポーティングを実装するロジックを示す状態図である。
【図３】一実施形態による、コントローラアイドル時間の関数としてレイテンシ情報プロビジョンを示すグラフである。
【図４】ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
【図５】ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
【図６】ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
【発明を実施するための形態】
【０００５】
以下の説明では、様々な実施形態をよく理解してもらうために、具体的な詳細事項を多数記載する。しかし、さまざまな実施形態はこれらの具体的な詳細事項がなくても実施することができる。他の場合には、具体的な実施形態を分かりにくくしないように、周知の方法、手順、コンポーネント、回路は詳細には説明していない。さらに、実施形態の様々な態様は、集積半導体回路（「ハードウェア」）、一又は複数のプログラムに組織化されたコンピュータ読み取り可能命令（「ソフトウェア」）、又はハードウェアとソフトウェアの組合せなどの様々な手段を用いて実行できる。本開示の目的において、「ロジック」とはハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせのどれかを意味するものとする。
【０００６】
幾つかの実施形態は、ジェネリックホストベースのコントローラレイテンシレポーティングによる（コンピューティングシステムの一以上のデバイスの）レイテンシ情報の決定を提供する。正しい動作を確保するため、一定のレイテンシ要件が満たされる必要がある。これらのレイテンシ要件は一般的にデバイスごとに異なる。さらに、幾つかの実装は、既定の標準に依存してデバイスレイテンシ情報を決定するものである。しかし、すべてのデバイスに対してそのような既定標準が常に存在する訳ではなく、幾つかのデバイスは標準の要件を超えた動作をすることができることもある。このため、一実施形態では、一以上のデバイスへのアクセスを制御するホストコントローラから、上記一以上のデバイスに対応するレイテンシ情報を検出するロジックを利用する。ロジックは、ホストコントローラにより開始される一以上のトランザクションに応じてレイテンシ情報を検出してもよい。
【０００７】
ここに説明するように、「ホストコントローラ」は、一般的には、（図１及び図４−６を参照して説明するコンピューティングシステムのような）コンピューティングシステムのコンポーネントによる一以上のデバイス（例えば、図１のデバイス１６２）へのアクセスを制御／ゲート（ｇａｔｅｓ）するロジック（例えば、図１のコントローラ１６１）を指す。また、ここに説明するように、「レイテンシ情報（ｌａｔｅｎｃｙ  ｉｎｆｏｒｍａｔｉｏｎ）」は一般的に、デバイスまたはホストコントローラが許容する、データまたはメッセージの移動を要求してからシステムがその要求を満たすまでの遅延量を指す。幾つかの場合（例えば、ネットワーキングデバイス）では、これは接続の速さと内部バッファリングの関数であってもよく、他のデバイスの場合（例えば、ストレージ）では、そのデバイスがどのように利用され、及び／またはそれがどのくらい最近利用されたかに基づく性能的制約であってもよい。例えば、ホストコントローラがインアクティブ／アイドル状態にある限り、スリープレイテンシ値が漸進的に周期的に繰り返され、よりいっそう深いレイテンシ値を決定してもよい。レイテンシ情報は一以上のエンティティにレポートされ（ここでさらに詳しく説明する）、例えば、性能対消費電力低減／エネルギー効率のトレードオフをより柔軟にすることができる。
【０００８】
いくつかの実施形態では、ここに説明する少なくともいくつかの電力消費状態は、電力制御インタフェース（ＡＣＰＩ）仕様第５版（２０１１年１２月）で規定された状態による、またはそれと同様である。例えば、Ｌ０は一般的に通常の動作モードを指し、Ｌ１はスリープモードを指し、Ｌ２はより深いスリープモードを指し、以下同様であってもよい。
【０００９】
ここに説明する手法は、図１及び図４−６を参照して説明するシステム（これには、スマートフォン、タブレット、ラップトップコンピュータ、ＵＭＰＣ（Ｕｌｔｒａ−Ｍｏｂｉｌｅ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ウルトラブックなどが含まれ得る）などの、消費電力設定を有する任意のタイプのコンピューティングシステムで用いることができる。より具体的に、図１は、一実施形態によるコンピューティングシステム１００を示すブロック図である。システム１００は、一または複数のプロセッサ１０２−１ないし１０２−Ｎ（ここでは「複数のプロセッサ１０２」または「プロセッサ１０２」と総称する）を含む。複数のプロセッサ１０２は、相互接続ネットワークまたはバス１０４を介して通信できる。各プロセッサは様々なコンポーネントを含み、そのうちのいくつかのコンポーネントについては、明確性のためプロセッサ１０２−１のみを参照して説明する。したがって、残りの各プロセッサ１０２−２ないし１０２−Ｎは、プロセッサ１０２−１を参照して説明するのと同じまたは同様のコンポーネントを含み得る。
【００１０】
一実施形態では、プロセッサ１０２−１は、一または複数のプロセッサコア１０６−１ないし１０６−Ｍ（ここで、「複数のコア１０６」またはより一般的には「コア１０６」と総称する）、共有キャッシュ１０８、及び／またはルータ１１０を含み得る。プロセッサコア１０６は、１つの集積回路（ＩＣ）チップ上に実装できる。さらに、チップは、一または複数の共有キャッシュ及び／またはプライベートキャッシュ（例えば、キャッシュ１０８）、バスまたは相互接続（例えば、バスまたは相互接続ネットワーク１１２）、メモリコントローラ（例えば、図４−６を参照して説明するもの）、またはその他のコンポーネントを含み得る。
【００１１】
一実施形態では、ルータ１１０は、プロセッサ１０２−１及び／またはシステム１００の様々なコンポーネント間の通信に用いられ得る。さらに、プロセッサ１０２−１は２以上のルータ１１０を含み得る。さらに、複数のルータ１１０は、プロセッサ１０２−１の内部または外部の様々なコンポーネント間のデータルーティングを可能にするように通信する。
【００１２】
共有キャッシュ１０８は、コア１０６などのプロセッサ１０２−１の一または複数のコンポーネントにより利用されるデータ（例えば、命令を含む）を格納する。例えば、共有キャッシュ１０８は、プロセッサ１０２のコンポーネントによるより速いアクセスのために、メモリ１１４に格納されたデータをローカルでキャッシュできる。一実施形態では、キャッシュ１０８は、ミッドレベルキャッシュ（例えば、レベル２（Ｌ２）、レベル３（Ｌ３）、レベル４（Ｌ４）またはその他のキャッシュレベル）、ラストレベルキャッシュ（ＬＬＣ）、及び／またはこれらの組み合わせを含む。さらに、プロセッサ１０２−１の様々なコンポーネントは、直接的に、バス（例えば、バス１１２）を通して、及び／またはメモリコントローラまたはハブを通して、共有キャッシュ１０８と通信できる。図１に示したように、いくつかの実施形態では、複数のコア１０６のうちの一または複数のコアは、レベル１（Ｌ１）キャッシュ１１６−１（ここでは「Ｌ１キャッシュ１１６」と総称する）を含み得る。
【００１３】
一実施形態では、ロジック１６０は、（例えば、図２−４を参照してさらに詳しく説明するような漸進的態様で）ホストコントローラ１６１から（一以上のデバイス１６２に関する）レイテンシ情報を検出する。ロジック１６０は、検出されたレイテンシ情報を、パワーマネジメント（ＰＭ）ロジック１７０、オペレーティングシステム（ＯＳ）、デバイスドライバ、ソフトウェアアプリケーションなどのシステムの他のコンポーネントに送る。これは、検出されたレイテンシ情報に基づいて決定されるレイテンシ要件を忠実に守ることにより、正しい動作を維持するためである。例えば、ロジック１６０により、（例えば、既定の標準があっても無くても）個々のデバイスのレイテンシ情報を動的に調整できるようにしてもよい。さらにまた、（例えば、ＯＳ及び／又はソフトウェアアプリケーション及び／又はデバイスドライバがメモリ１１４に格納されている場合、）ＰＭロジック１７０、ＯＳ、デバイスドライバ及び／又はソフトウェアアプリケーションから得られるレイテンシ情報に少なくとも部分的に基づいて、消費電力制御が（例えば、ロジック１６０により）実現されてもよい。一実施形態では、レイテンシ情報は（ロジック１６１などの）ホストコントローラにより提供され、レイテンシ情報トランザクションは（デバイス１６２などの）デバイスにより直接的には開始されないが、デバイスのホストコントローラを通して開始される。また、デバイスは、図１−６を参照して説明するコンポーネント、例えば、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）、及び／又はＵＦＳ（Ｕｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ）ストレージデバイスを含んでいてもよい。さらにまた、ロジック１６０及び／又は１７０は、図１に示す位置とは異なる位置に（例えば、コア１０６内に、相互接続１０４に直接結合されて、など）設けられ得る。
【００１４】
図２は、一実施形態によるプログレッシブレイテンシレポーティングを実装する状態図である。一実施形態では、図１のロジック１６０は、図２の状態図に示したように動作する。図示したように、ロジック１６０は、デバイスコントローラ１６１のアイドル時間をトラック（ｔｒａｃｋ）して、ホストコントローラ１６１がインアクティブ／アイドル状態でいる限り、（例えば、プラットフォームのパワーマネジメント（ＰＭ）ロジック１７０に）レポートされる、より深いレイテンシ値を漸進的に周期的に繰り返す。ホストコントローラ１６１がより長い間アイドル状態にあるとき、エネルギー効率と性能との間のトレードオフをより柔軟にするため、レイテンシ値は（例えば、シリコンベンダー、システムデベロッパ、ユーザなどにより）ソフトウェアで提供されてもよい。
【００１５】
一般的に、ホストコントローラ（例えば、コントローラ１６１）を介して結合された（デバイス１６２などの）一以上のエンドデバイス（ｅｎｄ  ｄｅｖｉｃｅ）のサービスレイテンシ要件のレポートをできるＬＴＲ（Ｌａｔｅｎｃｙ  Ｔｏｌｅｒａｎｃｅ  Ｒｅｐｏｒｔｉｎｇ）が用いられる。次いで、これにより、機能性及び／又は性能に影響を与えずに（例えば、ＰＭロジック１７０により）パワーマネジメントができる。また、図２では（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ（ＰＣＩｅ）に関連していてもよい）ＬＴＲ値を使用していたとしても、実施形態は他の明示的レイテンシレポーティングメカニズムにより適用されてもよい。例えば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）３．０によりサポートされたＬａｔｅｎｃｙ  Ｔｏｌｅｒａｎｃｅ  Ｍｅｓｓａｇｉｎｇ（ＬＴＭ）メカニズム（例えば、２００８年１１月にリリースされたＵＳＢ３．０仕様書によるもの）、またはＵＳＢ２．０によりサポートされたＬｉｎｋ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ（ＬＰＭ）メカニズム（例えば、２００７年７月１６日付けＵＳＢ  ２．０  Ｓｐｅｃｉｆｉｃａｔｉｏｎに対するＵＳＢ  ２．０  Ｌｉｎｋ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ａｄｄｅｎｄｕｍ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｈａｎｇｅ  Ｎｏｔｉｃｅ、及び２０１１年１０月１１日付けＥｒｒａｔａ  ｆｏｒ  ＵＳＢ  ２．０  ＥＣＮ：  Ｌｉｎｋ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ（ＬＰＭ）−７／２００７によるもの）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）リンク状態などにより適用されてもよい。代替的なアプローチには、デバイスドライバにチップセットの固有レジスタ（例えば、ＳＤＩＯ（Ｓｅｒｉａｌ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）レジスタ）に書き込ませるものが含まれる。さらにまた、幾つかの実施形態は、ｅＭＭＣ、ＳＡＴＡ及び／又はＵＦＳストレージデバイスに適用されてもよい。
【００１６】
図２を参照して、（Ｔ０に設定された）アイドルタイマーが満了すると、（ＬＴＲがＬ０でありアイドルタイマーがＴ０に設定される。幾つかの実施形態によると、図２の下部のテーブルにはＴとＬのサンプル値を示した）ステージ２０２からステージ２０４に移動する。ステージ２０４において、ＬＴＲはＬ１に設定され、アイドルタイマーはＬ１に設定される。コントローラ（例えば、ホストコントローラ１６１）がアクティブになると、ステージ２０２に入る。ステージ２０４においてコントローラがインアクティブであると、（Ｌ１に設定された）アイドルタイマーが満了すると、ステージ２０６に入る。このプロセスは、図２の下部のテーブルフォーマットに示した値により、図２に示したようにステージ２０６−２１０で繰り返される。一実施形態では、図示したタイミング値は、時間の単位を選択する倍数（例えば、０００ｂ＝マイクロ秒、００１ｂ＝ミリ秒、０１０＝数百ミリ秒、０１１＝秒）と値（例えば、１０ビット）を有する。レイテンシ値は、マイクロ秒単位で３２ビットでプログラムされ、乗数は有しない。よって、レイテンシ値は、ホストコントローラがインアクティブ（ｉｎａｃｔｉｖｅ）に留まる間、（ステージ２０２−２１０を進むことにより）漸進的に増加し、それにより徐々により深いスリープ状態に到達し、（シリコンベンダー、システムデベロッパ、ユーザ等により提供される）ソフトウェアがレイテンシ値を提供し、エネルギー効率と性能との間のトレードオフをより柔軟にできるように、柔軟性を提供する。
【００１７】
図３は、一実施形態による、コントローラアイドル時間の関数としてレイテンシ情報プロビジョンを示すグラフである。図示したように、（例えば、Ｔ０からＴ３までの４つの漸進的ステップにおいて）アイドル時間値が増加するにつれ、Ｌｘ値が増加してより大きいレイテンシ（例えば、ＬＴＲ）値を示す。したがって、ホストコントローラ１６１がより長い間アイドル状態（図３においてアイドル時間は増加する）にあるとき、エネルギー効率と性能との間のトレードオフをより柔軟にするため、レイテンシ値は（例えば、シリコンベンダー、システムデベロッパ、ユーザなどにより）ソフトウェアで提供されてもよい。
【００１８】
図４は、一実施形態によるコンピューティングシステム４００を示すブロック図である。コンピューティングシステム４００は、相互接続ネットワーク（すなわちバス）４０４を介して通信する一又は複数の中央処理ユニット（ＣＰＵ）４０２又はプロセッサを含む。プロセッサ４０２は、汎用プロセッサ、（コンピュータネットワーク４０３により通信されるデータを処理する）ネットワークプロセッサ、（ＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒ）又はＣＩＳＣ（ｃｏｍｐｌｅｘ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒ）を含む）その他のタイプのプロセッサを含む。
【００１９】
さらに、プロセッサ４０２はシングルコアデザインでもマルチコアデザインでもよい。マルチコアデザインのプロセッサ４０２は、同じ集積回路（ＩＣ）ダイ上に異なるタイプのプロセッサコアを集積したものであってもよい。また、マルチコアデザインのプロセッサ４０２は、対称又は非対称のマルチプロセッサとして実装されてもよい。一実施形態では、一または複数のプロセッサ４０２は図１のプロセッサ１０２と同じまたは同様であってもよい。例えば、システム４００の一以上のコンポーネントは、（例えば、図４に示したような）ロジック１６０または図１ないし図３を参照して説明したその他のコンポーネントを含んでもよい。また、図１−３を参照して説明した動作は、システム４００の一以上のコンポーネントにより実行されてもよい。
【００２０】
チップセット４０６も相互接続４０４で通信できる。チップセット４０６は、グラフィックス・メモリ・コントロール・ハブ（Ｇｒａｐｈｉｃｓ  ａｎｄ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌ  Ｈｕｂ、ＧＭＣＨ）４０８を含む。ＧＭＣＨ４０８は、（図１のメモリ１１４と同じまたは同様な）メモリ４１２と通信するメモリコントローラ４１０を含み得る。メモリ４１２は、ＣＰＵ４０２またはコンピューティングシステム４００に含まれるその他の任意のデバイスにより実行される命令シーケンスを含むデータを記憶する。一実施形態では、メモリ４１２は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又はその他のタイプの記憶デバイスなどの一又は複数の揮発性ストレージ（すなわちメモリ）を含む。ハードディスクなどの不揮発性メモリも利用できる。複数のＣＰＵ及び／又は複数のシステムメモリなど別のデバイスも、相互接続ネットワーク４０４を介して通信できる。
【００２１】
ＧＭＣＨ４０８は、ディスプレイ装置４１６と通信するグラフィックスインタフェース４１４も含み得る。一実施形態では、グラフィックスインタフェース４１４は、ＡＧＰ（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）を介してディスプレイ装置４１６と通信できる。一実施形態では、（フラットパネルディスプレイなどである）ディスプレイ４１６は、例えば信号変換器によりグラフィックスインタフェース４１４と通信する。信号変換器は、ビデオメモリやシステムメモリなどのストレージデバイスに記憶された画像のデジタル表現をディスプレイ信号に変換する。ディスプレイ信号はディスプレイ４１６により解釈され表示される。ディスプレイデバイスにより生成されたディスプレイ信号は、ディスプレイ４１６により解釈されそれに表示される前に、様々な制御デバイスを通して送られる。
【００２２】
ハブインタフェース４１８により、ＧＭＣＨ４０８と入出力コントロールハブ（ＩＣＨ）４２０が通信できる。ＩＣＨ４２０は、コンピューティングシステム４００と通信するＩ／Ｏデバイスにインタフェースを提供する。ＩＣＨ４２０は、ペリフェラルコンポーネント相互接続（ＰＣＩ）ブリッジ、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、又はその他のタイプのペリフェラルブリッジやコントローラなどのペリフェラルブリッジ（又はコントローラ）４２４を通してバス４２２と通信できる。ブリッジ４２４は、ＣＰＵ４０２とペリフェラルデバイスとの間にデータパスを提供する。他のタイプのトポロジーも利用できる。また、複数のバスが、例えば複数のブリッジ又はコントローラにより、ＩＣＨ４２０と通信できる。さらに、ＩＣＨ４２０と通信する他のペリフェラルには、様々な実施形態において、ＩＤＥ（ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）又はＳＣＳＩ（ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）ハードディスクドライブ、ＵＳＢポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピィ（登録商標）ディスクドライブ、デジタル出力サポート（ＤＶＩ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｉｎｔｅｒｆａｃｅ）など）、その他のデバイスが含まれる。
【００２３】
バス４２２は、オーディオデバイス４２６、一又は複数のディスクドライブ４２８、及びネットワークインタフェースデバイス４３０と通信できる（これらはコンピュータネットワーク４０３と通信できる）。他のデバイスはバス４２２を介して通信できる。また、幾つかの実施形態では、（ネットワークインタフェースデバイス４３０などの）様々なコンポーネントがＧＭＣＨ４０８と通信してもよい。また、プロセッサ４０２とＧＭＣＨ４０８が結合された単一チップを形成してもよいし、及び／またはＧＭＣＨ４０８の一部または全部が、（例えば、チップセット４０６のＧＭＣＨ４０８に含まれるのではなく）プロセッサ４０２に含まれてもよい。さらに、他の実施形態では、グラフィックアクセラレータ４１６はＧＭＣＨ４０８内に含まれてもよい。
【００２４】
さらに、コンピューティングシステム４００は揮発性及び／又は不揮発性のメモリ（又はストレージ）を含んでいてもよい。例えば、不揮発性メモリは、次のうち一又は複数を含む：リードオンリメモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的ＥＰＲＯＭ（ＥＥＰＲＯＭ）、ディスクドライブ（例えば、４２８）、フロッピィ（登録商標）ディスク、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）、フラッシュメモリ、光磁気ディスク、又は（例えば命令を含む）電子的データを記憶することができる他のタイプの不揮発性機械読み取り可能媒体を含む。
【００２５】
図５は、一実施形態による、ポイントツーポイント（ＰｔＰ）構成で構成されたコンピューティングシステム５００を示す図である。具体的に、図５は、プロセッサ、メモリ、及び／または入出力装置が複数のポイントツーポイントインタフェースにより相互接続されているシステムを示す。図１−４を参照して説明した動作は、システム５００の一又は複数のコンポーネントにより実行してもよい。
【００２６】
図５に示したように、システム５００は複数のプロセッサを含んでいてもよく、明確性のため、そのうち２つのプロセッサ５０２、５０４のみを示した。プロセッサ５０２と５０４は、それぞれ、ローカルメモリコントローラハブ（ＭＣＨ）５０６、５０８を含み、メモリ５１０と５１２と通信できる。メモリ５１０及び／または５１２は、図４のメモリ４１２を参照して説明したような様々なデータを格納し得る。
【００２７】
一実施形態では、プロセッサ５０２と５０４は、図４を参照して説明した複数のプロセッサ４０２のうちのものであってもよい。プロセッサ５０２と５０４は、それぞれＰｔＰインタフェース回路５１６と５１８を用いて、ポイントツーポイント（ＰｔＰ）インタフェース５１４を介してデータを交換できる。また、プロセッサ５０２と５０４は、それぞれ、ポイントツーポイントインタフェース回路５２６、５２８、５３０及び５３２を用いて、個々のＰｔＰインタフェース５２２と５２４を介してチップセット５２０とデータを交換できる。チップセット５２０は、さらに、例えば、ＰｔＰインタフェース回路５３７を用いて、グラフィックスインタフェース５３６を介してグラフィックス回路５３４とデータを交換できる。
【００２８】
少なくとも一実施形態は、プロセッサ５０２と５０４に設けることができる。例えば、システム５００の一以上のコンポーネントは、プロセッサ５０２と５０４内に配置されることも含め、図１ないし図４のロジック１６０を含んでいてもよい。しかし、他の実施形態は、図５のシステム５００内の他の回路、ロジックユニット、またはデバイスにあってもよい。さらにまた、他の実施形態は、図５に示した複数の回路、ロジックユニット、またはデバイスに分散していてもよい。
【００２９】
チップセット５２０は、ＰｔＰインタフェース回路５４０を用いてバス５４１を介して通信できる。バス５４０は、バスブリッジ５４２とＩ／Ｏデバイス５４３などの一または複数のデバイスと通信できる。バスブリッジ５４２は、バス５４４を介して、キーボード／マウス５４５、通信デバイス５４６（例えば、モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク４０３と通信できるその他の通信デバイス）、オーディオＩ／Ｏデバイス５４７、及び／またはデータストレージデバイス５４８などのその他のデバイスと通信できる。データストレージデバイス５４８は、プロセッサ５０２及び／または５０４により実行できるコード５４９を格納できる。
【００３０】
幾つかの実施形態では、ここに説明したコンポーネントのうち一または複数は、システムオンチップ（ＳＯＣ）デバイスとして実施できる。  図６は、一実施形態によるＳＯＣパッケージを示すブロック図である。図６に示したように、ＳＯＣ６０２は、一以上の中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  （ＣＰＵ））コア６３０、一以上のグラフィックスプロセッサユニット（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ（ＧＰＵ））コア６３０、入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（Ｉ／Ｏ））インタフェース６４０、及びメモリコントローラ６４２を含む。ＳＯＣパッケージ６０２のさまざまなコンポーネントは、他の図を参照してここに説明したように、相互接続またはバスに結合され得る。また、ＳＯＣパッケージ６０２は、他の図を参照してここに説明したように、一意序のコンポーネントを含んでいてもよい。さらに、ＳＯＣパッケージ６２０の各コンポーネントは、例えば他の図を参照してここに説明したように、他の一以上のコンポーネントを含んでいてもよい。一実施形態では、ＳＯＣパッケージ６２０（及びそのコンポーネント）は、一以上の集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））ダイ上に設けられ、パッケージされて単一の半導体デバイスとされてもよい。
【００３１】
図６に示したように、ＳＯＣパッケージ６０２は、メモリコントローラ６４２を介してメモリ６６０（他の図を参照してここに説明したメモリと同様のまたは同じものであってもよい）に結合されている。一実施形態では、メモリ６６０（またはその一部）は、ＳＯＣパッケージ６０２上に集積できる。
【００３２】
Ｉ／Ｏインタフェース６４０は、例えば、他の図を参照してここに説明したような相互接続及び／またはバスを介して、一以上のＩ／Ｏデバイス６７０に結合されていてもよい。Ｉ／Ｏデバイス６７０は、キーボード、マウス、タッチパッド、ディスプレイ、（カメラやカムコーダ／ビデオレコーダなどの）画像／ビデオ収集デバイス、タッチスクリーン、スピーカなどのうち一または複数を含んでいてもよい。さらにまた、一実施形態では、ＳＯＣパッケージ６０２はロジック１６０を含み／集積していてもよい。あるいは、ロジック１６０は、ＳＯＣパッケージ６０２の外側に（すなわち、ディスクリートロジックとして）設けられてもよい。
【００３３】
以下の例はさらに別の実施形態に関する。実施例１は装置を含み、該装置は、一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出する、少なくとも部分的にハードウェアロジックを含むロジックを有し、前記ロジックは、前記ホストコントローラにより開始される一以上のトランザクションに応じて前記レイテンシ情報を検出する。実施例２は実施例１の装置を含み、前記ロジックは、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一または複数に検出した前記レイテンシ情報を送信する。実施例３は実施例２の装置を含み、前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつは、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断する。実施例４は実施例１の装置を含み、前記レイテンシ情報は、前記ホストコントローラのアイドル時間値、及び前記ホストコントローラのスリープレイテンシ値とのうち一以上を含む。実施例５は実施例１の装置を含み、前記ロジックは、前記一以上のデバイスにより開始されない一以上のトランザクションに応じて前記レイテンシ情報を検出する。実施例６は実施例１の装置を含み、前記一以上のデバイスは、ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）ストレージデバイス、及びＵｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ（ＵＦＳ）デバイスのうち一または複数を含む。実施例７は実施例１の装置を含み、前記ホストコントローラがインアクティブである限り、レイテンシ情報を漸進的に周期的に繰り返して複数のレイテンシ値を決定する。実施例８は実施例１の装置を含み、前記ロジック、一以上のプロセッサコア、及びメモリは単一の集積回路ダイ上に配置される。
【００３４】
実施例９は方法を含み、該方法は、一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出するステップを含み、前記レイテンシ情報の検出は、前記ホストコントローラにより開始される一以上のトランザクションに応じて行われる。実施例１０は実施例９の方法を含み、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一または複数に検出した前記レイテンシ情報を送るステップをさらに含む。実施例１１は実施例１０の方法を含み、前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつが、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断するステップをさらに含む。
【００３５】
実施例１２は、プロセッサで実行されたとき、一以上の動作を実行するよう前記プロセッサを設定する一以上の命令を含むコンピュータ読み取り可能媒体を含み、該一以上の動作は、一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出するステップを含み、前記レイテンシ情報の検出は、前記ホストコントローラにより開始される一以上のトランザクションに応じて行われる。実施例１３は実施例１２に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一以上に、検出されたレイテンシ情報の送信をさせる一以上の命令を実行するように前記プロセッサを設定する一以上の命令をさらに含む。実施例１４は実施例１３に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつに、送られた前記レイテンシ情報を受け取らせ、受け取った情報を利用して、エネルギー効率を高くして動作しているか、または性能レベルを高くして動作しているか判断させる一以上の動作を実行する一以上の命令をさらに含む。実施例１５は実施例１２に記載のコンピュータ読み取り可能媒体を含み、前記レイテンシ情報は、前記ホストコントローラのアイドル時間値、及び前記ホストコントローラのスリープレイテンシ値とのうち一以上を含む。実施例１６は実施例１２に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記一以上のデバイスにより開始されない前記一以上のトランザクションに対応するレイテンシ情報を検出させる一以上の動作を実行するように、前記プロセッサを設定する一以上の命令をさらに含む。実施例１７は実施例１２に記載のコンピュータ読み取り可能媒体を含み、前記一以上のデバイスは、ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）ストレージデバイス、及びＵｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ（ＵＦＳ）デバイスのうち一または複数を含む。
【００３６】
実施例１８はシステムを含み、該システムは、一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出する、少なくとも部分的にハードウェアロジックを含むロジックを含むプロセッサを有し、前記ロジックは、前記ホストコントローラにより開始される一以上のトランザクションに応じて前記レイテンシ情報を検出する。実施例１９は実施例１８のシステムを含み、前記ロジックは、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一または複数に検出した前記レイテンシ情報を送信する。実施例２０は実施例１９のシステムを含み、前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつは、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断する。実施例２１は実施例１８のシステムを含み、前記レイテンシ情報は、前記ホストコントローラのアイドル時間値、及び前記ホストコントローラのスリープレイテンシ値とのうち一以上を含む。実施例２２は実施例１８のシステムを含み、前記ロジックは、前記一以上のデバイスにより開始されない一以上のトランザクションに応じて前記レイテンシ情報を検出する。実施例２３は実施例１８のシステムを含み、前記一以上のデバイスは、ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）ストレージデバイス、及びＵｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ（ＵＦＳ）デバイスのうち一または複数を含む。実施例２４は実施例１８のシステムを含み、前記ロジック、一以上のプロセッサコア、及びメモリは単一の集積回路ダイ上に配置される。実施例２５は実施例１８のシステムを含み、前記ホストコントローラがインアクティブである限り、レイテンシ情報を漸進的に周期的に繰り返して複数のレイテンシ値を決定する。
【００３７】
実施例２６は、プロセッサで実行されたとき、実施例９ないし１１いずれか一項に記載の一以上の動作を実行するよう前記プロセッサを設定する一以上の命令を含むコンピュータ読み取り可能媒体。
【００３８】
実施例２７は装置を含み、該装置は、一以上のデバイスへのアクセスを制御するホストコントローラから、前記一以上のデバイスに対応するレイテンシ情報を検出する手段を含み、前記レイテンシ情報の検出は、前記ホストコントローラにより開始される一以上のトランザクションに応じて行われる。実施例２８は実施例２７の装置を含み、前記プロセッサで実行されたとき、パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち一以上に、検出されたレイテンシ情報の送信をさせる一以上の命令を実行するように前記プロセッサを設定する一以上の命令をさらに含む。実施例２９は実施例２８の装置を含み、前記パワーマネジメントロジック、オペレーティングシステム、デバイスドライバ、及びソフトウェアアプリケーションのうち少なくともひとつが、送られた前記レイテンシ情報を受け取り、受け取った情報を利用して、エネルギー効率を上げて動作しているか、または性能レベルを上げて動作しているか判断させる手段をさらに含む。実施例３０は実施例２７の装置を含み、前記レイテンシ情報は、前記ホストコントローラのアイドル時間値、及び前記ホストコントローラのスリープレイテンシ値とのうち一以上を含む。実施例３１は実施例２７の装置を含み、前記一以上のデバイスにより開始されない一以上のトランザクションに応じて前記レイテンシ情報を検出させる手段をさらに有する。実施例３２は実施例２７の装置を含み、前記一以上のデバイスは、ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）ストレージデバイス、及びＵｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ（ＵＦＳ）デバイスのうち一または複数を含む。
【００３９】
様々な実施形態において、例えば図１−６を参照してここに説明した動作は、ハードウェア（例えば、ロジック回路）、ソフトウェア、ファームウェア、またはこれらの組み合わせとして実装でき、コンピュータプログラム製品として提供することもでき、これには、ここで説明した方法を実行するようにコンピュータをプログラムするのに使われる命令（またはソフトウェア手順）を格納した、（例えば、一時的でない）機械読み取り可能またはコンピュータ読み取り可能な媒体を含む。機械読み取り可能媒体は、図１−６を参照して説明したような記憶デバイスを含み得る。
【００４０】
また、かかるコンピュータ読み取り可能媒体は、コンピュータプログラム製品としてダウンロード可能であってもよい。この場合、プログラムは、通信リンク（例えば、バス、モデム、又はネットワーク接続）を介して、リモートコンピュータ（例えば、サーバ）から要求コンピュータ（例えば、クライアント）に、搬送はその他の伝搬媒体に化体されたデータ信号により転送できる。
【００４１】
本明細書において「一実施形態」または「いくつかの実施形態」とは、その実施形態に関して説明する機能、構造、特徴が少なくとも１つの実施形態に含まれることを意味している。本明細書ではいろいろな箇所で「一実施形態とは」と記載するが、同じ実施形態を指すものであってもなくてもよい。
【００４２】
また、以下の説明及び請求項において、「ｃｏｕｐｌｅｄ」と「ｃｏｎｎｅｃｔｅｄ」との用語及びその変化形を用いることがある。幾つかの実施形態では、「接続された」という用語を用いて、２以上の要素が互いに物理的または電気的に直接的に接触していることを示している。「結合された（ｃｏｕｐｌｅｄ）」という用語は、２つ以上の要素が物理的または電気的に直接的に接触していることを示している。しかし、「結合された」という用語は、複数の要素が互いに直接的には接触してないが、互いに協働または相互作用することを示している。
【００４３】
よって、実施形態を構造的特徴及び／又は方法動作の具体的な言葉で説明したが、言うまでもなく、本発明は説明した具体的な特徴や動作に限定されない。むしろ、具体的な特徴や動作は、請求した主題を実施する形式例として開示したものである。
【図１】
0006333971.tif 000002
【図２】
0006333971.tif 000003
【図３】
0006333971.tif 000004
【図４】
0006333971.tif 000005
【図５】
0006333971.tif 000006
【図６】
0006333971.tif 000007