(57)【特許請求の範囲】
【請求項１】
処理要素に連結されるインタフェースロジックと、
前記処理要素に関連付けられる構成コンテキストへの参照を保持する構成ストレージと、
前記構成ストレージと第２のインタフェースとに連結される構成制御ロジックと、を備え、
前記構成制御ロジックは、前記構成ストレージ内に保持される前記構成コンテキストへの前記参照に基づいて、前記処理要素に関連付けられる前記構成コンテキストの少なくとも部分を構成し、
前記構成コンテキストは、前記処理要素のための複数の構成空間パラメータの状態を含む、
処理要素構成のための装置。
【請求項２】
前記装置はルートコントローラを備え、前記構成ストレージは、前記構成コンテキストへの前記参照および前記構成コンテキストを保持するキャッシュストレージを含む、請求項１に記載の装置。
【請求項３】
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントである、請求項２に記載の装置。
【請求項４】
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントでない、請求項２に記載の装置。
【請求項５】
前記キャッシュストレージは、ライトスルーポリシーを実装する、請求項２に記載の装置。
【請求項６】
処理要素に連結されるインタフェースロジックと、
前記処理要素に関連付けられる構成コンテキストへの参照を保持する構成ストレージと、
前記構成ストレージと第２のインタフェースとに連結される構成制御ロジックと、
ルートコントローラと
を備え、
前記構成ストレージは、前記構成コンテキストへの前記参照および前記構成コンテキストを保持するキャッシュストレージを含み、
前記構成制御ロジックは、前記構成ストレージ内に保持される前記構成コンテキストへの前記参照に基づいて、前記処理要素に関連付けられる前記構成コンテキストの少なくとも部分を構成し、
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントである、
処理要素構成のための装置。
【請求項７】
処理要素に連結されるインタフェースロジックと、
前記処理要素に関連付けられる構成コンテキストへの参照を保持する構成ストレージと、
前記構成ストレージと第２のインタフェースとに連結される構成制御ロジックと、
ルートコントローラと
を備え、
前記構成ストレージは、前記構成コンテキストへの前記参照および前記構成コンテキストを保持するキャッシュストレージを含み、
前記構成制御ロジックは、前記構成ストレージ内に保持される前記構成コンテキストへの前記参照に基づいて、前記処理要素に関連付けられる前記構成コンテキストの少なくとも部分を構成し、
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントでない、
処理要素構成のための装置。
【請求項８】
処理要素に連結されるインタフェースロジックと、
前記処理要素に関連付けられる構成コンテキストへの参照を保持する構成ストレージと、
前記構成ストレージと第２のインタフェースとに連結される構成制御ロジックと、
ルートコントローラと
を備え、
前記構成ストレージは、前記構成コンテキストへの前記参照および前記構成コンテキストを保持するキャッシュストレージを含み、
前記構成制御ロジックは、前記構成ストレージ内に保持される前記構成コンテキストへの前記参照に基づいて、前記処理要素に関連付けられる前記構成コンテキストの少なくとも部分を構成し、
前記キャッシュストレージは、ライトスルーポリシーを実装する、
処理要素構成のための装置。
【請求項９】
前記構成コンテキストは、前記処理要素のための複数の構成空間パラメータの状態を含む、請求項６から８のいずれか一項に記載の装置。
【請求項１０】
前記インタフェースロジックは、低電力の物理層（ＰＨＹ）仕様、モバイルインダストリペリフェラルインタフェース（ＭＩＰＩ）仕様、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）仕様、およびより高性能およびより高電力のＰＨＹ仕様から成る群から選択されるＰＨＹ仕様に基づく、物理層ロジックを含む、請求項１から９の何れか一項に記載の装置。
【請求項１１】
前記処理要素は、ＰＣＩｅ仕様で定義される複数のプロトコル通信を認識可能なペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）デバイスを含む、請求項１から１０の何れか一項に記載の装置。
【請求項１２】
前記構成コンテキストへの前記参照を保持する前記構成ストレージは、前記処理要素に関連付けられるメモリマップされた構成空間へのアドレス参照を保持するアドレスレジスタを含む、請求項１から１１のいずれか一項に記載の装置。
【請求項１３】
前記構成コンテキストの前記少なくとも部分を構成する前記構成制御ロジックは、電源イベントに応答する、請求項１から１２のいずれか一項に記載の装置。
【請求項１４】
前記電源イベントは、前記処理要素がアクティブな電力状態に入るという指標を含む、請求項１３に記載の装置。
【請求項１５】
前記電源イベントは、前記処理要素がリンクトレーニングを完了するという指標を含む、請求項１３に記載の装置。
【請求項１６】
前記インタフェースロジック、前記構成ストレージ、および前記構成制御ロジックは、音声通信が可能な無線インタフェースロジックに連結されるシステムオンチップ（ＳｏＣ）に統合される、請求項１から１５のいずれか一項に記載の装置。
【請求項１７】
前記インタフェースロジック、前記構成ストレージ、および前記構成制御ロジックは、非モバイル端末システム内に連結される集積回路上に統合される、請求項１から１５のいずれか一項に記載の装置。
【請求項１８】
ホスト処理デバイスと、
ストレージと、
統合デバイスのための構成データを前記ストレージに書き込み、前記構成データの前記ストレージへの前記書き込みの後、低電力状態に入る前記統合デバイスと、
前記ホスト処理デバイス、前記統合デバイス、および前記ストレージに連結されるコントローラと、を備え、
前記コントローラは、前記統合デバイスがアクティブな電力状態に入ることを開始することに応答して、前記ストレージに保持される前記構成データに少なくとも部分的に基づいて、前記ホスト処理デバイスの直接的な介入なしに、前記統合デバイスを構成し、
前記構成データは、前記統合デバイスのための複数の構成空間パラメータの状態を含む、
デバイス構成のための装置。
【請求項１９】
前記装置はルートコントローラを備え、前記ストレージは、前記構成データを保持するキャッシュストレージを含む、請求項１８に記載の装置。
【請求項２０】
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントである、請求項１９に記載の装置。
【請求項２１】
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントでない、請求項１９に記載の装置。
【請求項２２】
前記キャッシュストレージは、ライトスルーポリシーを実装する、請求項１９に記載の装置。
【請求項２３】
ホスト処理デバイスと、
ストレージと、
統合デバイスのための構成データを前記ストレージに書き込み、前記構成データの前記ストレージへの前記書き込みの後、低電力状態に入る前記統合デバイスと、
前記ホスト処理デバイス、前記統合デバイス、および前記ストレージに連結されるコントローラと、
ルートコントローラと
を備え、
前記ストレージは、前記構成データを保持するキャッシュストレージを含み、
前記コントローラは、前記統合デバイスがアクティブな電力状態に入ることを開始することに応答して、前記ストレージに保持される前記構成データに少なくとも部分的に基づいて、前記ホスト処理デバイスの直接的な介入なしに、前記統合デバイスを構成し、
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントである、
デバイス構成のための装置。
【請求項２４】
ホスト処理デバイスと、
ストレージと、
統合デバイスのための構成データを前記ストレージに書き込み、前記構成データの前記ストレージへの前記書き込みの後、低電力状態に入る前記統合デバイスと、
前記ホスト処理デバイス、前記統合デバイス、および前記ストレージに連結されるコントローラと、
ルートコントローラと
を備え、
前記ストレージは、前記構成データを保持するキャッシュストレージを含み、
前記コントローラは、前記統合デバイスがアクティブな電力状態に入ることを開始することに応答して、前記ストレージに保持される前記構成データに少なくとも部分的に基づいて、前記ホスト処理デバイスの直接的な介入なしに、前記統合デバイスを構成し、
前記キャッシュストレージは、前記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントでない、
デバイス構成のための装置。
【請求項２５】
ホスト処理デバイスと、
ストレージと、
統合デバイスのための構成データを前記ストレージに書き込み、前記構成データの前記ストレージへの前記書き込みの後、低電力状態に入る前記統合デバイスと、
前記ホスト処理デバイス、前記統合デバイス、および前記ストレージに連結されるコントローラと、
ルートコントローラと
を備え、
前記ストレージは、前記構成データを保持するキャッシュストレージを含み、
前記コントローラは、前記統合デバイスがアクティブな電力状態に入ることを開始することに応答して、前記ストレージに保持される前記構成データに少なくとも部分的に基づいて、前記ホスト処理デバイスの直接的な介入なしに、前記統合デバイスを構成し、
前記キャッシュストレージは、ライトスルーポリシーを実装する、
デバイス構成のための装置。
【請求項２６】
前記低電力状態は、スリープ電力状態を含む、請求項１８から２５のいずれか一項に記載の装置。
【請求項２７】
前記構成データは、前記統合デバイス内の複数の構成レジスタからのデータを含む、請求項１８から２６のいずれか一項に記載の装置。
【請求項２８】
前記複数の構成レジスタは、メモリ内の構成空間にマップされ、前記統合デバイス内の特定の構成レジスタへの書き込みは、前記特定の構成レジスタに関連付けられるメモリ内の前記構成空間内のメモリアドレスをアドレス指定する、請求項２７に記載の装置。
【請求項２９】
ホスト処理デバイスに連結し、前記ホスト処理デバイスからメモリアドレスへのメモリアクセスを入力される第１のポートと、
構成レジスタを含む下流の要素に連結し、前記構成レジスタに対する構成リクエストを前記構成レジスタに出力する第２のポートと、
前記構成レジスタのための構成値を保持するキャッシュと、
前記メモリアドレスを前記構成レジスタに関連付け可能で、前記ホスト処理デバイスから前記メモリアドレスへの前記メモリアクセスを、第１の構成モードで、前記構成レジスタに対する前記構成リクエストに変換可能なコントローラと、を備え、
前記コントローラはさらに、前記構成レジスタのための前記構成値を、前記ホスト処理デバイスから前記メモリアドレスへの前記メモリアクセスなしに、第２の構成モードで、前記構成レジスタに提供可能であり、
前記第１の構成モードは、強化された構成アクセス機構（ＥＣＡＭ）モードを含み、前記第２の構成モードは、高速構成アクセス機構（ＦＣＡＭ）モードを含む、
デバイス構成のための装置。
【請求項３０】
前記コントローラがさらに、前記構成レジスタのための前記構成値を、前記ホスト処理デバイスから前記メモリアドレスへの前記メモリアクセスなしに、第２の構成モードにおいて前記構成レジスタに提供可能であることは、前記コントローラが、
前記ホスト処理デバイスからの前記メモリアクセスに含まれる前記構成値を前記キャッシュにキャッシュし、
前記メモリアクセスの完了を前記ホスト処理デバイスに提供し、
前記キャッシュからの前記構成値を前記要素内の前記構成レジスタに提供する、ことを含む、請求項２９に記載の装置。
【請求項３１】
高速構成互換性を示すデバイスから特定のメッセージを受信する段階と、
前記特定のメッセージの受信に応答して、前記デバイスのための構成アドレス空間への参照で構成レジスタを更新する段階と、
前記デバイスを構成する段階と
を備え、
前記デバイスを構成する段階は、
前記構成アドレス空間への第１のメモリ書き込みを開始する段階と、
前記構成アドレス空間に直交するルートコンプレックスメモリ空間への第２のメモリ書き込みを開始する段階と
を有する、デバイス構成のための方法。
【請求項３２】
前記特定のメッセージは、クリーンベースアドレスレジスタメッセージを含む、請求項３１に記載の方法。
【請求項３３】
前記特定のメッセージは、デバイス準備状態（ＤＲＳ）メッセージを含む、請求項３２に記載の方法。
【請求項３４】
１または複数のクリーン構成レジスタを含むクリーンブロック領域へのライトコンバイニングおよびマージングをサポート可能な構成ロジックと、
上流デバイスに連結するポートと、
前記ポートに関連付けられ、デバイスの高速構成機能を示す特定のメッセージを生成するプロトコルロジックと、を備える、高速デバイス構成のための装置。
【請求項３５】
前記特定のメッセージは、クリーンベースアドレスレジスタメッセージを含む、請求項３４に記載の装置。
【請求項３６】
前記構成ロジックは、レガシブロックへの複数の書き込みをさらにサポートし、前記レガシブロックへの前記複数の書き込みは、データがインタリーブされた複数の読み取り／書き込みバイト選択を含み、昇順のアドレス順序でコミットされる、請求項３４または３５に記載の装置。
【請求項３７】
コンピュータに対し、
第１のデバイスの高速構成機能を示す、特定のメッセージを受信する手順と、
第２のデバイスから、前記第１のデバイスの構成空間に関連付けられるアドレスを参照する書き込みメッセージを受信する手順と、
前記第１のデバイスの前記構成空間への書き込みを開始する手順と、
前記第１のデバイスの前記構成空間への前記書き込みに対する前記第１のデバイスからの応答を受信することなく、前記第２のデバイスに対する前記書き込みメッセージの完了を開始する手順と、を実行させるプログラム。
【請求項３８】
前記第１のデバイスは、エンドポイントデバイスであり、前記第２のデバイスは、ホスト処理デバイスである、請求項３７に記載のプログラム。
【請求項３９】
前記第１のデバイスおよび第２のデバイスは、前記プログラムと共に単一の集積回路上に含まれる、請求項３８に記載のプログラム。
【請求項４０】
請求項３７から３９のいずれか一項に記載のプログラムを格納する非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はコンピューティングシステムに関し、具体的には（限定的ではないが）相互接続アーキテクチャのためのデバイスの構成に関する。
【図面の簡単な説明】
【０００２】
【図１】マルチコアプロセッサを含むコンピューティングシステムの一実施形態のブロック図を示す。
【図２】ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）準拠のアーキテクチャを含むコンピューティングシステムの一実施形態を示す。
【図３】層状スタックを含むＰＣＩｅ準拠の相互接続アーキテクチャの一実施形態を示す。
【図４】相互接続アーキテクチャ内で生成または受信されるＰＣＩｅ準拠のリクエストまたはパケットの一実施形態を示す。
【図５】ＰＣＩｅ準拠の相互接続アーキテクチャのための送信機と受信機のペアの一実施形態を示す。
【図６】メモリマップされた構成空間の複数の実施形態の論理図を示す。
【図７】相互接続アーキテクチャの要素を構成するコントローラの一実施形態を示す。
【図８】ホストデバイスからのメモリアクセスを使用して、要素を構成するための一実施形態に係るプロトコル図を示す。
【図９】高速デバイス構成のための一実施形態に係る構成ロジックを示す。
【図１０】要素の高速構成のための一実施形態に係るプロトコル図を示す。
【図１１】高速構成機能を示すデバイスの一実施形態に係るプロトコル図を示す。
【図１２】相互接続アーキテクチャ内の要素のための構成空間の一実施形態を示す。
【図１３】デバイスを構成する方法の一実施形態に係るフロー図を示す。
【図１４】低電力コンピューティングプラットフォームの一実施形態を示す。
【図１５】オンダイ相互接続を含むプロセッサの一実施形態を示す。
【図１６】コンピューティングシステムオンチップの一実施形態を示す。
【図１７】コンピューティングシステムの一実施形態に係るブロック図を示す。
【発明を実施するための形態】
【０００３】
以下の説明には、本発明の深い理解を与えるべく、多数の具体的な詳細が記載されている。例えば、特定のタイプのプロセッサおよびシステム構成、特定のハードウェア構造、特定の設計上およびミクロ設計上の細部、特定のレジスタ構成、特定の命令タイプ、特定のシステムコンポーネント、特定の構成パラメータ等の例示である。しかしながら、本発明を実施するのにこれらの具体的な細部を採用する必要がないことは、当業者にとって明らかであろう。他の例において、特定のおよび代替的なプロセッサアーキテクチャ、記載されたアルゴリズムのための特定のロジック回路／コード、特定のファームウェアコード、特定の相互接続動作、特定のロジック構成、特定の製造技術および材料、特定のコンパイラ実装、コードにおけるアルゴリズムの特定の表現、特定のパワーダウンおよびゲーティング技術／ロジック並びにコンピュータシステムの他の特定の動作詳細のような周知のコンポーネントまたは方法については、本発明を不必要に不明瞭にするのを回避すべく、詳細に記載されていない。
【０００４】
以下の実施形態は、コンピューティングプラットフォームまたはマイクロプロセッサといった特定の集積回路における省エネルギーおよびエネルギー効率に関し記載されている場合があるが、他の実施形態が、他のタイプの集積回路および論理デバイスに適用可能である。本明細書に記載された実施形態に係る同様の技術および教示が、他のタイプの回路または半導体デバイスに適用可能であり、それらも、より優れたエネルギー効率および省エネルギーからの利点を享受し得る。例えば、開示された実施形態は、サーバ、デスクトップまたはウルトラブック（商標）のような軽量コンピューティングデバイスに限定されない。また、ハンドヘルドデバイス、タブレット、他の薄型ノートブック、システムオンチップ（ＳＯＣ）デバイス、および埋め込みアプリケーションのような他のデバイスにおいても使用され得る。ハンドヘルドデバイスのいくつかの例としては、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末（ＰＤＡ）、およびハンドヘルドＰＣが挙げられる。埋め込みアプリケーションとは通常、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ、ネットワークコンピュータ（ＮｅｔＰＣ）、セットトップボックス、ネットワークハブ、広域ネットワーク（ＷＡＮ）スイッチ、または以下に教示される機能および動作を実行し得る任意の他のシステムを含む。さらに、本明細書に記載される装置、方法およびシステムは、物理コンピューティングデバイスに限定されず、省エネルギーおよび効率性のためのソフトウェア最適化にも関連し得る。以下の詳細な説明から容易に明らかであるように、本明細書に記載の方法、装置、システムの実施形態（ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせに関するかどうかを問わず）は、性能検討事項とバランスが採られた「グリーンテクノロジ」の将来に不可欠である。
【０００５】
コンピューティングシステムが進歩するにつれ、それらのコンポーネントは、より複雑化してきている。結果的に、最適なコンポーネント動作のための帯域幅要件が満たされることを保証すべく、コンポーネント間の連結および通信を行うための相互接続アーキテクチャも複雑性を増している。さらに、様々な市場セグメントが、市場ニーズに適合する相互接続アーキテクチャの様々な態様を要求する。例えば、サーバがさらなる高性能を必要とする一方で、モバイルエコシステムは場合によっては、省電力化のために性能全体を犠牲にできる。とはいえ、最大限の省電力化で可能な限り高い性能を提供することが、大半のファブリックの唯一の目的である。以下に説明される多数の相互接続は、本明細書に記載される本発明の複数の態様から潜在的に利点を享受するであろう。
【０００６】
図１を参照すると、マルチコアプロセッサを含むコンピューティングシステムの一実施形態のブロック図が示されている。プロセッサ１００は、マイクロプロセッサ、埋め込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、ハンドヘルドプロセッサ、アプリケーションプロセッサ、コプロセッサ、システムオンチップ（ＳＯＣ）、またはコードを実行する他のデバイスのような任意のプロセッサまたは処理デバイスを含む。一実施形態において、プロセッサ１００は、少なくとも２つのコア、コア１０１および１０２を含み、これらは、非対称コアまたは対称コアを含んでよい（図示された実施形態）。しかしながら、プロセッサ１００は、対称または非対称であり得る任意の数の処理要素を含んでよい。
【０００７】
一実施形態において、処理要素とは、ソフトウェアスレッドをサポートするハードウェアまたはロジックを指す。ハードウェア処理要素の例としては、スレッドユニット、スレッドスロット、スレッド、処理ユニット、コンテキスト、コンテキストユニット、論理プロセッサ、ハードウェアスレッド、コア、および／または、実行状態またはアーキテクチャ状態のようなプロセッサの状態を保持可能な任意の他の要素を含む。換言すると、一実施形態において、処理要素は、ソフトウェアスレッド、オペレーティングシステム、アプリケーション、または他のコードのようなコードに独立して関連付け可能な任意のハードウェアを指す。物理プロセッサ（またはプロセッサソケット）は通常、コアまたはハードウェアスレッドのような任意の数の他の処理要素を潜在的に含む集積回路を指す。
【０００８】
コアとは通常、独立のアーキテクチャ状態を維持可能な集積回路上に位置するロジックを指し、独立に維持される各アーキテクチャ状態は、少なくともいくつかの専用実行リソースと関連付けられる。コアとは対照的に、ハードウェアスレッドとは通常、独立のアーキテクチャ状態を維持可能な集積回路上に位置された任意のロジックを指し、独立に維持されるアーキテクチャ状態は、実行リソースへのアクセスを共有する。わかる通り、特定のリソースが共有され、他のリソースが特定のアーキテクチャ状態に専用化された場合、ハードウェアスレッドおよびコア間の用語体系のラインが重複する。さらに通常、コアおよびハードウェアスレッドは、オペレーティングシステムによって個々の論理プロセッサとして見なされ、その場合、オペレーティングシステムは、各論理プロセッサに対する操作を個々にスケジューリング可能である。
【０００９】
図１に示されるように、物理プロセッサ１００は２つのコア、すなわちコア１０１および１０２を含む。ここで、コア１０１および１０２は、対称コア、すなわち、同一の構成、機能ユニット、および／またはロジックを備えるコアであるとみなされる。別の実施形態において、コア１０１はアウトオブオーダプロセッサコアを含む一方、コア１０２はインオーダプロセッサコアを含む。しかしながら、コア１０１および１０２は、ネイティブコア、ソフトウェア管理コア、ネイティブ命令セットアーキテクチャ（ＩＳＡ）を実行するよう適合されたコア、変換された命令セットアーキテクチャ（ＩＳＡ）を実行するよう適合されたコア、共同設計されたコア、または他の既知のコアといった、任意のタイプのコアから個々に選択されてよい。異種コア環境（すなわち、非対称コア）においては、バイナリ変換のような、ある形態の変換が利用されてよく、一方または両方のコアに対し、コードをスケジュールまたは実行する。まだ説明していないが、コア１０１内の図示された機能ユニットについて、以下にさらに詳細に述べる。コア１０２におけるユニットは、図示された実施形態において同様の態様で動作する。
【００１０】
図示の通り、コア１０１は、ハードウェアスレッドスロット１０１ａおよび１０１ｂとも称され得る、２つのハードウェアスレッド１０１ａおよび１０１ｂを含む。従って、一実施形態において、オペレーティングシステムのようなソフトウェアエンティティは、プロセッサ１００を４つの別個のプロセッサ、すなわち、４つのソフトウェアスレッドを同時に実行可能な４つの論理プロセッサまたは処理要素として潜在的にみなす。先に暗示の通り、第１のスレッドはアーキテクチャ状態レジスタ１０１ａに関連付けられ、第２のスレッドは、アーキテクチャ状態レジスタ１０１ｂに関連付けられ、第３のスレッドはアーキテクチャ状態レジスタ１０２ａに関連付けられてよく、第４のスレッドは、アーキテクチャ状態レジスタ１０２ｂに関連付けられてよい。ここで、アーキテクチャ状態レジスタ（１０１ａ、１０１ｂ、１０２ａ、および１０２ｂ）の各々は上記の通り、処理要素、スレッドスロット、またはスレッドユニットと称されてよい。図示の通り、アーキテクチャ状態レジスタ１０１ａは、アーキテクチャ状態レジスタ１０１ｂにおいて複製されており、よって個々のアーキテクチャ状態／コンテキストは、論理プロセッサ１０１ａおよび論理プロセッサ１０１ｂのために格納可能である。コア１０１において、命令ポインタおよび割り当ておよびリネーマブロック１３０内のリネームロジックのような、他のより小さなリソースも、スレッド１０１ａおよび１０１ｂのために複製されてよい。並べ替え／リタイヤユニット１３５における並べ替えバッファのようないくつかのリソース、ＩＬＴＢ  １２０、ロード／ストアバッファ、およびキューが、パーティショニングを介して共有されてよい。汎用内部レジスタ、ページテーブルベースレジスタ、低レベルデータキャッシュおよびデータＴＬＢ１５０、実行ユニット１４０、およびアウトオブオーダユニット１３５の部分のような他のリソースが、潜在的に完全に共有される。
【００１１】
プロセッサ１００は通常、複数の他のリソースを含み、それらは完全に共有、パーティショニングを介して共有、または処理要素により／対して専用とされてよい。図１において、プロセッサの例示的な論理ユニット／リソースを有する純粋に例示的なプロセッサの一実施形態が図示されている。プロセッサは、これらの機能ユニットのうちの任意のものを含む、または省略してよく、および図示されていない、任意の他の既知の機能ユニット、ロジック、またはファームウェアを含んでよいことに留意されたい。図示の通り、コア１０１は、簡易化された代表的アウトオブオーダ（ＯＯＯ）プロセッサコアを含む。しかしながら、インオーダプロセッサは、異なる実施形態において利用されてよい。ＯＯＯコアは、実行されるべき／取り出されるべき分岐を予測する分岐ターゲットバッファ１２０と、命令に対するアドレス変換エントリを格納する命令変換バッファ（Ｉ−ＴＬＢ）１２０とを含む。
【００１２】
コア１０１は、フェッチされた要素をデコードするフェッチユニット１２０に連結されたデコードモジュール１２５をさらに含む。一実施形態において、フェッチロジックは、スレッドスロット１０１ａ、１０１ｂにそれぞれ関連付けられた個々のシーケンスを含む。通常、コア１０１は、プロセッサ１００上で実行可能な命令を定義／指定する第１のＩＳＡに関連付けられる。通常、第１のＩＳＡの部分である機械コード命令は、命令（オペコードと称される）の部分を含み、それは実行される命令または動作を参照／指定する。デコードロジック１２５は、これらの命令をそれらのオペコードから認識し、第１のＩＳＡによって定義されるよう処理するために、デコードされた命令をパイプラインで渡す回路を含む。例えば、後に詳細に記載される通り、一実施形態において、デコーダ１２５は、トランザクション命令のような特定の命令を認識するよう設計または適合されたロジックを含む。デコーダ１２５による認識の結果、アーキテクチャまたはコア１０１は、適切な命令に関連付けられたタスクを実行すべく、特定の予め定義されたアクションを取る。本明細書で記載されたタスク、ブロック、動作、および方法のうちの任意のものが、単一または複数の命令に応答して実行されてよく、それらのうちのいくつかは、新しいまたは古い命令であってよいことを留意することが重要である。一実施形態において、デコーダ１２６は、同一のＩＳＡ（または、それらのサブセット）を認識することに留意されたい。あるいは、異種コア環境においては、デコーダ１２６は、第２のＩＳＡ（第１のＩＳＡのサブセットまたは別個のＩＳＡのいずれか）を認識する。
【００１３】
一例において、割り当ておよびリネーマブロック１３０は、命令処理結果を格納するレジスタファイルのようなリソースを予約するアロケータを含む。しかしながら、スレッド１０１ａおよび１０１ｂは潜在的にアウトオブオーダ実行を可能であり、その場合、割り当ておよびリネーマブロック１３０は、命令結果を追跡する並べ替えバッファのような他のリソースも予約する。ユニット１３０はまた、プログラム／命令参照レジスタをプロセッサ１００の内部の他のレジスタにリネームするレジスタリネーマも含んでよい。並べ替え／リタイヤユニット１３５は、上述の並べ替えバッファ、ロードバッファ、およびストアバッファのようなコンポーネントを含み、アウトオブオーダ実行と、その後のアウトオブオーダ実行された命令のインオーダリタイヤとをサポートする。
【００１４】
スケジューラおよび実行ユニットブロック１４０は、一実施形態において、実行ユニットに対する命令／操作をスケジュールするスケジューラユニットを含む。例えば、浮動小数点命令が、利用可能な浮動小数点実行ユニットを有する実行ユニットのポートでスケジュールされる。情報命令処理結果を格納すべく、実行ユニットに関連付けられたレジスタファイルも含まれる。例示的な実行ユニットは、浮動小数点実行ユニット、整数実行ユニット、ジャンプ実行ユニット、ロード実行ユニット、ストア実行ユニット、および他の既知の実行ユニットを含む。
【００１５】
より低レベルのデータキャッシュおよびデータ変換バッファ（Ｄ−ＴＬＢ）１５０が、実行ユニット１４０に連結される。データキャッシュは、データオペランドのような最近使用／操作された要素を格納し、それらは、メモリコヒーレンシ状態で潜在的に保持される。Ｄ−ＴＬＢは、物理アドレスへの最近の仮想／線形変換を格納する。具体例として、プロセッサは、物理メモリを複数の仮想ページに分割するページテーブル構造を含んでよい。
【００１６】
ここで、コア１０１および１０２は、オンチップインタフェース１１０に関連付けられた第２のレベルキャッシュのような、より高レベルまたはより遠いキャッシュへのアクセスを共有する。より高レベル、またはより遠いとは、増加した、または実行ユニットからさらに離れた、キャッシュレベルを指すことに留意されたい。一実施形態において、より高レベルのキャッシュは、ラストレベルデータキャッシュ、すなわちプロセッサ１００のメモリ階層のラストキャッシュであり、例えば第２または第３のレベルデータキャッシュである。しかしながら、より高レベルのキャッシュはそのように限定されず、命令キャッシュに関連付けられてよく、またはそれを含んでよい。命令キャッシュのタイプであるトレースキャッシュが代わりに、デコーダ１２５の後に連結され、最近デコードされたトレースを格納してよい。ここで、命令は潜在的にマクロ命令（すなわち、デコーダにより認識される一般的命令）を指し、それは複数のマイクロ命令（マイクロ操作）にデコードされてよい。
【００１７】
図示の構成において、プロセッサ１００はまた、オンチップインタフェースモジュール１１０を含む。歴史的には、メモリコントローラは、以下で詳細に後述するが、プロセッサ１００の外部のコンピューティングシステムに含まれてきた。このシナリオでは、オンチップインタフェース１１０は、プロセッサ１００の外部のデバイス、例えば、システムメモリ１７５、チップセット（通常、メモリ１７５に接続するメモリコントローラハブ、および周辺デバイスに接続するＩ／Ｏコントローラハブを含む）、メモリコントローラハブ、ノースブリッジ、または他の集積回路、と通信する。またこのシナリオでは、バス１０５は任意の既知の相互接続を含んでよく、例えば、マルチドロップバス、ポイントツーポイント相互接続、シリアル相互接続、パラレルバス、コヒーレント（例えば、キャッシュコヒーレント）バス、層状プロトコルアーキテクチャ、差動バス、およびＧＴＬバスである。
【００１８】
メモリ１７５は、プロセッサ１００に専用であってもよいし、システム内の他のデバイスと共有されてもよい。メモリ１７５の共通のタイプの例としては、ＤＲＡＭ、ＳＲＡＭ、不揮発性メモリ（ＮＶメモリ）、および他の既知のストレージデバイスが含まれる。デバイス１８０は、グラフィックアクセラレータ、メモリコントローラハブに連結されたプロセッサ若しくはカード、Ｉ／Ｏコントローラハブに連結されたデータストレージ、無線送受信機、フラッシュデバイス、オーディオコントローラ、ネットワークコントローラ、または他の既知のデバイスを含んでよいことに留意されたい。
【００１９】
しかしながら、最近、より多くのロジックおよびデバイスがＳｏＣのような単一のダイ上に統合されており、これらのデバイスの各々はプロセッサ１００上に組み込まれてよい。例えば、一実施形態において、メモリコントローラハブが、プロセッサ１００と同一のパッケージおよび／またはダイ上にある。
【００２０】
ここで、コア１１０の部分（オンコア部分）は、メモリ１７５またはグラフィックデバイス１８０等の他のデバイスとのインタフェースを取るための１または複数のコントローラを含む。そのようなデバイスとインタフェースを取るための相互接続とコントローラとを含む構成は通常、オンコア（または、アンコア構成）と称される。一例として、オンチップインタフェース１１０は、オンチップ通信のためのリング相互接続と、オフチップ通信のための高速シリアルポイントツーポイントリンク１０５とを含む。さらに、ＳｏＣ環境では、ネットワークインタフェース、コプロセッサ、メモリ１７５、グラフィックプロセッサ１８０、および任意の他の既知のコンピュータデバイス／インタフェース等の、さらにずっと多くのデバイスが、単一のダイまたは集積回路に統合され、高機能および低電力消費を備えたスモールフォームファクタを提供してよい。
【００２１】
一実施形態において、プロセッサ１００は、本明細書に記載の装置および方法をサポートし、またはそれらとインタフェースを取るべく、アプリケーションコード１７６をコンパイル、変換、および／または最適化するためのコンパイラ、最適化、および／または変換コード１７７を実行可能である。コンパイラは通常、ソースのテキスト／コードをターゲットのテキスト／コードへと変換するためのプログラムまたはプログラムのセットを含む。通常、コンパイラによるプログラム／アプリケーションコードのコンパイルは、高レベルのプログラミング言語コードを低レベルの機械またはアセンブリ言語コードへと変換すべく、複数のフェーズおよびパスで行われる。しかしながら、簡易コンパイルのために単一パスのコンパイラも依然利用されてよい。コンパイラは、任意の既知のコンパイル技術を利用してよく、字句分析、前処理、解析、セマンティック分析、コード生成、コード変換、およびコード最適化のような任意の既知のコンパイラ動作を実行してよい。
【００２２】
より大型のコンパイラは通常、複数のフェーズを含むが、ほとんどの場合、これらのフェーズは、次の２つの一般的なフェーズ内に含まれる。（１）フロントエンド。すなわち、概してそこでは、構文処理、セマンティック処理、およびいくつかの変換／最適化が行われ得る。（２）バックエンド。すなわち、概してそこでは、分析、変換、最適化、およびコード生成が行われる。いくつかのコンパイラはミドルと称され、コンパイラにおけるフロントエンドとバックエンドとの間のあいまいな描写を示す。結果的に、挿入、関連付け、生成、またはコンパイラの他の動作への言及が、前述のフェーズまたはパスのうち任意のものにおいて、およびコンパイラの任意の他の既知のフェーズまたはパスにおいて行われてよい。一例示として、コンパイラは、動作、呼び出し、機能等をコンパイルの１または複数のフェーズにおいて潜在的に挿入する。例えば、コンパイルのフロントエンドフェーズにおいて呼び出し／動作を挿入する。その後、変換フェーズ中にその呼び出し／動作をより低レベルのコードへと変換する。動的コンパイル中、コンパイラコードまたは動的最適化コードは、そのような動作／呼び出しを挿入するだけでなく、ランタイム中の実行のためにコードを最適化してよいことに留意されたい。特定の一例示として、バイナリコード（既にコンパイルされたコード）が、ランタイム中に動的に最適化されてよい。ここで、プログラムコードには、動的最適化コード、バイナリコード、またはこれらの組み合わせが含まれてよい。
【００２３】
コンパイラと同様、バイナリトランスレータ等のトランスレータは、コードを最適化および／または変換すべく、コードを静的または動的のいずれかで変換する。故に、コード、アプリケーションコード、プログラムコード、または他のソフトウェア環境の実行という言及は、（１）プログラムコードをコンパイルし、ソフトウェア構造を維持し、他の動作を実行し、コードを最適化し、またはコードを変換するための、コンパイラプログラム、最適化コードオプティマイザ、または動的若しくは静的いずれかのトランスレータの実行、（２）最適化／コンパイルがなされたアプリケーションコードといった、動作／呼び出しを含むメインプログラムコードの実行、（３）ソフトウェア構造を維持し、他のソフトウェア関連の動作を実行し、またはコードを最適化すべく、メインプログラムコードに関連付けられたライブラリ等の他のプログラムコードの実行、あるいは（４）これらの組み合わせ、を指してよい。
【００２４】
システムコンポーネントとのインタフェースを取るために開発された相互接続ファブリックアーキテクチャの１つに、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）エクスプレス（ＰＣＩｅ）アーキテクチャが含まれる。ＰＣＩｅの目的は、複数の市場セグメント、クライアント（デスクトップおよびモバイル）、サーバ（スタンダードおよびエンタープライズ）、および組み込みデバイスおよび通信デバイスにわたる、異なるベンダのコンポーネントおよびデバイスが、オープンアーキテクチャにおいて相互運用できるようにすることにある。ＰＣＩ  Ｅｘｐｒｅｓｓは通常、ロード‐ストア、Ｉ／Ｏ、または様々な将来のコンピューティングおよび通信プラットフォームのために定義されたロード‐ストアＩ／Ｏ相互接続アーキテクチャと称される。その使用モデル、ロード‐ストアアーキテクチャ、およびソフトウェアインタフェースのようないくつかのＰＣＩ属性は、その改訂版を通して維持されてきたが、以前のパラレルバス実装は、高度に拡張可能な完全シリアルインタフェースによって置き換えられた。ＰＣＩ  Ｅｘｐｒｅｓｓのより最近のバージョンでは、新レベルの性能および特徴を供給すべく、ポイントツーポイント相互接続、スイッチベースの技術、およびパケット化されたプロトコルにおける進歩を活用している。電力管理、サービスの品質（ＱｏＳ）、ホットプラグ／ホットスワップサポート、データ整合性、およびエラー処理は、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）によってサポートされる高度な特徴のうちのいくつかである。しかしながら、ＰＣＩｅ仕様において定義されるプロトコルが、任意の物理インタフェースまたはトポロジ、すなわちポイント‐ツー‐ポイント、リング、メッシュ、クラスタ等に対し、利用されてよい。
【００２５】
図２を参照すると、一連のコンポーネントを相互接続するポイントツーポイントリンクから構成されるファブリックの一実施形態が示されている。システム２００は、コントローラハブ２１５に連結されたプロセッサ２０５およびシステムメモリ２１０を含む。プロセッサ２０５は、マイクロプロセッサ、ホストプロセッサ、埋め込みプロセッサ、コプロセッサ、または他のプロセッサのような任意の処理要素を含む。プロセッサ２０５は、フロントサイドバス（ＦＳＢ）２０６を介してコントローラハブ２１５に連結される。一実施形態において、ＦＳＢ２０６は後述のようなシリアルポイントツーポイント相互接続である。別の実施形態において、リンク２０６は、異なる相互接続規格に準拠するシリアルの差動相互接続アーキテクチャを含む。
【００２６】
より多くのデバイスがプロセッサ２０５とともに同一のダイに統合され、いくつかの実装において、コントローラハブ２１５がプロセッサ２０５と統合されることに留意することが重要である。ここで、プロセッサ２０５の複数のコアが、ダイに統合されているメモリコントローラハブ２１５とのインタフェースを取る。さらに、ＰＣＩｅインタフェースは、プロセッサ２０５から、またはプロセッサ２０５上に統合されたコントローラハブ２１５から、またはその両方から直接提供されてよい。
【００２７】
システムメモリ２１０は、ランダムアクセスメモリ（ＲＡＭ）、不揮発性（ＮＶ）メモリ、またはシステム２００におけるデバイスによってアクセス可能な他のメモリのような、任意のメモリデバイスを含む。システムメモリ２１０は、メモリインタフェース２１６を介してコントローラハブ２１５に連結される。メモリインタフェースの例としては、ダブルデータレート（ＤＤＲ）メモリインタフェース、デュアルチャネルＤＤＲメモリインタフェース、および動的ＲＡＭ（ＤＲＡＭ）メモリインタフェースが含まれる。
【００２８】
一実施形態において、コントローラハブ２１５は、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅまたはＰＣＩＥ）相互接続階層におけるルートハブ、ルートコンプレックス、またはルートコントローラである。コントローラハブ２１５の例としては、チップセット、メモリコントローラハブ（ＭＣＨ）、ノースブリッジ、相互接続コントローラハブ（ＩＣＨ）、サウスブリッジ、およびルートコントローラ／ハブが含まれる。チップセットという用語は通常、２つの物理的に別個のコントローラハブ、すなわち相互接続コントローラハブ（ＩＣＨ）に連結されたメモリコントローラハブ（ＭＣＨ）を指す。上述の通り、多くの現行システムは通常、プロセッサ２０５と統合されたＭＣＨを含む一方で、コントローラ２１５は、後述されるのと同様の態様で、Ｉ／Ｏデバイスと通信すべく、プロセッサ２０５の内部または外部に別個に提供されてよい。いくつかの実施形態において、ピアツーピアルーティングが任意に、ルートコンプレックス２１５を介してサポートされる。一実施形態において、ルートコンプレックス２１５は、ルートポート、ルートコンプレックスレジスタブロック、またはルートコンプレックス統合エンドポイントの論理的集約を含む。
【００２９】
ここでは、コントローラハブ２１５はシリアルリンク２１９を介してスイッチ／ブリッジ２２０に連結される。インタフェース／ポート２１７および２２１とも呼ばれ得る入／出力モジュール２１７および２２１は、層状プロトコルスタックを含み／実装して、コントローラハブ２１５とスイッチ２２０との間の通信を提供する。一実施形態において、複数のデバイスが、スイッチ２２０に連結可能である。
【００３０】
スイッチ／ブリッジ２２０は、デバイス２２５から上流に、すなわちルートコンプレックスに向かい１階層上のコントローラハブ２１５へ、および下流に、すなわちルートコントローラから１階層下へ、プロセッサ２０５若しくはシステムメモリ２１０およびデバイス２２５間で、パケット／メッセージをルーティングする。この例で使用される上流とは、ルートコンプレックスにより近い要素の相対位置またはルートコンプレックスに向かう情報フローの方向を含み、これに対し、下流は逆に、ルートコンプレックスからさらに遠い要素またはルートコンプレックスから離れる情報フローの方向を指す。一実施形態において、スイッチ２２０とは、複数の仮想ＰＣＩ対ＰＣＩブリッジデバイスの論理アセンブリを指す。ここで、スイッチ２２０は、パケットがあるポートから別のポートへとルーティングされるのを可能にすべく、２または２より多いポートを接続するシステム要素として示されており、いくつかの実装において、ＰＣＩ‐ＰＣＩブリッジの集合として表されてよい。ブリッジ、すなわちスタンドアロンブリッジは通常、ＰＣＩ／ＰＣＩ‐Ｘセグメント若しくはＰＣＩｅポートを、内部コンポーネントの相互接続または別のＰＣＩ／ＰＣＩ‐Ｘバスセグメント若しくはＰＣＩｅポートと仮想的または実際に接続する機能を指す。
【００３１】
デバイス２２５は、Ｉ／Ｏデバイス、ネットワークインタフェースコントローラ（ＮＩＣ）、アドインカード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、ストレージデバイス、ＣＤ／ＤＶＤ  ＲＯＭ、モニタ、プリンタ、マウス、キーボード、ルータ、ポータブルストレージデバイス、ファイヤワイヤデバイス、ユニバーサルシリアルバス（ＵＳＢ）デバイス、スキャナ、および他の入／出力デバイスのような、電子システムに連結される任意の内蔵若しくは外付けのデバイスまたはコンポーネントを含む。ＰＣＩｅ用語では通常、そのようなデバイスをエンドポイントと呼ぶ。具体的に示されていないが、デバイス２２５は、レガシまたは他のバージョンのＰＣＩデバイスをサポートすべく、ＰＣＩｅ対ＰＣＩ／ＰＣＩ−Ｘブリッジを含んでよい。ＰＣＩｅにおけるエンドポイントデバイスは通常、レガシエンドポイント、ＰＣＩｅエンドポイント、またはルートコンプレックス統合エンドポイントとして分類される。一実施形態において、デバイス２２５は、あるタイプのＩ／Ｏを実行する物理的または論理的エンティティ、リンクのいずれかの端におけるコンポーネント、または機能（またはマルチ機能デバイスにおける機能の集合）への参照を含む。ＰＣＩｅにおいては通常、ＰＣＩｅリンク上の要素またはエンティティのより一般的な使用は、機能と称される。ここで、機能とは通常、機能番号に関連付けられた構成空間内のアドレス指定可能なエンティティを指す。いくつかの実施形態において、機能とは、単一の機能デバイスを指すのに対し、他の複数の実施形態においては、機能とは多機能デバイスを指す。
【００３２】
グラフィックアクセラレータ２３０も、シリアルリンク２３２を介してコントローラハブ２１５に連結される。一実施形態において、グラフィックアクセラレータ２３０は、ＩＣＨに連結されたＭＣＨに連結される。スイッチ２２０、およびそれに基づいてＩ／Ｏデバイス２２５が次にＩＣＨに連結される。Ｉ／Ｏモジュール２３１および２１８はまた、グラフィックアクセラレータ２３０およびコントローラハブ２１５間で通信するための層状プロトコルスタックを実装する。上記のＭＣＨの記載と同様、グラフィックコントローラまたはグラフィックアクセラレータ２３０それ自体が、プロセッサ２０５に統合されてよい。
【００３３】
図３を見ると、層状プロトコルスタックの一実施形態が示されている。層状プロトコルスタック３００は、クイックパスインターコネクト（ＱＰＩ）スタック、ＰＣＩｅスタック、次世代高性能コンピューティング相互接続スタック、低電力インタフェーススタック、モバイルインダストリプロセッサインタフェース（ＭＩＰＩ）、または他の層状スタックのような、任意の形態の層状通信スタックを含む。図２〜図５に関するすぐ下の記載はＰＣＩｅスタックに関するものであるが、同一概念が他の相互接続スタックに適用されてよい。一実施形態において、プロトコルスタック３００は、トランザクション層３０５、リンク層３１０、および物理層３２０を含むＰＣＩｅプロトコルスタックである。図１中のインタフェース２１７、２１８、２２１、２２２、２２６および２３１のようなインタフェースが、通信プロトコルスタック３００として表されてよい。通信プロトコルスタックとして表されるものは、プロトコルスタックを実装／包含するモジュールまたはインタフェースとも称され得る。
【００３４】
ＰＣＩ  Ｅｘｐｒｅｓｓは、コンポーネント間で情報を通信するためにパケットを使用する。パケットはトランザクション層３０５およびデータリンク層３１０で形成され、送信コンポーネントから受信コンポーネントへと情報を搬送する。送信されるパケットが他の層を流れる際に、それらの層でパケットを処理するために必要な追加の情報でパケットが拡張される。受信側では逆の処理が発生し、パケットは物理層３２０として表されるものから、データリンク層３１０として表されるものへと変換され、最終的（トランザクション層パケット用）に、受信デバイスのトランザクション層３０５によって処理され得る形態に変換される。
トランザクション層
【００３５】
一実施形態において、トランザクション層３０５は、デバイスの処理コアと、データリンク層３１０および物理層３２０のような相互接続アーキテクチャとの間のインタフェースを提供する。この点において、トランザクション層３０５の主な役割は、パケット（すなわち、トランザクション層パケットまたはＴＬＰ）のアセンブリおよびディスアセンブリである。トランザクション層３０５は通常、ＴＬＰのためのクレジットベースのフロー制御を管理する。ＰＣＩｅは、分割トランザクション、すなわち、時間により分離されたリクエストと応答を持つトランザクションを実装し、ターゲットデバイスが当該応答のためのデータを収集中に、リンクが他のトラフィックを搬送することを可能にする。
【００３６】
また、ＰＣＩｅはクレジットベースのフロー制御を利用する。このスキームにおいて、デバイスはトランザクション層３０５内の受信バッファの各々に対するクレジットの初期量を通知する。図１のコントローラハブ１１５のようなリンクの反対側における外部デバイスは、各ＴＬＰによって使用されるクレジット数をカウントする。トランザクションは、そのトランザクションがクレジット制限を超過しない場合に、送信されてよい。応答を受信すると、クレジット量が復元される。クレジットスキームの利点は、クレジット制限が発生しなければ、クレジットリターン（ｃｒｅｄｉｔ  ｒｅｔｕｒｎ）のレイテンシが性能に影響を与えないことである。
【００３７】
一実施形態において、４つのトランザクションアドレス空間は、構成アドレス空間、メモリアドレス空間、入／出力アドレス空間、およびメッセージアドレス空間を含む。メモリマップされた位置へ／からデータを転送するために、メモリ空間トランザクションは、読み取りリクエストおよび書き込みリクエストのうちの１または複数を含む。一実施形態において、メモリ空間トランザクションは、例えば、３２ビットアドレスのようなショートアドレスフォーマット、または６４ビットアドレスのようなロングアドレスフォーマットといった、２つの異なるアドレスフォーマットを使用可能である。構成空間トランザクションを使用して、ＰＣＩｅデバイスの構成空間にアクセスする。構成空間に対するトランザクションには、読み取りリクエストおよび書き込みリクエストが含まれる。メッセージ空間トランザクション（または、単にメッセージ）は、ＰＣＩｅエージェント間のインバンド通信をサポートするよう定義される。
【００３８】
従って、一実施形態において、トランザクション層３０５は、パケットヘッダ／ペイロード３０６を組み立てる。現行のパケットヘッダ／ペイロードのためのフォーマットは、ＰＣＩｅ仕様ウェブサイトにおけるＰＣＩｅ仕様において見出され得る。
【００３９】
図４を素早く参照するに、ＰＣＩｅトランザクション記述子の一実施形態が示されている。一実施形態において、トランザクション記述子４００は、トランザクション情報を搬送するための機構である。この点において、トランザクション記述子４００は、システム内のトランザクションの識別をサポートする。他の潜在的な使用としては、既定のトランザクションの順序付けの修正およびチャネルとトランザクションとの関連付けを追跡することを含む。
【００４０】
トランザクション記述子４００は、グローバル識別子フィールド４０２、属性フィールド４０４およびチャネル識別子フィールド４０６を含む。図示される例では、グローバル識別子フィールド４０２は、ローカルトランザクション識別子フィールド４０８およびソース識別子フィールド４１０を含むよう示されている。一実施形態において、グローバルトランザクション識別子４０２は、すべての未処理のリクエストに対し一意である。
【００４１】
一実装に従うと、ローカルトランザクション識別子フィールド４０８は要求元エージェントによって生成されるフィールドであり、このフィールドは、その要求元エージェントのための、完了を必要とするすべての未処理のリクエストに対して一意である。さらに、この例において、ソース識別子４１０は、ＰＣＩｅ階層内の要求元エージェントを一意に識別する。従って、ローカルトランザクション識別子４０８フィールドはソースＩＤ４１０と共に、階層ドメイン内のトランザクションのグローバルな識別を提供する。
【００４２】
属性フィールド４０４は、トランザクションの特性および関係を指定する。この点において、属性フィールド４０４は、トランザクションの既定の処理に対する修正を可能にする追加の情報を提供すべく、潜在的に使用される。一実施形態において、属性フィールド４０４は、優先度フィールド４１２、予約フィールド４１４、順序付けフィールド４１６、およびスヌープ無しフィールド４１８を含む。ここで、優先度サブフィールド４１２は、そのトランザクションへ優先度を割り当てるために、イニシエータによって修正されてよい。
【００４３】
予約属性フィールド４１４は、将来のため、またはベンダ定義の用途のために、予約された状態になっている。優先度またはセキュリティ属性を使用する、可能な利用モデルが、予約属性フィールドを使用して実装されてよい。
【００４４】
この例において、順序付け属性フィールド４１６が使用され、既定の順序付けルールを修正し得る順序付けタイプを伝達するオプションの情報を供給する。一例示的な実装によると、順序付け属性「０」は、既定の順序付けルールが適用されることを示し、その場合、順序付け属性「１」は緩和された順序付けを示し、その場合、書き込みは、同一の方向への書き込みを渡すことができ、読み取り完了は、同一の方向への書き込みを渡すことができる。スヌープ属性フィールド４１８は、トランザクションがスヌープされるかどうかを判断するために利用される。図示の通り、チャネルＩＤフィールド４０６は、トランザクションが関連付けられるチャネルを識別する。
リンク層
【００４５】
データリンク層３１０とも呼ばれるリンク層３１０は、トランザクション層３０５と物理層３２０との間の中間段階として動作する。一実施形態において、データリンク層３１０の役割は、リンクの２つのコンポーネント間でトランザクション層パケット（ＴＬＰ）を交換するための信頼性のある機構を提供することである。データリンク層３１０の一方側は、トランザクション層３０５によって組み立てられたＴＬＰを受け入れ、パケットシーケンス識別子３１１、すなわち識別番号またはパケット番号を適用し、エラー検出コード、すなわちＣＲＣ３１２を計算および適用し、物理デバイスから外部デバイスにわたる送信のため、修正されたＴＬＰを物理層３２０に送信する。
物理層
【００４６】
一実施形態において、物理層３２０は、パケットを外部デバイスに物理的に送信するための論理サブブロック３２１および電気サブブロック３２２を含む。ここで、論理サブブロック３２１は、物理層３２１の「デジタル」機能を担当する。この点において、論理サブブロックは、物理サブブロック３２２による送信のための発信情報を準備する送信セクション、および受信された情報をリンク層３１０に渡す前に、それを識別および準備するための受信セクションを含む。
【００４７】
物理ブロック３２２は、送信機および受信機を含む。送信機には、論理サブブロック３２１によってシンボルが供給され、送信機はそれらをシリアライズし、外部デバイスへと送信する。受信機は外部デバイスからのシリアライズされたシンボルが供給され、受信された信号をビットストリームに変換する。ビットストリームは、逆シリアル化されて、論理サブブロック３２１へ供給される。一実施形態において、８ｂ／１０ｂ送信コードが採用され、その場合、１０ビットシンボルが送信／受信される。ここで、フレーム３２３を有するパケットをフレーム化するために特別なシンボルが使用される。また、一例において、受信機も着信シリアルストリームから復元されたシンボルクロックを提供する。
【００４８】
上述の通り、トランザクション層３０５、リンク層３１０、および物理層３２０はＰＣＩｅプロトコルスタックの特定の実施形態に関し記載されているが、層状プロトコルスタックはそのように限定されない。実際、任意の層状プロトコルが含まれ／実装されてよい。一例として、層状プロトコルとして典型的なポート／インタフェースとしては、（１）パケットを組み立てる第１の層、すなわちトランザクション層と、パケットを順序付ける第２の層、すなわちリンク層、およびパケットを送信する第３の層、すなわち物理層が含まれる。具体例としては、共通の標準インタフェース（ＣＳＩ）層状プロトコルが利用される。
【００４９】
次に図５を見ると、ＰＣＩｅシリアルポイントツーポイントファブリックの実施形態が示されている。ＰＣＩｅシリアルポイントツーポイントリンクの実施形態が示されているが、シリアルポイントツーポイントリンクは、シリアルデータを送信するための任意の送信パスを含み、そのように限定されない。図示された実施形態においては、基本的なＰＣＩｅリンクは、２組の低電圧な、差動的に駆動される信号ペア、すなわち送信ペア５０６／５１１および受信ペア５１２／５０７を含む。従って、デバイス５０５は、データをデバイス５１０へ送信するための送信ロジック５０６と、デバイス５１０からデータを受信するための受信ロジック５０７とを含む。換言すると、２つの送信パス、すなわちパス５１６および５１７と、２つの受信パス、すなわちパス５１８および５１９とがＰＣＩｅリンクに含まれる。
【００５０】
送信パスは、送信ライン、銅線、光回線、無線通信チャネル、赤外線通信リンク、または他の通信パスのような、データを送信するための任意のパスを指す。例えば、デバイス５０５およびデバイス５１０のような２つのデバイス間の接続は、リンク４１５等のリンクと呼ばれる。リンクは、１つのレーンをサポートしてよく、各レーンは差動信号ペアのセット（１つのペアは送信用、１つのペアは受信用）を表す。帯域幅を拡張すべく、リンクはｘＮとして示される複数のレーンを集約してよく、ここでＮは、例えば１、２、４、８、１２、１６、３２、６４、またはそれより広い、任意のサポートされたリンク幅である。
【００５１】
差動ペアは、差動信号を送信するためのライン４１６および４１７のような２つの送信パスを指す。一例として、ライン４１６が低電圧レベルから高電圧レベルへと切り替わる、すなわち立ち上りエッジであるとき、ライン４１７は高ロジックレベルから低ロジックレベルへ、すなわち、立ち下りエッジへと、駆動する。差動信号は、より良好な電気的特性、例えば、より良好な信号完全性、すなわちクロスカップリング、電圧オーバシュート／アンダシュート、リンギング等を潜在的に示す。これにより、より良好なタイミングウィンドウを可能にし、それにより、より高速な送信周波数を可能にする。
【００５２】
図６を参照すると、メモリマップされた構成空間の複数の実施形態の論理図が示されている。メモリマップされた構成空間のこれらの例のうちの少数が、図６を参照してすぐ下に記載されている。ここで、ＰＣＩアーキテクチャは、メモリ６２５内の構成アドレス空間６２６を定義および提供し、それは通常、Ｉ／Ｏおよびメモリアドレス空間６２６に対し直交する。
【００５３】
一実施形態において、プロセッサ６０５のＩ／Ｏ空間６１５内のＣＦＣ／ＣＦ８のような固定アドレスに位置するＩ／Ｏマップされたアドレスデータウィンドウ６１６を使用した、構成読み取りおよび書き込み生成のための機構が提供される。ここで、プロセッサは、アドレス空間６１６に対し読み取りまたは書き込みを発行し、それは、構成アドレス空間６２６の代表的なものである。次に、当該読み取りまたは書き込みは、エンドポイント６２２において実行され、エンドポイント６２２はＰＣＩｅネットワーク内のデバイスまたは機能であってよい。
【００５４】
別の実施形態において、強化された構成アクセス機構（ＥＣＡＭ）が、ＰＣＩｅデバイスまたは機能構成を強化すべく、提供される。ここで、構成アクセス空間６２６を表し、複数の構成読み取り／書き込みバスセマンティックリクエストを生成すべく、ルートコンプレックス６１０が、ルートコンプレックスメモリ空間内のメモリマップされたウィンドウ６２１に関連付けられる。ＥＣＡＭの内部の動作をより詳しく示すべく、ＥＣＡＭ実装の例示的な実施形態がすぐ下に記載される。しかしながら、ＥＣＡＭ実装はそのように限定されない。さらに、後述の通り、ＦＣＡＭがＥＣＡＭに類似する複数の属性を利用してよく、よって以下の例はＦＣＡＭフレームワークを理解するために寄与されてよい。しかし、ＦＣＡＭも当該詳細な例示には限定されない。
【００５５】
一ＥＣＡＭ実装において、通常、ＰＣＩソフトウェア構成機構との互換性を維持すべく、デバイス６２２のようなＰＣＩ  Ｅｘｐｒｅｓｓ要素は、ＰＣＩと互換性のある構成空間６２６と関連付けられる。いくつかの例がここに記載される。ＰＣＩ  Ｅｘｐｒｅｓｓリンクは、ロジカルＰＣＩ‐ＰＣＩブリッジを起点とし、このブリッジのセカンダリバスとして構成空間６２６にマップされる。ルートコンプレックス６１０内のルートポートは、ＰＣＩ  Ｅｘｐｒｅｓｓルートコンプレックス６１０からのＰＣＩ  Ｅｘｐｒｅｓｓリンクを起点とするＰＣＩ‐ＰＣＩブリッジ構造である。ＰＣＩ  Ｅｘｐｒｅｓｓスイッチは、ＰＣＩ  Ｅｘｐｒｅｓｓリンクを内部の論理ＰＣＩバスに接続する複数のＰＣＩ‐ＰＣＩブリッジ構造によって表される。スイッチ上流ポートは、ＰＣＩ‐ＰＣＩブリッジを含む。このブリッジのセカンダリバスは、スイッチの内部ルーティングロジックを表す。スイッチ下流ポートは、内部バスから、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチからの下流ＰＣＩ  Ｅｘｐｒｅｓｓリンクを表すバスまでブリッジするＰＣＩ‐ＰＣＩブリッジである。スイッチ下流ポートを表すＰＣＩ‐ＰＣＩブリッジは、内部バスに表れてよい。いくつかの実装において、タイプ０構成空間ヘッダによって表れるエンドポイント６２２は内部バス上に表れるのを許可されていない。
【００５６】
ＰＣＩ  Ｅｘｐｒｅｓｓエンドポイント６２２は、デバイス内の単一機能として構成空間６２６内にマップされてよく、デバイスは、複数の機能または単にその機能のみを含む可能性がある。ＰＣＩ  Ｅｘｐｒｅｓｓエンドポイントおよびレガシエンドポイントは通常、ルートコンプレックス６１０に起点を持つ複数の階層ドメインのうちの１つの中に表れる。一例として、デバイス６２２はそのヘッドとしてのルートポートを有するツリーにおける構成空間６２６内に表れる。ルートコンプレックス統合エンドポイントおよびルートコンプレックスイベントコレクタは、ルートコンプレックス６１０に起点を持つ複数の階層ドメインのうちの１つの中に表れなくてよい。その代わり、いくつかの実装において、これらは構成空間６２６内に複数のルートポートの複数のピアとして表れる。
【００５７】
一実施形態において、ＰＣＩ  Ｅｘｐｒｅｓｓは、構成空間６２６を、ＰＣＩローカルバス仕様によって許可される２５６バイトと比較して、機能ごとに４０９６バイトといったような、より大きなサイズに拡張する。一実施形態において、ＰＣＩ  Ｅｘｐｒｅｓｓ構成空間６２６は、機能６２２の構成空間の第１の２５６バイトのような第１の量から成るＰＣＩ３．０に互換性のある領域、および残りの構成空間６２６から成るＰＣＩ  Ｅｘｐｒｅｓｓ拡張構成空間に分割される。構成空間６２６のＰＣＩ３．０に互換性のある部分は、後述のＰＣＩローカル５バス仕様において定義される機構またはＰＣＩ  Ｅｘｐｒｅｓｓ強化された構成アクセス機構（ＥＣＡＭ）または高速構成アクセス機構（ＦＣＡＭ）のいずれかを使用してアクセス可能である。
【００５８】
ＰＣＩ  Ｅｘｐｒｅｓｓ拡張構成空間は、ＥＣＡＭまたはＦＣＡＭを使用してアクセスされてよい。ＰＣＩ３．０またはそれ以降（例えば、４．０、５．０およびその他これから開発されるもの）と互換性のあるＰＣＩ  Ｅｘｐｒｅｓｓ構成機構は、ＰＣＩ  ローカルバス仕様で定義されるＰＣＩ構成空間プログラミングモデルをサポートする。このモデルに準拠することで、ＰＣＩ  Ｅｘｐｒｅｓｓインタフェースを組み込むシステムは、従来のＰＣＩバス列挙および構成ソフトウェアに準拠したままになる。ＰＣＩ  ３．０デバイス機能と同様に、ＰＣＩ  Ｅｘｐｒｅｓｓデバイス機能は、ソフトウェア駆動の初期化および構成のための構成空間を提供する。ＰＣＩ  Ｅｘｐｒｅｓｓ構成空間６２６のヘッダは通常、ＰＣＩ  ローカルバス仕様で定義されたフォーマットおよび動作に対応するよう編成される。ＰＣＩ３．０と互換性のある構成アクセス機構は、ＥＣＡＭまたはＦＣＡＭと同一のリクエストフォーマットを使用してよい。ＰＣＩと互換性のある構成リクエストについては、拡張レジスタアドレスフィールドが、すべてゼロに設定されてよい。
【００５９】
一実施形態において、構成空間６２６へのアクセスを可能にするプロセッサアーキテクチャ特有のファームウェアインタフェース標準を実装するシステムについて、オペレーティングシステムは標準のファームウェアインタフェースを使用し、ＥＣＡＭまたはＦＣＡＭアクセスはオプションである。例えば、Ｄｅｖｅｌｏｐｅｒ'ｓ  Ｉｎｔｅｒｆａｃｅ  Ｇｕｉｄｅ  ｆｏｒ  ６４−ｂｉｔ  Ｉｎｔｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ−ｂａｓｅｄ  Ｓｅｒｖｅｒｓ  （ＤＩＧ６４），Ｖｅｒｓｉｏｎ  ２．１，９３に準拠するシステムについては、オペレーティングシステムは、構成空間にアクセスするために、ＳＡＬファームウェアサービスを使用する。
【００６０】
一実施形態において、ＥＣＡＭは、デバイス６２２の構成レジスタにアクセスするために、フラットメモリマップされたアドレス空間を利用する。この場合、メモリアドレスはアクセスされた構成レジスタを判断し、メモリデータはアドレス指定されたレジスタの内容を更新（書き込みに対し）またはそれを返す（読み取りに対し）。メモリアドレス空間からＰＣＩ  Ｅｘｐｒｅｓｓ構成空間アドレスへの１つの例示的なマッピングが表１に定義されている。
【００６１】
【表１】
0006286551.tif 000002
【００６２】
構成空間にマップされるメモリアドレスの範囲に関するサイズおよびベースアドレスは、ホストブリッジおよびファームウェアの設計によって判断される。それらは、ファームウェアによって、実装特有の態様でオペレーティングシステムに報告されてよい。当該範囲のサイズは、ホストブリッジが構成アドレスにおけるバス番号フィールドにマップするビット数によって判断される。表１では、このビット数はｎで表され、ここにおいて、１≦ｎ≦８である。ｎ個のメモリアドレスビットをバス番号フィールドにマップするホストブリッジは、０から２ｎ−１まで（両端の数値を含む）のバス番号をサポートし、当該範囲のベースアドレスは、２（ｎ＋２０）バイトメモリアドレス境界に整合される。メモリアドレスビットからマップされていないバス番号フィールド内のビットはいずれも「クリア」であってよい。
【００６３】
例えば、システムが３つのメモリアドレスビットをバス番号フィールドにマップする場合、以下のことが当てはまってよい。すなわち、ｎ＝３である。ベースアドレスにアドレスビットＡ［６３：２３］が使用され、ベースアドレスは２＾２３バイト（８ＭＢ）境界に整合される。アドレスビットＡ［２２：２０］がバス番号フィールドのビット［２：０］にマップされる。バス番号フィールドのビット［７：３］はクリアに設定され、システムは０から７まで（両端の数値を含む）の間のバス番号をアドレス指定可能である。
【００６４】
１つのメモリアドレスビットの最小値（ｎ＝１）がバス番号フィールドにマップされてよい。しかしながら、他の実装において、より多数のバスをサポートすることが必要とされると、システムは追加のメモリアドレスビットをバス番号フィールドにマップする。例えば、４ＧＢより大きいメモリアドレスをサポートするシステムは、メモリアドレスの少なくとも８ビット（ｎ＝８）をバス番号フィールドにマップする。各ホストブリッジに異なる範囲のバス番号が割り当てられている複数のホストブリッジを含むシステムにおいては、システムの最も高いバス番号は、最も高いバス番号が割り当てられているホストブリッジによってマップされるビット数によって潜在的に限定されることに留意されたい。そのようなシステムにおいて、特定のホストブリッジに割り当てられる最も高いバス番号５は、多くの場合、そのホストブリッジに割り当てられたバス数よりも、大きくなるであろう。換言すると、各ホストブリッジについて、バス番号フィールドにマップされたビット数ｎは、各特定のブリッジに割り当てられた最も高いバス番号が、そのブリッジについて２ｎ−１に等しいかそれより小さくなるよう、十分な大きさである必要がある。いくつかのプロセッサアーキテクチャにおいて、単一の構成リクエスト内で表現されないメモリアクセスを生成する可能性がある。それは例えば、ＤＷ整合境界にわたることに起因する、またはロックされたアクセスが使用されるからである。そのようなアクセスに関する構成リクエストへの変換をサポートするために、ルートコンプレックス実装が使用されなくてよい。
【００６５】
余談であるが、リクエストはＡＲＩデバイスにおける拡張機能をターゲットとしてよく、Ａ［１９：１２］が（８ビット）機能番号を表し、それは（５ビット）デバイス番号および（３ビット）機能番号フィールドに置き換わる。
【００６６】
一実施形態において、システムハードウェアは、システムソフトウェア実行が継続する前に、ＥＣＡＭを使用する書き込みトランザクションがコンプリータによって完了されることを保証すべく、システムソフトウェアのための方法を提供する。
【００６７】
一実装において、ＥＣＡＭは、ホストＣＰＵからのメモリトランザクションをＰＣＩ  Ｅｘｐｒｅｓｓファブリック上の構成リクエストに変換する。この変換が潜在的にソフトウェアに対し、順序付けの問題を生じさせることがある。理由は、メモリアドレスへの書き込みは通常、ポステッドトランザクションであるが、構成空間への書き込みは、ＰＣＩ  Ｅｘｐｒｅｓｓファブリックにポストされない可能性があるからである。
【００６８】
概して、ソフトウェアは、ポステッドトランザクションがコンプリータによっていつ完了されるかを認識していない。ソフトウェアが、ポステッドトランザクションがコンプリータによって完了されたことを認識する必要があるそれらの場合において、ソフトウェアによって一般的に使用される技術は、書き込みがされたばかりの場所を読み取ることである。全体を通してＰＣＩ順序付けルールに従うシステムについては、読み取りトランザクションは、ポステッド書き込みが完了するまで完了しない。しかしながら、ＰＣＩ順序付けルールは、ノンポステッド書き込みトランザクションおよび読み取りトランザクションが互いに再順序付けされるのを可能にするので、トランザクションがコンプリータによって完了されるのを保証すべく、ＣＰＵ６０５はＰＣＩ  Ｅｘｐｒｅｓｓファブリック上でノンポステッド書き込みが完了するのを待機する必要がある。一例として、ソフトウェアが、ＥＣＡＭを使用してデバイス６２２に書き込むことによって、デバイス機能６２２のベースアドレスレジスタを構成し、そしてこのベースアドレスレジスタによって記述されるメモリマップされた範囲における場所を読み取ろうとしてよもよい。ＥＣＡＭ書き込みの完了前に、ソフトウェアがメモリマップされた読み取りを発行する場合、構成書き込みリクエストより前に、メモリマップされた読み取りは再順序付けされ、デバイスに到着する可能性があり、予期できない結果を生じさせる。この問題を回避すべく、一実施形態において、プロセッサ６０５およびホストブリッジ６１０の実装は、ＥＣＡＭを使用する書き込みのコンプリータによる完了時を判断するための方法がソフトウェアに対し存在することを保証する。
【００６９】
この方法は単に次のようなものであってよい。すなわち、プロセッサ６０５自身が、ＥＣＡＭアクセスをマップするための専用メモリ範囲を一意と認識し、この範囲へのアクセスを、ＰＣＩ  Ｅｘｐｒｅｓｓファブリック上でノンポステッド書き込みを生成する他のアクセスを扱うのと同一の態様で扱う。すなわち、プロセッサの観点からは、トランザクションはポストされない。代替の機構は、ホストブリッジ６１０（プロセッサ６０５ではなく）がメモリマップされた構成空間６２６のアクセスを認識し、ノンポステッド構成トランザクションがＰＣＩ  Ｅｘｐｒｅｓｓファブリック上で完了するまで、プロセッサ６０５に対し、この書き込みが受理されたことを通知しないことである。３番目の代替策としては、プロセッサ６０５およびホストブリッジ６１０が、ＥＣＡＭに対しメモリマップされた書き込みをポストし、ホストブリッジ６１０が、構成書き込みリクエストのＰＣＩ  Ｅｘｐｒｅｓｓファブリック上での完了時を判断するために、ソフトウェアが読み取り可能な別個のレジスタを提供することであろう。他の代替策も可能である。例えば、プロセッサが、命令の実行時に、前の（以前に発行された）メモリアクセス操作が完了したことを保証するフェンス命令を提供してよい。
【００７０】
ルートコンプレックス実装は、ＤＷ境界にわたる、またはロックされたセマンティクスを使用するアクセスからの構成リクエストの生成をサポートする必要がないので、ソフトウェアは、使用されているルートコンプレックス６１０実装がその変換をサポートすることを認識していない限り、メモリマップされたＥＣＡＭを使用する場合に、そのようなアクセスの生成を生じさせることのないよう注意する必要がある。ＥＣＡＭを実装するそれらのシステムについて、ＰＣＩ  Ｅｘｐｒｅｓｓホストブリッジ６１０は、ホストプロセッサからのメモリマップされたＰＣＩ  Ｅｘｐｒｅｓｓ構成空間アクセスをＰＣＩ  Ｅｘｐｒｅｓｓ構成トランザクションに変換する。ホストブリッジＰＣＩクラスコードの使用は、下位互換性のために予約されてよい。ホストブリッジ構成空間は、ＰＣＩホストブリッジタイプ０構成空間と互換性があるか、または互換性がないかのいずれかの実装特有の態様で実装されてよい。ＰＣＩ  Ｅｘｐｒｅｓｓホストブリッジは、ルートコンプレックスイベントコレクタを介して、エラーをシグナリングする必要がなくてよい。このサポートは、ＰＣＩ  Ｅｘｐｒｅｓｓホストブリッジのオプションである。デバイス６２２は、構成レジスタアクセスをデコードするための追加の４ビットをサポートしてよく、すなわち、構成リクエストヘッダの拡張レジスタアドレス［３：０］フィールドをデコードする。
【００７１】
構成空間内に配置されるべき適切な理由を有するデバイス特有のレジスタ（例えば、それらは、メモリ空間が割り当てられる前にアクセス可能である）が、ベンダ特有の機能構造（ＰＣＩと互換性のある構成空間内）またはベンダ特有の拡張機能構造（ＰＣＩ  Ｅｘｐｒｅｓｓ拡張構成空間内）に配置されてよい。ドライバによってランタイム環境においてアクセスされるデバイス特有のレジスタは、１または複数のベースアドレスレジスタによって割り当てられているメモリ空間内に配置されてよい。ＰＣＩと互換性のある構成空間またはＰＣＩ  Ｅｘｐｒｅｓｓ拡張構成空間は、ランタイム時のデバイス特有のレジスタのための適切な場所を有する可能性があるが、通常は、それらをそこに配置することは推奨されない。
【００７２】
ルートポートまたはルートコンプレックス統合エンドポイントは、４０９６バイトのブロックのようなルートコンプレックスレジスタブロック（ＲＣＲＢ）と称される、メモリマップされたレジスタのオプションのブロックに関連付けられてよい。一実施形態において、これらのレジスタは構成空間６２６と類似する態様で使用され、ＰＣＩ  Ｅｘｐｒｅｓｓ拡張機能およびルートコンプレックスに適用される他の実装特有のレジスタを含んでよい。
【００７３】
複数のルートポートまたは内部デバイスが、同一のＲＣＲＢに関連付けられることを許可されてよい。一実装において、ＲＣＲＢのメモリマップされたレジスタは、メモリマップされた構成空間またはメモリ空間と同一のアドレス空間に存在しない。別の実施形態においては、それらは同一のアドレス空間に存在するが、異なるアドレスを有する。
【００７４】
わかる通り、ＥＣＡＭは、ＣＰＵにより生成された構成リクエストのより高速な完了が、ＣＰＵのストール時間を低減することを潜在的に可能にし、システムソフトウェアからは見えない構成キャッシングは、電力状態の出入りを速くすることを可能にする。しかしながら、いくつかの実施形態において、そのような利点は統合デバイスには拡張されない。
【００７５】
結果的に、一実施形態において、高速構成アクセス機構（ＦＣＡＭ）が提供される。一例として、ＦＣＡＭ実装には、ルートコンプレックス６１０が新しいＦＣＡＭポリシーを構成リクエストのサービス提供に適用する際、ホストソフトウェアに対してはＥＣＡＭとして透過的に見えることを含む。さらに、いくつかの実施形態において、ルートコンプレックス６１０はまた、メモリ読み取り／書き込みコマンドを使用する新しいバスセマンティクスを生成し、それに加え、そのようなコマンドのためのテンプレートを潜在的に提供する。
【００７６】
一実施形態において、ルートコンプレックス６１０は、例えばＦＣＡＭキャッシュのような、メモリマップされたＩ／Ｏウィンドウにマップされたキャッシュを含む。そのようなキャッシュの利用は、以下のうちの１または複数を潜在的に可能にする。すなわち、（１）キャッシュにバッファされ、ホストプロセッサ２０５から見てより迅速に完了する、ホストにより開始される構成書き込み。（２）デバイス６２２に対する単一のバストランザクションに結合可能なホストにより開始される複数の構成書き込み。これは効率を改善し、構成時間を低減する。（３）キャッシュからサービス提供される、静的および半静的デバイス構成レジスタからの、ホストにより開始される読み取り。これはレイテンシを低減し、バストラフィックを低減し、電力を低減する。（４）キャッシュ内にコンテキストを保持することによって、デバイス６２２は電源オフされた後、迅速に構成コンテキストを再構築してよく、キャッシュはその後、デバイス６２２が電源オンに戻ったとき（これは、複数のデバイスが電源オンにされる場合、並行で行われてよい）、デバイス６２２に迅速にダンプされ、直接的なホストの関与を要求しなくてよい。これは電力およびレイテンシを低減する。
【００７７】
一実施形態において、ＦＣＡＭキャッシュは、プロセッサ６０５のキャッシュとコヒーレントなキャッシュではない。これとは逆に、非コヒーレントなキャッシュを提供できることにより、レガシのＰＣＩ／ＰＣＩｅハードウェアをサポートするブリッジ内のような、非コヒーレントＩ／Ｏリンクの背後におけるキャッシュ機構の実装を可能にしてよい。しかしながら、別の実施形態においては、ＦＣＡＭキャッシュは、プロセッサ６０５のキャッシュとコヒーレントなものとして実装される。
【００７８】
一実施形態において、ＦＣＡＭキャッシュは、構成更新が、ターゲット機能に対し送信されることを保証すべく、ライトスルーポリシーを実装する。さらに、ライトスルーポリシーは任意の様々な形態を取ってよい。例えば、一実装では、緩慢なライトスルーポリシーを潜在的に利用し、その場合、書き込みは合理的に適時な態様、すなわち混雑に起因する遅延等でライトスルーされる。さらに、このシナリオにおいて、書き込みは確定的に完了してよい。
【００７９】
一実施形態において、エンドポイントデバイスのために構成コンテキストをＦＣＡＭキャッシュから構成空間に再ロードするといった、構成コンテキストの再確立の際、ホストは、ターゲットの機能／デバイスに対し、大きなブロックの書き込みを発行することを許可される。ここで、構成空間自体は、キャッシュから、またはプロセッサから、ＤＷ（またはそれより小さい）書き込み等のより小さな書き込みの代わりに、ブロック書き込みを使用して書き込まれてよい。
【００８０】
ＦＣＡＭキャッシュおよび、ＦＣＡＭキャッシュからの構成コンテキストを復元することが、図７および９を参照して、以下により詳細に記載されている。
【００８１】
一実施形態において、少なくとも２つのタイプの構成ブロック、レガシおよびクリーンが定義されている。一例示において、バイト書き込みマスクが追跡され、書き込みデータと共にレガシブロック構成領域に送信され、その後の書き込みが別個に発行される。また、この例においては、レガシの互換性のある構成レジスタがレガシブロック内に実装される。一方、クリーンブロックは、バイト書き込みマスクを利用しなくてよい。ここで、ライトコンバイニング、マージング、コラプシング、またはそれらのうちの何らかの組み合わせが、潜在的に許可／可能にされる。さらに、クリーンブロック領域の要件を順守する場合、実装者は、クリーンブロックおよびレガシブロックの両方においてアクセス可能な、いくつかのレガシ互換性のある構成レジスタを含んでよい。レガシおよびクリーンブロックは、図１２を参照して、以下により詳細に記載される。
【００８２】
一実施形態において、ＦＣＡＭ可能なデバイスは、オフセットアドレスにおいて、ホストＦＣＡＭキャッシュのミラーを実装する。ここで、ＦＣＡＭミラーキャッシュはまた、ホストに対しローカルの更新を反映させる緩慢なライトスルーポリシーを実装する。
【００８３】
一実施形態において、ＦＣＡＭ構成トラフィックは、メモリ書き込みセマンティクスを使用する。結果的に、いくつかの実装において、レガシのＰＣＩ／ＰＣＩｅ機能に対し、そのようなメモリ書き込みセマンティクスの変換が利用される。変換の特定の一例示として、書き込みは上記の通り機能するが、レガシデバイス６２２のための構成空間はレガシブロックとして扱われ、メモリ書き込みセマンティクスは、レガシの構成書き込みのような構成書き込みに変換される。読み取りは、ＦＣＡＭキャッシュからはサービス提供されず、レガシデバイス６２２に渡される。一シナリオにおいて、ＦＣＡＭ可能なデバイスは、デバイス準備状態（ＤＲＳ）様の、若しくは機能準備状態（ＦＲＳ）メッセージ機構または構成ベースアドレスレジスタ（ＣＢＡＲ）様のメッセージ機構のような、一意のメッセージの使用を介して自己識別する。
【００８４】
上記の通り、従来の統合されていない機能／デバイスに加え、システムオンチップ（ＳｏＣ）内のような統合された機能／デバイスに対し、高速構成機構が実行されてよい。個別の実装、すなわち、機能が統合されていない実装について、例示的な一プロトコル機構がここに記載される。ここで、ＦＣＡＭ機構は、特別なアドレスに対するメモリ書き込みを使用して動作する。特別なアドレスとは、例えば、構成ベースアドレスレジスタ（ＣＢＡＲ）を介して機能に関連付けられた範囲およびメモリ内の任意の場所に配置可能な、ホスト／ルートコンプレックス６１０上の別の範囲である。一実施形態において、自身をＦＣＡＭ可能であると識別するデバイスによって送信されるメッセージに応答して送信されるホスト６１０からのメッセージを使用して、ＣＢＡＲアドレス範囲は設定される。例示的なワイヤプロトコルで継続し、ＣＢＡＲ範囲はインオーダでコミットされ、長期間ストールされない。また、デバイスからホストの領域への更新は、例えば、割り込み、待機状態から戻るためのトリガ（ＭＷＡＩＴ）、または何らかの他の既知の機構といった、ホストソフトウェアの通知を発生させる。さらに、いくつかの実装において、ＣＢＡＲ更新の際、アクションをトリガすべく、通知機構が提供される。
【００８５】
図７を参照すると、相互接続アーキテクチャの要素を構成するためのコントローラの一実施形態が示されている。一実施形態において、コントローラ７０５はルートコントローラを含む。同様に、コントローラ７０５は、ルートコンプレックス、ホスト、ホストブリッジまたはＰＣＩｅアーキテクチャのルート様相のための集約ポイントとして通常動作する高レベルな階層要素のための他の名前で称されてよい。特定の一例示として、ルートコントローラ７０５は、メモリコントローラを含み、メモリコントローラは、プロセッサまたはＳｏＣに統合されても統合されなくてもよい。
【００８６】
コントローラ７０５はまた、Ｉ／Ｏデバイスに連結されるＩ／Ｏコントローラであってよい。または、コントローラ７０５は、統合されたエンドポイントデバイス７３５とのインタフェースを取るための、ＳｏＣ上の論理ブロックであってよい。
【００８７】
インタフェースロジック７１５、７１６および７１７は、ＰＣＩｅデバイス、ブリッジ、機能、およびエンドポイントのような要素とのインタフェースを取るロジックを含む。その最も基本的な形態において、インタフェースロジック７１５は、列挙された複数のデバイスに物理的に連結するための物理層インタフェースを含む。しかしながら、上述の通り、コントローラ７０５は、デバイスと通信するための層状スタックを含んでよい。さらに、各層は、同一または異なる仕様に基づいてよいことに留意することが重要である。例えば、プロトコル層、リンク層、および物理層は、１または複数のＰＣＩｅ仕様に基づいてよい。または代替として、ＰＨＹ層の少なくとも一部が、ＭＰＨＹ仕様のようなＭＩＰＩ  ＰＨＹ仕様に基づいてよい一方で、残りの層はＰＣＩｅベースである。結果的に、相互接続アーキテクチャがＰＣＩｅプロトコル準拠、すなわち１または複数のＰＣＩｅプロトコル定義に実質的に準拠しつつ、それらのプロトコルを異なる物理的に定義されたインタフェースを介して実装してよい。物理インタフェースのいくつかの例には、低電力のＰＨＹ仕様、モバイルインダストリペリフェラルインタフェース（ＭＩＰＩ）ＰＨＹ仕様、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）ＰＨＹ仕様、およびより高性能および高電力なＰＨＹ仕様が含まれる。しかしながら、それらの層の目的は、それらの内部動作をお互いのために抽出することであるので、任意の既知のＰＨＹインタフェースが利用されてよい。さらに、ＦＣＡＭはＰＣＩｅではない別のプロトコルまたはリンク層適合の中で利用されてよく、これについては後により詳しく記載する。
【００８８】
図７はまた、複数の要素を示し、それらにはデバイス、機能、スイッチ、ブリッジ、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）仕様で定義された複数のプロトコル通信を認識可能なＰＣＩｅデバイス、ＰＣＩｅ仕様で定義された複数のプロトコル通信を認識不能な非ＰＣＩｅデバイス、または他の既知のＩ／Ｏデバイスが含まれてよい。一例として、図７は、本明細書に記載のレガシの変換器を持つスイッチ７２５を示している。結果的に、デバイス７３５がレガシ機能であると仮定すると、スイッチ７２５は、メモリ書き込みセマンティクスの構成書き込みへの、およびメモリ読み取りセマンティクスの構成読み取りへのレガシの変換を実行し、下位互換性を保証する。このシナリオにおいては、デバイス７２６および７２７は、ＦＣＡＭサポートを含む。
【００８９】
コントローラ７０５は、ＦＣＡＭブロック７１０を含む。一実施形態において、ＦＣＡＭブロック７１０は、デバイス７２５、７２６、７２７および７３５を効率的に構成するための高速構成機構をサポートするハードウェアを含む。いくつかの実施形態において、ＦＣＡＭブロック７１０は、高速構成をサポートする特定の操作を実行すべく、ローカルに実行される併置コードも含んでよいことを留意されたい。例示の実施形態において、ＦＣＡＭブロック７１０は、構成制御ロジック７１１および構成ストレージ７１２を含む。構成ストレージ７１２は１つの論理ブロックとして示されるが、そのようには限定されない。実際、構成ストレージ７１２は、併置されない複数の別個のストレージ要素であってよい。特定の一例示として、構成ストレージ７１２は、次のものを含んでよい。すなわち、構成空間のためのベースアドレスを格納するレジスタ、書き込みをキャッシュし、制御ロジック７１１と連携して構成のためのメモリ書き込みセマンティクスを実装するためのキャッシュ、および構成コンテキスト情報自体のためのストレージ／キャッシュである。これらのアイテムのうちの１つ、またはこれらのアイテムの組み合わせが、構成ストレージ７１２としてコントローラ７０５内に含まれてよいことに留意されたい。しかしながら、説明を簡単にするために、構成ストレージの上記複数の例のうちの１つ１つについて、以下に別個に説明する。
【００９０】
第１の例として、構成ストレージ７１２は、ホストプロセッサ構成リクエストに対しサービス提供するためのキャッシュを含む。ここで、ホストプロセッサが、構成書き込みまたは他の書き込みを発行し、完全な終了（エンドポイントデバイスにおける更新および完了通知）まで待機する代わりに、プロセッサは、ホストプロセッサが実行を継続できるように、即座に完了を提供すべく、メモリ書き込みを発行し、ＦＣＡＭブロック７１０に依存することができる。この間、ＦＣＡＭブロック７１０は、メモリ書き込みを、デバイス構成レジスタ／空間への書き込みとしてサービス提供する。換言すると、ホストから見て、完了がより迅速に行われ得るよう、キャッシュはホストにより開始された構成書き込みをバッファする。この実施形態において、デバイス７２６の構成レジスタは、メモリ内の構成空間にマップされ、デバイス７２６内の特定の構成レジスタへの書き込みは、特定の構成レジスタに関連付けられるメモリ内の構成空間内のメモリアドレスをアドレス指定する。メモリアドレスへの書き込みが実行されるとき、キャッシュは書き込みをバッファし、ホストに対し完了を提供し、書き込みのメモリアドレスにマップされる特定の構成レジスタに書き込みを提供する。また、キャッシュは、ライトコンバイニング、マージング、コラプシングといった他の強化点を提供してよい。
【００９１】
別の例として、構成ストレージ７１２は、構成コンテキストへの参照を保持する。一例において、構成コンテキストへの参照とは、構成空間が位置する参照先を指す。この例において、参照は、メモリアドレス、ポインタ、または構成空間の位置に対する他の既知の参照を含んでよい。ここで、ベースアドレスレジスタのようなアドレスレジスタは、図６のアドレス空間６２６のような、要素に関連付けられるメモリマップされた構成空間へのアドレス参照を保持してよい。
【００９２】
別の実施形態において、構成コンテキストへの参照とは、メモリ場所または他の場所のような、構成コンテキストのキャッシュされたコピーが保持される場所を指す。または、別の実施形態において、構成コンテキストへの参照には、構成コンテキストを構成コンテキストが関連付けられるデバイスと関連付ける参照を含む。例えば、デバイス７２６が低電力状態の間、構成ストレージ７１２がデバイス７２６のキャッシュ構成コンテキストを保持すると仮定すると、この実施形態においては、構成コンテキストへの参照は、ストレージ７１２内の構成コンテキスト自体、および、構成ストレージ７１２内のデバイス７２６とコンテキストを関連付けるデバイスＩＤ、インデックス、ヘッダ等のような参照を含む。
【００９３】
さらに別の例において、構成ストレージは、構成コンテキストを保持する。本明細書に記載の通り、構成空間は、情報の定義済みテンプレートを潜在的に順守する。デバイス７２６のようなデバイスがより低電力状態に入る場合、その構成空間情報は失われてよい。結果的に、一実施形態において、その構成空間情報は、デバイス７２６がアクティブ状態に再び入る際、復元されるべく、キャッシュされる。ここで、キャッシュコンテキスト情報は、任意の場所に格納されてよい。従って、一実施形態において、構成ストレージ７１２は、構成空間のキャッシュされたコピーの格納場所への参照を保持する。異なる例として、デバイス７２６がＦＣＡＭ可能であると仮定すると、スイッチ７２５はＦＣＡＭキャッシュを含む。スイッチ７２５内のＦＣＡＭキャッシュは、デバイス７２６の構成空間のキャッシュされたコピーを保持してよい。アクティブな電力状態に再度入るリクエストの際、コントローラ７０５は、デバイス７２６の構成空間を再構築すべく、そのキャッシュされたコピーを提供してよい。
【００９４】
別の実施形態において、構成ストレージ７１２は、機能７２６のようなデバイスのための構成コンテキストを保持する。結果的に、このシナリオにおいては、デバイス７２６が低電力状態に入る場合、構成空間（または少なくともその一部）は、構成ストレージ７１２に格納される。換言すると、デバイス７２６（統合されているか、または別個であるかを問わず）の構成データは、構成ストレージ７１２に書き込まれ、その後、デバイス７２６は低電力状態に入る。アクティブ状態に再度入る際、プロセッサが、レガシの構成書き込みを使用して、構成情報を再書き込みする必要なく、デバイス７２６の構成コンテキストが提供される。結果として、図６のプロセッサ６０５のようなホスト処理デバイスからの指示介入または直接アクセスなしで、ＦＣＡＭブロック７１０を使用して、デバイス７２６のパワーダウンおよびパワーアップは非常に高速に行われることが可能である。
【００９５】
上述の通り、一実施形態において、構成コンテキストは、デバイス７２６のような要素のための複数の構成空間パラメータに対する状態を含む。結果的に、コンテキストは、レジスタの値およびデバイス７２６のパラメータを保持してよく、それらのいくつかが、レガシブロックおよびクリーンブロックを持つ構成空間テンプレートに関連して本明細書に記載される。一実施形態において、構成データは、デバイス７２６内の複数の構成レジスタからのデータを含む。
【００９６】
また、上記に示唆した通り、一実施形態において、コンテキストの格納または復元（例えば、キャッシュされたコピーからコンテキストを提供／ライトバックする）は、電源イベントに応答して行われる。電源イベントは、電圧または電力の実際の変化を含んでよい。さらに、他の実施形態において、電源イベントとは、状態の変化、状態の要求される変化、または、リンク状態の変化（例えば、リンクの状態機械のある状態から別の状態への移行、または定義される電力状態に入る／出る移行）のような状態間の移行期を指す。コンテキストの格納またはバックアップの場合、電源イベントは、スリープ状態（ＲＴＤ３）のような低電力状態へのエントリ（またはエントリのリクエスト等のエントリの指標）を含んでよい。キャッシュ７１２内にあるようなキャッシュコピーからのコンテキストの復元または提供については、キャッシュ制御ロジック７１１は、アクティブな電力状態へのエントリ（またはエントリのリクエスト等のエントリの指標）に応答して、コンテキストを開始または提供してよい。電源イベントの他の例としては、要素がアクティブな電力状態に入るという指標、要素がリンクトレーニングを完了するという指標、要素がリンク初期化または動作の別の段階を完了するという指標、またはリンクがリンク状態間を移行するという指標が含まれる。一実施形態において、構成コンテキストに関するアクティブな電力状態とは、アクティブな構成空間を有するよう定義される状態であり、スリープまたは低電力モードとは、構成空間情報が潜在的なデータ損失または電力損失に起因し、他の場所に格納されるモードである。
【００９７】
図７の複数のブロックは、論理的に別個かつ異なるものとして示されるものの、実際の実装はそのように異なるものでなくてよく、代わりに、ブロックの境界が重なる、または同一デバイスに統合されてもよい。一例示として、ブロックのすべて（コントローラ７０５およびデバイス７２５、７２６、７２７および７３５）がＳｏＣとして単一のダイに統合される。ここで、ＳｏＣは、標準化された音声通信機能を持つモバイル端末のようなシステムまたは、音声通信機能を有しても有さなくてもよい非モバイル端末内に含まれてよい。
【００９８】
異なる例として、コントローラ７０５およびデバイス７２６、７２７は共に集積回路上にある一方で、スイッチ７２５およびデバイス７３５は当該集積回路に個別的に連結される。さらに、すべてのデバイスは個別に分離していてよい。さらに、７１１および７１２のような論理ブロックは、互いにおよびインタフェースロジック７１５、７１６および７１７のような他のブロックとインタリーブされてよい。その例においては、ＦＣＡＭ操作を実行するキャッシュまたはロジックは、相互接続アーキテクチャの層状スタックロジック内に含まれてよい。
【００９９】
結果的に、ＦＣＡＭブロック７１０は、次のことを潜在的に可能にする。すなわち、統合された相互接続デバイスおよび個別の相互接続デバイスの両方に対する高速構成の適用。ホスト介入およびアーキテクチャ制限事項を減少させることによる、スリープ再開のレイテンシの低減。非ブロック構成アクティビティの同時および独立スレッド。機能拡張の完全サポートを含む、Ｉ／Ｏデバイスの完全仮想化。既存のソフトウェアおよびハードウェアのためのレガシ互換性機構。
【０１００】
図８は、ホストデバイスからのメモリアクセスを使用して、要素を構成するための一実施形態のプロトコル図を示す。ここで、処理要素のようなホスト８０５が、デバイス８１５を構成する。ホスト８０５は、デバイス８１５をターゲットとする書き込み８２１を実行する。第１の例として、書き込み８２１は、構成書き込みを含む。代替的に、書き込み８２１は、メモリ書き込みセマンティクスを持つメモリ書き込みを含む。後者の場合、メモリ書き込み８２１は、例えば、デバイス８１５の構成空間および潜在的にはデバイス８１５内の特定の構成レジスタにマップされるように、デバイス８１５に関連付けられるメモリアドレスを参照するメモリ書き込みのためのメモリアドレスを使用して、デバイス８１５をターゲットとしてよい。
【０１０１】
コントローラ８１０は、書き込み８２１を受信する。受信は、任意のリンクを介してよい。一実装において、コントローラ８１０は、プロセッサ８０５に統合されたコントローラハブである。結果的に、メッセージ８２１の受信は、オンダイ相互接続からである。しかしながら、コントローラ８１０はホスト８０５の外部に存在してもよく、それにより、メッセージ８２１が、ホスト８０５の外部の相互接続を経由して送信および受信されるようになる。
【０１０２】
一実施形態において、コントローラ８１０は、メッセージ８２２を初期化し、デバイス８１５に送信する。上記の例から継続し、そこでは書き込みは、デバイス８１５内の構成レジスタという意図されるターゲットを有する。書き込み８２２は、レジスタを書き込み８２１からの構成値で更新すべく、構成空間またはデバイスレジスタへのレガシの構成書き込み、またはＥＣＡＭ様の書き込みの形態を取ってよい。
【０１０３】
１つのシナリオにおいて、完了８２３および８２４が、コントローラ８１０およびホスト８０５にそれぞれ返されてよい。ここでわかる通り、ホスト８０５のメッセージ８２１の送信から、ホスト８０５における完了８２４の受信までに、潜在的な遅延（ホスト構成完了遅延と以下で呼ばれる）が存在する。
【０１０４】
図９を参照すると、高速デバイス構成のための構成ロジックの一実施形態が示されている。一実施形態において、ＦＣＡＭブロック９１０は、構成を加速化するためのブロックを含み、例えば、上記のホスト構成完了遅延を潜在的に低減し、機能の構成のためのレイテンシを低減等する。
【０１０５】
上記と同様、構成ストレージは、多くの形態を取ってよい。例えば、機能のための構成空間への参照を保持するストレージ、構成コンテキストへの参照を保持するストレージ、構成書き込みを保持するストレージ、またはそれらの組み合わせである。構成ストレージの少なくとも２つのタイプが、図９に例示的に提供されている。例えば、ＦＣＡＭブロック９１０は、機能に関連付けられる構成空間のベースアドレスを保持するベースアドレスレジスタ９１１を含む。
【０１０６】
第２の例として、キャッシュ９１３が提供されている。キャッシュ９１３は、構成コンテキスト（構成空間、構成コンテキストのストレージ場所、または構成コンテキスト自体）への参照を保持してよく、またはキャッシュ９１３は、デバイス構成のためのメモリ読み取り／書き込みセマンティクスをサポートするキャッシュまたはバッファとして動作してよい。
【０１０７】
具体例として、キャッシュストレージ９１３は、デバイスのための構成コンテキストへの参照を保持する。上記の説明から、これには、構成空間の場所への参照、構成空間のための構成コンテキストの場所、キャッシュされた構成コンテキストが関連付けられるデバイス／機能への参照、構成コンテキスト自体、またはそれらの組み合わせを含んでよいことに留意されたい。
【０１０８】
また、一実施形態において、キャッシュ９１３は、デバイス／機能の構成のためのメモリアクセスセマンティクスをサポートする。ここで、アクセスはホストデバイスによって作成され、キャッシュ９１３内にバッファ（またはキャッシュ）される。さらに、制御ロジック９１２は、アクセスをサービス提供する。例えば、アクセスを適切な場所に適切な形態で提供し、また、ターゲットデバイスからの完了なしに、ホストに対し完了を潜在的に提供する。図１０を素早く参照すると、この例がさらに示されており、そこでは要素の高速構成の一実施形態のプロトコル図が示されている。
【０１０９】
ここでは、デバイス１０１５内の構成レジスタをターゲットとするメモリアドレスへの書き込み等のメモリアクセス１０２１が、コントローラ１０１０に対し送信される。コントローラ１０１０は、当該書き込みをデバイス１０１５に、例えばデバイス１０１５によって認識可能な書き込みのような許容可能なフォーマットで提供し、関連付けられた構成レジスタを、アクセス１０２１からの新しい値で更新する。このシナリオにおいて、キャッシュ９１３は、当該書き込みをバッファするために利用されてよい。また、コントローラ１０１０は、並行してホスト１００５に対し、完了を返す（すなわち、書き込み１０２２を参照するデバイス１０１５からの完了なしに、またはメッセージ１０２２の送信／処理と少なくとも部分的に同じ期間に）。
【０１１０】
図８と比較してわかる通り、図１０におけるデバイス１０１５を持つレジスタの構成は、ホスト１００５から見て、次の点において加速されている。すなわち、それが、図８における書き込み８２２の完了に応答する、遅延された完了８２４を待機することなく、迅速（および潜在的に即座）に、コントローラ１０１０からの完了を受信するという点においてである。
【０１１１】
図９に戻ると、構成空間の読み取りも、加速されてよい。例えば、読み取りアクセスがホストデバイスによって作成されてよい。現在のコピーがキャッシュ９１３内に保持される場合、読み取りは、現在のデータ値を取得すべく、メモリまたはデバイスに向かうことなく、コントローラによってサービス提供され得る。結果的に、一実施形態において、キャッシュストレージ９１３は、１または複数のプロセッサキャッシュとコヒーレントである。しかしながら、別の実施形態においては、キャッシュストレージ９１３は、１または複数のプロセッサキャッシュとコヒーレントでない。さらに、いくつかの実装において、キャッシュ９１３は、関連付けられたデバイスの構成状態と整合する。一例として、いくつかの実装において、キャッシュ９１３は、ブリッジの背後に実装される。その場合、キャッシュ９１３は、デバイスの構成状態とは整合するが、プロセッサキャッシュとはコヒーレントではない。
【０１１２】
任意の既知の他のキャッシュポリシーまたはアルゴリズムが、制御９１２およびキャッシュ９１３のために利用されてよい。例として、制御９１１およびキャッシュ９１３は、ライトスルー、ライトバック、または他の既知のキャッシュアルゴリズムを実装してよい。
【０１１３】
構成値を保持するためにキャッシュが使用される（構成アクセスのためのまたは構成コンテキストを保持するためのいずれかのバッファとして）一例においては、コントローラおよびＦＣＡＭブロック９１０は、次のことが可能である。すなわち、メモリアドレスを構成レジスタに関連付け、メモリアドレスへのアクセスを受信する。キャッシュ９１３内にレジスタの構成値を保持／格納する。ホスト処理デバイスからメモリアドレスへのメモリアクセスを、強化された構成アクセス機構モードのような第１の構成モードにおいて構成レジスタに対する構成リクエストに変換する。コントローラまたはスイッチ若しくはブリッジのような下流コンポーネントは、キャッシュ９１３内に保持される構成値を、ホスト処理デバイスからのメモリアクセスなしに、高速構成アクセスモード（ＦＣＡＭ）のような第２の構成モードにおいて、構成レジスタに対し提供することがさらに可能である。ＦＣＡＭモードにおいては、ホスト処理デバイスは、加速された完了（上記の通り）を提供しつつ、コントローラがキャッシュし、デバイスに対し提供するメモリアクセスを実行してよいことに留意されたい。しかしながら、ＦＣＡＭモードにおいては、ホスト処理デバイスによるその同一のメモリアクセスは、キャッシュ９１３または別のコンポーネントのいずれかに格納される構成コンテキストを復元する必要がない。
【０１１４】
図１１を参照すると、高速構成機能を示すデバイスのための一実施形態のプロトコル図が示されている。一例として、デバイスは、ＦＣＡＭ可能であると自己識別してよい。図示の通り、リンクは、リンクトレーニング等の何らかのトレーニング１２０、または他のフェーズ／状態の移行を実行してよい。次に、デバイス１１１５は、自身がＦＣＡＭ可能であることを示すメッセージ１１２５を送信する。一例として、メッセージ１１２５は、ＤＲＳまたはＤＲＳ０様のメッセージを含む。別の例として、メッセージ１１２５は、構成の準備を示すための構成ベースアドレスレジスタ（ＣＢＡＲ）メッセージを含む。それは、ＣＢＡＲの場所を示すＤＲＳメッセージに追加するもの、ＤＲＳメッセージに代わるものであってよい。メッセージ１１２５を受信すると、コントローラ１１１０は次にデバイス１１１５を、場合によっては直接的なホスト介入なしに、ＦＣＡＭまたはＣＢＡＲ機構を使用して、構成可能である。いくつかの例において、レガシ互換性をサポートすべく、ルートコンプレックス１１１０（またはスイッチ）は、リセット等の電源イベント後、一定時間（例えば、例示的な時間範囲としては１ｍｓから５００ｍｓであり、１００ｍｓのような特定値であってよい）、構成リクエストを発行することを阻止されてよい。しかしながら、その間にＦＣＡＭ機能を示すＤＲＳまたはＣＢＡＲメッセージが受信される場合、構成１１３０は、さらに一切待機することなく、即座に開始されてよい。
【０１１５】
次に図１２を参照すると、相互接続アーキテクチャ内の要素のための構成空間の一実施形態が示されている。図示の通り、構成ベースアドレス領域またはデータ構造のような構成領域１２０５は従って、レガシブロック１２１０およびクリーンブロック１２１５を含む。ここで、レガシブロック１２１０への複数の書き込みは、ブロック１２１０に対する、例示的なフォーマットで図示されるように、データがインタリーブされた複数の読み取り／書き込みバイト選択を潜在的に含む。図示の通り、ブロック１２１０のフォーマットは、ヘッダ１２１１、マスク１２２、およびデータ１２１３ａから１２１３ｇを含み、データは一例としてダブルワードを含む。さらに、一実施形態において、レガシブロック１２１０への複数の書き込みは昇順のアドレス順序でコミットされ、適切に処理されることが保証される副次的効果を持つ。
【０１１６】
クリーンブロック１２１５は、一実施形態において、複数の読み取り／書き込みバイト選択を含まないが、代替的な実施形態においては、含んでよい。クリーンブロック１２１５のビット定義は、副次的効果がブロックレベルで安全であるという態様で定義されてよい。ここでも、複数の書き込みを昇順のアドレス順序でコミットすることが依然好ましくてよい。一実施形態において、コントローラ内の構成ロジックおよびデバイス内のロジックが、クリーンブロック領域１２１５に対するライトコンバイニングおよびマージングをサポートすることができる。
【０１１７】
図１３は、デバイスを構成する方法のための一実施形態のフロー図を示す。上記から、本明細書に記載のロジックによって実行される複数のプロトコルフローまたは動作のうちの任意のものが方法として表されてよいことに留意されたい。一例として、図１０の説明は、ホストに関連して行われているが、コントローラおよびデバイスがプロトコルメッセージを送信する。メッセージ送信（すなわち、メッセージ１０２１およびメッセージ１０２１に応答する完了１０２３は、方法としても表されてよい）。逆に、本明細書に記載の任意の方法が装置において同様に実装されてよい。
【０１１８】
図１３の例示的な方法において、高速構成互換性を示すデバイスからの特定のメッセージが、フロー１３０５において受信される。上記の通り、当該メッセージは、ＤＲＳ様のメッセージまたはＣＢＡＲメッセージを含んでよい。ここで、ＣＢＡＲメッセージは、コントローラ内のＣＢＡＲを更新するために使用される場所（すなわち、ベースアドレス）を参照してよい。その後、フロー１３１０において、デバイスが当該メッセージの受信に応答して構成される。一実施形態において、デバイスのそのような構成は、構成コンテキストを復元している。ここで、ＦＣＡＭ可能なメッセージが受信される。デバイスがスリープに入る場合、デバイスは構成コンテキストをキャッシュのような構造に保存する。その後、アクティブ電力モードに入る際、コントローラは、キャッシュされた構成コンテキストおよびデバイスのＦＣＡＭ機能に基づいて、デバイスを直接的に構成できる。または、リセットまたは電力オンの際、コントローラは、ＦＣＡＭ可能メッセージの受信に応答してデバイスを即座に構成できる。いずれかの方法で、ＦＣＡＭ可能デバイスの１または複数の構成レジスタは、更新または構成されてよい。
【０１１９】
一実施形態において、フロー１３１０におけるデバイスの構成は、構成アドレス空間への第１のメモリ書き込みの開始および構成アドレス空間に直交するルートコンプレックスメモリ空間への第２のメモリ書き込みの開始を含む。
【０１２０】
図１４を参照すると、低電力コンピューティングプラットフォームの一実施形態が示されている。一実施形態において、低電力コンピューティングプラットフォーム１４００は、ユーザ機器（ＵＥ）またはモバイル端末を含む。いくつかの実施形態において、ＵＥとは、音声通信機能を持つデバイスのような、通信に使用され得るデバイスを指す。ＵＥの例としては、電話およびスマートフォンが含まれる。しかしながら、低電力コンピューティングプラットフォームとはまた、より低電力の動作ポイントを取得するための任意の他のプラットフォームを指してよく、例えば、タブレット、低電力ノートブック、超軽量または極薄型ノートブック、マイクロサーバサーバ、低電力デスクトップ、送信デバイス、受信デバイス、またはモバイル端末以外の任意の他の既知の若しくは入手可能なコンピューティングプラットフォームが挙げられる。示されるプラットフォームは、複数の異なるデバイスを連結するための多くの異なる相互接続を示す。これらの相互接続の例示的な説明が以下に記載され、本明細書に開示の装置および方法に係る実装および包含におけるオプションを提供する。例えば、図示および記載される相互接続プロトコルのうちの任意のものが、ＰＣＩｅアーキテクチャ自体を潜在的に実装することなく、ＰＣＩｅアーキテクチャに関する上記記載と同様の高速構成機構を実装してよい。しかしながら、低電力プラットフォーム１４００は、示される相互接続またはデバイスを含むまたは実装する必要はない。さらに、具体的に示されない他のデバイスおよび相互接続構造が含まれてよい。
【０１２１】
図の中央から始め、プラットフォーム１４００は、アプリケーションプロセッサ１４０５を含む。通常、これは低電力プロセッサを含み、低電力プロセッサは、本明細書に記載または業界で既知のプロセッサ構成のバージョンであってよい。一例として、プロセッサ１４００はシステムオンチップ（ＳｏＣ）として実装される。特定の一例示として、プロセッサ１４００は、ｉ３、ｉ５、ｉ７のようなインテル（登録商標）アーキテクチャコア（商標）ベースのプロセッサ、またはカリフォルニア州サンタクララのインテルコーポレーションから入手可能な別のそのようなプロセッサを含む。しかしながら、カリフォルニア州サニーベールのＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，Ｉｎｃ．（ＡＭＤ）から入手可能な他の低電力プロセッサ、カリフォルニア州サニーベールのＭＩＰＳ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．のＭＩＰＳベースの設計、ＡＲＭ  Ｈｏｌｄｉｎｇｓ，Ｌｔｄ．またはその顧客、または彼らのライセンシー若しくは採用者からライセンスされるＡＲＭベースの設計が代わりに、Ａｐｐｌｅ  Ａ５／Ａ６プロセッサ、Ｑｕａｌｃｏｍｍ  Ｓｎａｐｄｒａｇｏｎプロセッサ、またはＴＩ  ＯＭＡＰプロセッサのような他の実施形態において存在してよいことを理解されたい。これらの会社のプロセッサおよびＳｏＣ技術の進歩につれ、ホストプロセッサ１４００と別個に示されるより多くのコンポーネントが、ＳｏＣに統合されてよいことに留意されたい。結果的に、同様の相互接続（およびそこにおける複数の発明）は「オンダイ」使用されてよい。
【０１２２】
一実施形態において、アプリケーションプロセッサ１４０５は、オペレーティングシステム、ユーザインタフェースおよびアプリケーションを実行する。ここで、アプリケーションプロセッサ１４０５は通常、オペレーティングシステム、ユーザインタフェース、およびアプリケーションが、プロセッサ１４０５の動作／実行を指示するために利用する命令セットアーキテクチャ（ＩＳＡ）を認識またはそれに関連付けられる。また、それは通常、センサ、カメラ、ディスプレイ、マイクおよび大容量ストレージとのインタフェースを取る。いくつかの実装は、タイムクリティカルな電気通信関連の処理を他のコンポーネントにオフロードする。
【０１２３】
図示の通り、ホストプロセッサ１４０５はＷＬＡＮ、ＷｉＧｉｇ、ＷｉｒｅｌｅｓｓＨＤ、または他の無線インタフェースのような無線インタフェース１４３０に連結される。ここで、ホストプロセッサ１４０５および無線インタフェース１４３０に連結するため、ＬＬＩ、ＳＳＩＣまたはＵｎｉＰｏｒｔ準拠の相互接続が利用される。
【０１２４】
ＬＬＩとは、低レイテンシインタフェースを表す。ＬＬＩは通常、２つのデバイス間でのメモリ共有を可能にする。双方向インタフェースは、メモリトランザクションを２つのデバイス間でトランスポートし、デバイスが別のデバイスのローカルメモリにアクセスすることを可能にする。通常、これは、あたかもそれが単一デバイスであるかのように、ソフトウェアの介入なしに行われる。一実施形態において、ＬＬＩは、３つのクラスのトラフィックを可能にし、リンク経由で信号を搬送し、ＧＰＩＯ数を低減する。一例として、ＬＬＩは、通信のための層状プロトコルスタックまたは以下により詳細に記載されるＭＰＨＹのような物理層（ＰＨＹ）を定義する。
【０１２５】
ＳＳＩＣとは、スーパースピードインターチップ（ＳｕｐｅｒＳｐｅｅｄ  Ｉｎｔｅｒ−Ｃｈｉｐ）を指す。ＳＳＩＣは、低電力物理層を使用する高速ＵＳＢデバイスの設計を可能にする。一例として、より良好な電力性能のために、ＵＳＢ３．０準拠のプロトコルおよびソフトウェアがＭＰＨＹの上方で利用されるとき、ＭＰＨＹ層が利用される。
【０１２６】
ＵｎｉＰｒｏは、物理層抽象化を用いて層状プロトコルスタックを記述し、アプリケーションプロセッサ、コプロセッサ、モデムおよび周辺機器のような広範なデバイスおよびコンポーネントを相互接続するための汎用のエラー処理用高速ソリューションを提供するのに加え、制御メッセージ、バルクデータ転送およびパケット化ストリーミングを含む、異なるタイプのデータトラフィックをサポートする。ＵｎｉＰｒｏは、ＭＰＨＹまたはＤＰＨＹの利用をサポートしてよい。
【０１２７】
本明細書に記載の装置および方法を利用し得る他のインタフェースを介して、デバッグ１４９０、ネットワーク１４８５、ディスプレイ１４７０、カメラ１４７５、およびストレージ１４８０のような他のインタフェースもホストプロセッサ１４０５に直接連結されてよい。
【０１２８】
デバッグインタフェース１４９０およびネットワーク１４８５は、例えば、ＰＴＩのようなデバッグインタフェース１４９１、または例えば、機能ネットワーク接続１４８５を介して動作するデバッグインタフェースのようなネットワーク接続を介して、アプリケーションプロセッサ１４０５と通信する。
【０１２９】
ディスプレイ１４７０は、１または複数のディスプレイを含む。一実施形態において、ディスプレイ１４７０は、タッチ入力を受信／感知可能な１または複数のタッチセンサを持つディスプレイを含む。ここで、ディスプレイ１４７０は、ディスプレイインタフェース（ＤＳＩ）１４７１を介して、アプリケーションプロセッサ１４０５に連結される。ＤＳＩ  １４７１は、Ｄ‐ＰＨＹ物理インタフェースを利用し得るホストプロセッサと周辺デバイスとの間のプロトコルを定義する。ＤＳＩ  １４７１は通常、ディスプレイピクセルインタフェース２（ＤＰＩ‐２）のようなピクセルフォーマットおよびビデオフォーマットおよびシグナリングのための定義済みコマンドセット、およびディスプレイコマンドセット（ＤＣＳ）を介するような制御ディスプレイモジュールパラメータを採用する。一例として、ＤＳＩ  １４７１は、レーン毎に約１．５Ｇｂ／ｓまたは最大６Ｇｂ／ｓで動作する。
【０１３０】
一実施形態において、カメラ１４７５は、静止画像、ビデオキャプチャ、またはその両方のために使用されるイメージセンサを含む。フロントサイドカメラおよびバックサイドカメラが、モバイルデバイスでは一般的である。立体サポートを提供すべく、デュアル‐カメラが使用されてよい。図示の通り、カメラ１４７５は、ＣＳＩ  １４７６のような周辺相互接続を介して、アプリケーションプロセッサ１４０５に連結される。ＣＳＩ  １４７６は、周辺デバイス（例えば、カメラ、イメージ信号プロセッサ）およびホストプロセッサ（例えば１４０５、ベースバンド、アプリケーションエンジン）間のインタフェースを定義する。一実施形態において、イメージデータ転送は、データおよびクロック信号との一方向差動シリアルインタフェースであるＤＰＨＹ経由で実行される。一実施形態において、周辺機器の制御は、カメラ制御のような別個のバックチャネルを経由して行われる。一例示として、ＣＳＩの速度は、５０Ｍｂｐｓ〜２Ｇｂｐｓにわたってよく、またはその範囲内の任意の範囲／値であってよい。
【０１３１】
一例において、ストレージ１４８０は、大量の情報を格納すべく、アプリケーションプロセッサ１４０５によって使用される不揮発性メモリを含む。ストレージ１４８０は、フラッシュ技術またはハードディスクのような磁気タイプのストレージに基づいてよい。ここで、１４８０はユニバーサルフラッシュストレージ（ＵＦＳ）相互接続１４８１を介してプロセッサ１４０５に連結される。一実施形態において、ＵＦＳ  １４８１はモバイルシステムのような低電力コンピューティングプラットフォーム用に調整された相互接続を含む。一例として、ＵＦＳ  １４８１は、ランダムな読み取り／書き込みの速度を上げるべく、キュー機能を利用して、２００から５００ＭＢ間の転送速度（例えば、３００ＭＢ／ｓ）を提供する。一実装において、ＵＦＳ  １４８１は、ＭＰＨＹ物理層およびＵｎｉＰｒｏのようなプロトコル層を使用する。
【０１３２】
モデム１４１０は通常、変調器／復調器を表す。モデム１４１０は通常、セルラーネットワークへのインタフェースを提供する。モデム１４１０は、使用される通信規格に応じて、異なるネットワークタイプ、異なる周波数と通信可能である。
【０１３３】
一実施形態において、音声およびデータ接続の両方がサポートされる。モデム１４１０は、ＬＬＩ、ＳＳＩＣ、ＵｎｉＰｒｏ、Ｍｏｂｉｌｅ  Ｅｘｐｒｅｓｓ等のうちの１または複数のような、任意の既知の相互接続を利用して、ホスト１４０５に連結される。一実施形態において、無線１４３５、スピーカ１４４０、マイク１４４５のような制御インタフェースまたはデータインタフェースを連結するために、制御バスが利用される。そのようなバスの一例がＳＬＩＭｂｕｓであり、それは広範なオーディオおよび制御ソリューションをサポート可能な柔軟性のある低電力マルチドロップインタフェースである。他の例としては、ＰＣＭ、Ｉ２Ｓ、Ｉ２Ｃ、ＳＰＩ、およびＵＡＲＴが含まれる。無線１４３５は、２つのデバイス間の短距離通信規格（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＮＦＣ）、位置および／または時間を三角測量可能なナビゲーションシステム（例えば、ＧＰＳ）、アナログ放送または無線放送用の受信機（例えば、ＦＭラジオ）、または他の既知の無線インタフェース若しくは規格のようなインタフェースを含む。スピーカ１４４０は、着信音または音楽を生成する電子機械デバイスのような、サウンドを生成する任意のデバイスを含む。ステレオまたはマルチチャネルサウンド用に複数のスピーカが使用されてよい。マイク１４４５は通常、電話中の呼び出しのような音声入力のために利用される。
【０１３４】
無線周波数集積回路（ＲＦＩＣ）１４１５は、無線信号の処理のようなアナログ処理を行い、例えば、増幅、ミキシング、フィルタリング、およびデジタル変換が挙げられる。図示の通り、ＲＦＩＣ  １４１５は、インタフェース１４１２を介してモデム１４１０に連結される。一実施形態において、インタフェース１４１２は、ＬＴＥ、３ＧＰＰ、ＥＧＰＲＳ、ＵＭＴＳ、ＨＳＰＡ＋、およびＴＤ−ＳＣＤＭＡのような通信規格をサポートする双方向高速インタフェース（例えば、ＤｉｇＲＦ）を含む。具体例として、ＤｉｇＲＦは、Ｍ‐ＰＨＹ物理層に基づくフレーム指向のプロトコルを利用する。ＤｉｇＲＦは通常、最適化されたピン数を備えた、フレンドリーで、低レイテンシで、低電力なＲＦと称され、これは一般的に、１レーンにつき１．５から３Ｇｂｐｓの間で動作し、４レーンのような複数のレーンで構成可能である。
【０１３５】
インタフェース１４６１（例えば、ＲＦ制御インタフェース）は、簡易デバイスから複雑なデバイスまでサポートする柔軟なバスを含む。具体例として、インタフェース１４６１は、ＲＦフロントエンドコンポーネントの制御用に設計された、柔軟な２つの配線から成るシリアルバスを含む。１つのバスマスタは、ＲＦ信号を増幅させる電力アンプ１４５０、センサ入力を受信するセンサ、ネットワークモードに応じてＲＦ信号パス間で切り替えるスイッチモジュール１４６０、およびアンテナの不良状態を補償するまたは帯域幅を上げるアンテナチューナ１４６５のような複数のデバイスに対し、書き込みおよび読み取りを行ってよい。一実施形態において、インタフェース１４６１はタイムクリティカルなイベントおよび低ＥＭＩのグループトリガ機能を有する。
【０１３６】
モバイルデバイス１４００内のすべての異なるコンポーネントに対し、モバイルデバイス内のコンポーネントの効率を改善するために、電圧を上げ下げする等、電力管理された電圧を提供すべく、電力管理１４２０が使用される。一実施形態において、電力管理１４２０はまた、バッテリの充電および残りのエネルギーを制御および監視する。電力管理１４２０とバッテリとの間に、バッテリインタフェースが利用されてよい。一例示として、バッテリインタフェースは、モバイル端末と、スマート／低コストバッテリとの間に単一配線の通信を含む。
【０１３７】
ここで図１５を参照すると、マルチコアプロセッサの一実施形態のブロック図が示されている。図１５の実施形態において示される通り、プロセッサ１５００は、複数のドメインを含む。具体的には、コアドメイン１５３０は、複数のコア１５３０Ａ〜１５３０Ｎを含み、グラフィックドメイン１５６０は、メディアエンジン１５６５を有する１または複数のグラフィックエンジンおよびシステムエージェントドメイン１５１０を含む。ここで、本明細書で開示される高速構成機構が実装され、グラフィック１５６５または他のエージェントのような統合デバイス／機能を構成してよい。ここで、いくつかの実装において、システムエージェント１５１０はルートコントローラまたはコンプレックスとして動作してよい一方で、コア１５３０はホスト処理デバイスを含むことに留意されたい。
【０１３８】
様々な実施形態において、システムエージェントドメイン１５１０は、電力制御イベントおよび電力管理を処理し、その結果ドメイン１５３０および１５６０（例えば、コアおよび／またはグラフィックエンジン）の複数の個々のユニットは、特定のユニットで発生するアクティビティ（または非アクティビティ）の観点から、適切な電力モード／レベル（例えば、アクティブ、ターボ、スリープ、休止状態、ディープスリープ、または他のＡｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅのような状態）で動的に動作するよう独立的に制御可能である。ドメイン１５３０および１５６０の各々は、異なる電圧および／または電力で動作してよく、さらに当該複数のドメイン内の個々のユニットはそれぞれ、独立した周波数および電圧で潜在的に動作する。３つのドメインのみが示されているが、本発明の範囲はこの点には限定されず、他の実施形態において、追加のドメインが存在してよいことを理解するよう留意されたい。
【０１３９】
図示の通り、各コア１５３０は、様々な実行ユニットおよび追加の処理要素に加え、低レベルキャッシュをさらに含む。ここで、様々なコアが互いに、かつラストレベルキャッシュ（ＬＬＣ）１５４０Ａ〜１５４０Ｎにおける複数のユニットまたはスライスから形成される共有キャッシュメモリへ連結され、これらのＬＬＣは通常、ストレージおよびキャッシュコントローラ機能を有し、これらのコアの間だけでなく、潜在的にはグラフィックエンジン間においても共有される。
【０１４０】
見ての通り、リング相互接続１５５０が複数のコアを共に連結し、複数のリングストップ１５５２Ａ〜１５５２Ｎを介して、コアドメイン１５３０、グラフィックドメイン１５６０、およびシステムエージェント回路１５１０間の相互接続を提供する。当該リングストップの各々は、コアとＬＬＣスライスとの間の連結にある。図１５に見られるように、相互接続１５５０は、アドレス情報、データ情報、受信確認情報、およびスヌープ／無効情報を含む様々な情報を搬送するために使用される。リング相互接続が図示されているが、任意の既知のオンダイ相互接続またはファブリックが利用されてよい。一例示として、上記複数のファブリック（例えば、別のオンダイ相互接続、インテルオンチップシステムファブリック（ＩＯＳＦ）、アドバンストマイクロコントローラバスアーキテクチャ（ＡＭＢＡ）相互接続、多次元メッシュファブリック、または他の既知の相互接続アーキテクチャ）のうちのいくつかが、同様の様式で利用されてよい。
【０１４１】
さらなる例示の通り、システムエージェントドメイン１５１０は、関連付けられたディスプレイの制御、およびそれへのインタフェースを提供するディスプレイエンジン１５１２を含む。システムエージェントドメイン１５１０は、システムメモリ（例えば、複数のＤＩＭＭと共に実装されたＤＲＡＭ）へのインタフェースを提供する統合メモリコントローラ１５２０、メモリコヒーレンシ動作を実行するコヒーレンシロジック１５２２のような他のユニットを含んでよい。プロセッサと他の回路との間の相互接続を可能にすべく、複数のインタフェースが存在してよい。例えば、一実施形態において、少なくとも１つのダイレクトメディアインタフェース（ＤＭＩ）１５１６インタフェースに加え、１または複数のＰＣＩｅ（登録商標）インタフェース１５１４が提供される。ディスプレイエンジンおよびこれらのインタフェースは通常、ＰＣＩｅブリッジ１５１８を介してメモリに連結される。またさらに、追加のプロセッサまたは他の回路等の他のエージェント間での通信を提供するために、１または複数の他のインタフェース（例えば、インテル（登録商標）クイックパスインターコネクト（ＱＰＩ）ファブリック）が提供されてよい。
【０１４２】
次に図１６を参照すると、本発明によるシステムオンチップ（ＳＯＣ）設計の一実施形態が図示されている。特定の一例示として、ＳＯＣ１６００が、ユーザ機器（ＵＥ）またはモバイル端末に含まれる。一実施形態において、ＵＥとはユーザによって通信のために使用される、携帯電話のような任意のデバイスを指す。ＵＥは通常、基地局またはノードへと接続し、これらは潜在的に、事実上、ＧＳＭ（登録商標）ネットワークの移動局（ＭＳ）に対応する。しかしながら、図示のＳｏＣは、タブレット、極薄型ノートブック、ブロードバンドアダプタ付きのノートブック、または任意の他の類似の通信デバイスのような他の非モバイル端末において利用されてよい。ＳｏＣ１６００内に、ＧＰＵ１６１５、ビデオ１６２０、ビデオ１６２５、フラッシュコントローラ１６４５、ＳＤＲＡｍコントローラ１６４０、ブートＲＯＭ１６３５、ＳＩＭ１６３０、電力制御１６５５、ＰＣ１６５０、または他のロジックブロックのような統合デバイスを構成すべく、高速構成機構が本明細書に記載されるように利用されてよい。ここで、ブロック１６１０内のコントローラまたは他のロジックがルートコンプレックスとして動作してよい。さらに、図示されたＭＩＰＩ、ＨＤＭＩ（登録商標）、または他の図示されていないポートに連結されたデバイスを構成すべく、高速構成機構は利用されてよい。
【０１４３】
ここで、ＳｏＣ１６００は１６０６および１６０７の２つのコアを含む。上記と同様、コア１６０６および１６０７は、Ｉｎｔｅｌ（登録商標）Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｃｏｒｅ（商標）ベースのプロセッサ、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．（ＡＭＤ）のプロセッサ、ＭＩＰＳベースのプロセッサ、ＡＲＭベースのプロセッサ設計、またはそれらの顧客に加えそれらのライセンシー若しくは採用者等の命令セットアーキテクチャに準拠してよい。コア１６０６および１６０７は、システム１６００の他の部分と通信するため、バスインタフェースユニット１６０９およびＬ２キャッシュ１６１０に関連付けられたキャッシュ制御１６０８に連結されている。相互接続１６１０は、記載された本発明の１または複数の態様を潜在的に実装する、ＩＯＳＦ、ＡＭＢＡ、または上述した他の相互接続のようなオンチップ相互接続を含む。
【０１４４】
インタフェース１６１０は、ＳＩＭカードとのインタフェースを取る加入者識別モジュール（ＳＩＭ）１６３０、ＳＯＣ１６００を初期化およびブートすべくコア１６０６および１６０７によって実行されるブートコードを保持するブートＲＯＭ１６３５、外部メモリ（例えば、ＤＲＡＭ１６６０）とインタフェースを取るＳＤＲＡＭコントローラ１６４０、不揮発性メモリ（例えば、フラッシュ１６６５）とインタフェースを取るフラッシュコントローラ１６４５、周辺機器とインタフェースを取る周辺コントロールＱ１６５０（例えば、シリアル周辺インタフェース）、入力（例えば、タッチ対応入力）を表示および受信するビデオコーデック１６２０およびビデオインタフェース１６２５、グラフィック関連の計算を行うＧＰＵ１６１５等といった他のコンポーネントに対する通信チャネルを提供する。これらのインタフェースのうちの任意のものが、本明細書に記載の本発明の複数の態様を組み込んでよい。
【０１４５】
また、本システムは、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール１６７０、３Ｇモデム１６７５、ＧＰＳ１６８５、およびＷｉＦｉ  １６８５のような通信用の周辺機器を示す。上述の通り、ＵＥは通信用無線を含むことに留意されたい。結果的に、これらの周辺通信モジュールがすべて必要なわけではない。しかしながら、ＵＥにおいては、外部通信用の何らかの形式の無線が含まれる。
【０１４６】
上記の装置、方法、およびシステムは、前述の通り、任意の電子デバイスまたはシステムに実装されてよいことに留意されたい。具体例として、以下の図は、本明細書に記載の本発明を利用するための例示的なシステムを提供する。以下にシステムがより詳細に記載される通り、多数の異なる相互接続が開示され、記載され、上記説明から再検討される。容易に明らかなように、上記の進歩は、それらの相互接続、ファブリック、またはアーキテクチャのうちの任意のものに適用され得る。
【０１４７】
ここで図１７を参照すると、本発明の一実施形態によるコンピュータシステム内に存在するコンポーネントのブロック図が示されている。上記と同様、図１７に示され／記載される複数のブロックのうちの任意のものを構成すべく、高速構成機構がプロセッサ１７１０上で利用され、またはそこに連結されてよい。図示の通り、システム１７００は、複数のコンポーネントのうちの任意の組み合わせを含む。これらのコンポーネントは、コンピュータシステムに適合される、ＩＣ、それらの部分、個別の電子デバイス、または他のモジュール、ロジック、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせとして、または別途にコンピュータシステムの筐体の中に組み込まれたコンポーネントとして、実装され得る。図１７のブロック図は、コンピュータシステムの多くのコンポーネントの高レベルの図を示すことが意図されることにも留意されたい。しかしながら、他の実装において、図示される複数のコンポーネントのうちのいくつかは省略可能で、追加のコンポーネントが存在してよく、図示のコンポーネントの異なる配置がなされてよいことを理解されたい。結果的に、上記の本発明は、以下に図示されまたは記載される相互接続のうちの１または複数のうちの任意の部分に実装されてよい。
【０１４８】
図１７に示されるように、一実施形態において、プロセッサ１７１０は、マイクロプロセッサ、マルチコアプロセッサ、マルチスレッドプロセッサ、超低電圧プロセッサ、埋め込みプロセッサ、または他の既知の処理要素を含む。例示の実装において、プロセッサ１７１０は、システム１７００の様々なコンポーネントの多くとの通信のためのメイン処理ユニットおよび中央ハブとして動作する。一例として、プロセッサ１７００は、システムオンチップ（ＳｏＣ）として実装される。特定の一例示として、プロセッサ１７１０は、ｉ３、ｉ５、ｉ７のようなインテル（登録商標）アーキテクチャコア（商標）ベースのプロセッサ、またはカリフォルニア州サンタクララのインテルコーポレーションから入手可能な別のそのようなプロセッサを含む。しかしながら、カリフォルニア州サニーベールのＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，Ｉｎｃ．（ＡＭＤ）から入手可能な他の低電力プロセッサ、カリフォルニア州サニーベールのＭＩＰＳ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．のＭＩＰＳベースの設計、ＡＲＭ  Ｈｏｌｄｉｎｇｓ，Ｌｔｄ．またはその顧客、またはそれらのライセンシー若しくは採用者からライセンスされるＡＲＭベースの設計が代わりに、Ａｐｐｌｅ  Ａ５／Ａ６プロセッサ、Ｑｕａｌｃｏｍｍ  Ｓｎａｐｄｒａｇｏｎプロセッサ、またはＴＩ  ＯＭＡＰプロセッサのような他の実施形態において存在してよいことを理解されたい。そのようなプロセッサの顧客によるバージョンの多くは、修正および変更されていることに留意されたい。しかしながら、それらはプロセッサのライセンサによって記述される定義済みアルゴリズムを実行する特定の命令セットをサポートまたは認識してよい。ここで、マイクロアーキテクチャ実装は変わる可能性があるが、プロセッサのアーキテクチャ機能は通常は一貫している。一実装におけるプロセッサ１７１０のアーキテクチャおよび動作に関する具体的な詳細が、さらに詳しく後述され、例示を提供する。
【０１４９】
一実施形態において、プロセッサ１７１０は、システムメモリ１７１５と通信する。一例示として、一実施形態は、特定量のシステムメモリを提供すべく、複数のメモリデバイスを介して実装され得る。一例として、メモリは、ＪＥＤＥＣ  ＪＥＳＤ  ２０９−２Ｅ（２００９年４月に公開）による現在のＬＰＤＤＲ２規格、または帯域幅を上げるためにＬＰＤＤＲ２への拡張を供給するであろうＬＰＤＤＲ３若しくはＬＰＤＤＲ４と呼ばれる次世代のＬＰＤＤＲ規格のような電子機器技術評議会（ＪＥＤＥＣ）の低電力ダブルデータレート（ＬＰＤＤＲ）ベースの設計に従うことができる。様々な実装において、個々のメモリデバイスは、シングルダイパッケージ（ＳＤＰ）、デュアルダイパッケージ（ＤＤＰ）またはクアッドダイパッケージ（Ｑ１７Ｐ）のような異なるパッケージタイプであってよい。いくつかの実施形態において、これらのデバイスは、より低プロファイルなソリューションをもたらすべく、マザーボードに直接半田付けされる一方、他の実施形態においては、それらのデバイスは１または複数のメモリモジュールとして構成され、次に特定のコネクタによってマザーボードに連結される。もちろん、他のタイプのメモリモジュール等、他のメモリ実装が可能であり、例えば、ｍｉｃｒｏＤＩＭＭ、ＭｉｎｉＤＩＭＭを含む、異なる様々なデュアルインラインメモリモジュール（ＤＩＭＭ）が挙げられるが、これらに限定されない。特定の例示的な実施形態において、メモリは２ＧＢから１６ＧＢの間でサイズ設定され、ボールグリッドアレイ（ＢＧＡ）を介してマザーボードに半田付けされるＤＤＲ３ＬＭパッケージまたはＬＰＤＤＲ２若しくはＬＰＤＤＲ３メモリとして構成されてよい。
【０１５０】
データ、アプリケーション、１または複数のオペレーティングシステム等の情報の永続的なストレージを提供すべく、大容量ストレージ１７２０もまた、プロセッサ１７１０に連結されてよい。様々な実施形態において、より薄型でより軽量のシステム設計を可能にし、またシステム応答性を改善するために、この大容量ストレージがＳＳＤを介して実装されてよい。しかしながら、他の実施形態において、大容量ストレージは、パワーダウンイベント中に、コンテキスト状態および他のそのような情報の不揮発性ストレージを可能にするＳＳＤキャッシュとして動作するＳＳＤストレージをより少量備えたハードディスクドライブ（ＨＤＤ）を使用して主に実装されてよく、その結果、システムアクティビティの再開始における高速パワーアップが可能になる。また図１７に示される通り、フラッシュデバイス１７２２が、例えばシリアルペリフェラルインタフェース（ＳＰＩ）を介してプロセッサ１７１０に連結されてよい。このフラッシュデバイスは、基本入出力システム（ＢＩＯＳ）およびシステムの他のファームウェアを含む、システムソフトウェアの不揮発性ストレージを提供してよい。
【０１５１】
様々な実施形態において、システムの大容量ストレージはＳＳＤ単体によって、またはディスク、ＳＳＤキャッシュを備える光学ドライブ若しくは他のドライブとして実装される。いくつかの実施形態において、大容量ストレージはレストア（ＲＳＴ）キャッシュモジュールとともに、ＳＳＤまたはＨＤＤとして実装される。様々な実装において、ＨＤＤは、３２０ＧＢから４テラバイト（ＴＢ）の間およびそれより大きいサイズのストレージを提供する一方、ＲＳＴキャッシュは、２４ＧＢから２５６ＧＢの容量を有するＳＳＤを用いて実装される。そのようなＳＳＤキャッシュは、適切なレベルの応答性を提供すべく、シングルレベルキャッシュ（ＳＬＣ）またはマルチレベルキャッシュ（ＭＬＣ）オプションとして構成されてよいことに留意されたい。ＳＳＤのみのオプションにおいては、モジュールは、ｍＳＡＴＡまたはＮＧＦＦスロットのような様々な場所に収容されてよい。一例として、ＳＳＤは１２０ＧＢから１ＴＢの範囲の容量を有する。
【０１５２】
様々な入／出力（ＩＯ）デバイスがシステム１７００内に存在してよい。ディスプレイ１７２４が、図１７の実施形態に具体的に示されているが、それは筐体の蓋部分内部に構成される高解像度ＬＣＤまたはＬＥＤパネルであってよい。このディスプレイパネルも、タッチスクリーン１７２５を提供してよく、例えば、ディスプレイパネルの上方外部に適合され、その結果、このタッチスクリーンとのユーザの対話を介して、例えば、情報の表示、情報のアクセス等に関する所望の操作を可能にすべく、ユーザ入力がシステムに供給可能になる。一実施形態において、高性能グラフィック相互接続として実装可能なディスプレイ相互接続を介して、ディスプレイ１７２４がプロセッサ１７１０に連結されてよい。タッチスクリーン１７２５が、別の相互接続を介してプロセッサ１７１０に連結されてよく、それは一実施形態においてＩ２Ｃ相互接続であってよい。図１７にさらに示される通り、タッチスクリーン１７２５に加え、タッチを手段とするユーザ入力は筐体内に構成可能なタッチパッド１７３０を介して行われてもよく、タッチパッド１７３０は、タッチスクリーン１７２５と同一のＩ２Ｃ相互接続に連結されてよい。
【０１５３】
ディスプレイパネルは複数のモードで動作してよい。第１のモードにおいて、ディスプレイパネルは透過的な状態に構成されてよく、その状態においてディスプレイパネルは可視光に対し透過的である。様々な実施形態において、ディスプレイパネルの大半は、周辺のベゼルを除くディスプレイであってよい。システムがノートブックモードで動作する場合、ディスプレイパネルは透過的な状態で動作し、ユーザはディスプレイパネル上に表示される情報を見ることができ、同時にディスプレイ背後にあるオブジェクトも見ることができる。また、ディスプレイパネル上に表示される情報は、ディスプレイ背後に位置するユーザによって見られることができる。または、ディスプレイパネルの動作状態は、可視光がディスプレイパネルを介して送信されない不透明な状態であり得る。
【０１５４】
タブレットモードにおいて、システムは、ベースパネルの底面がある面上に置かれるか、またはユーザによって保持されるとき、ディスプレイパネルのバックディスプレイ表面が、外方へとユーザに対面するような位置に置かれるように折り畳んで閉じられる。タブレットモードの動作において、バックディスプレイ表面は、ディスプレイおよびユーザインタフェースの役割を実行し、というのは、この表面はタッチスクリーン機能を有してよく、タブレットデバイスのような従来型タッチスクリーンデバイスの他の既知の機能を実行してよいからである。この目的のために、ディスプレイパネルは、タッチスクリーン層とフロントディスプレイ表面との間に配置される透明度を調整する層を含んでよい。いくつかの実施形態において、透明度を調整する層は、エレクトロクロミック層（ＥＣ）、ＬＣＤ層、またはＥＣ層およびＬＣＤ層の組み合わせであってよい。
【０１５５】
様々な実施形態において、ディスプレイは、例えば、１１．６"または１３．３"スクリーンのように様々なサイズであってよく、１６：９アスペクト比、および少なくとも輝度３００ｎｉｔを有してよい。また、ディスプレイは、フルハイデフィニション（ＨＤ）解像度（少なくとも１９２０×１０８０ｐ）であってよく、埋め込みディスプレイポート（ｅＤＰ）と互換性があってよく、パネルセルフリフレッシュを備える低電力パネルであってよい。
【０１５６】
タッチスクリーン機能に関しては、システムは、マルチタッチ容量性の、少なくとも５フィンガー対応のディスプレイマルチタッチパネルを提供してよい。いくつかの実施形態において、ディスプレイは１０フィンガー対応であってよい。一実施形態において、タッチスクリーンは、「指の水ぶくれ」を減らし、「指の滑り」を回避すべく、低摩擦用の損傷しづらく、傷がつきにくいガラスコーティング（例えば、Ｇｏｒｉｌｌａ  Ｇｌａｓｓ（商標）またはＧｏｒｉｌｌａ  Ｇｌａｓｓ２（商標））内に収容される。向上されたタッチ感および応答性を提供すべく、いくつかの実装において、タッチパネルは、ピンチズーム中、静止ビューごとに２フレーム（３０Ｈｚ）未満のようなマルチタッチ機能、および２００ｍｓでフレームごとに１ｃｍ未満（３０Ｈｚ）の（指からポインタへのラグ）シングルタッチ機能を有する。いくつかの実装において、ディスプレイは、パネル表面と平坦でもある最小のスクリーンベゼルを持つ端から端までのガラス、およびマルチタッチ使用時の限定されたＩＯ干渉をサポートする。
【０１５７】
知覚コンピューティングまたは他の目的のために、様々なセンサが、システム内に存在してよく、異なる態様においてはプロセッサ１７１０に連結されてよい。特定の慣性および環境センサが、例えばＩ２Ｃ相互接続を介する等、センサハブ１７４０を通してプロセッサ１７１０に連結されてよい。図１７に示される実施形態においては、これらのセンサは、加速度計１７４１、環境光センサ（ＡＬＳ）１７４２、コンパス１７４３およびジャイロスコープ１７４４を含んでよい。他の環境センサは、１または複数の熱センサ１７４６を含んでよく、これらはいくつかの実施形態において、システム管理バス（ＳＭＢｕｓ）バスを介してプロセッサ１７１０に連結される。
【０１５８】
プラットフォームにおいて存在する様々な慣性センサおよび環境センサを使用して、多数の異なる使用事例が実現され得る。これらの使用事例は、知覚コンピューティングを含む高度な計算処理を可能とし、また、電力管理／電池寿命、セキュリティ、およびシステム応答性に関する強化も可能とする。
【０１５９】
例えば、電力管理／電池寿命の問題に関して、環境光センサからの情報に少なくとも部分的に基づいて、プラットフォームの場所における環境光の状態が判断され、それに応じて、ディスプレイの明度が制御される。故に、ディスプレイ動作における消費電力は、特定の光の条件下で低減される。
【０１６０】
セキュリティ操作については、位置情報のようなセンサから取得されたコンテキスト情報に基づき、ユーザが特定の安全なドキュメントにアクセス可能かどうかが判断されてよい。例えば、ユーザは職場または家庭においてそのようなドキュメントにアクセスすることを許容されてよい。しかしながら、プラットフォームがパブリックな場所にある場合、ユーザはそのようなドキュメントへのアクセスが阻止される。一実施形態において、この判断は位置情報に基づいており、例えば、ＧＰＳセンサまたはランドマークのカメラによる認識を介して判断される。他のセキュリティ操作は、例えば、本明細書に記載のポータブルプラットフォームおよびユーザのデスクトップコンピュータ、携帯電話等、近距離内のデバイスを互いにペアにすることを提供することを含んでよい。いくつかの実装において、これらのデバイスがそのようにペアにされる場合、特定の共有が近距離無線通信を介して実現される。しかしながら、これらのデバイスが特定の範囲を超えると、そのような共有は無効にされてよい。さらに、本明細書に記載のプラットフォームおよびスマートフォンをペアにする場合、パブリックな場所にある場合に、これらのデバイスが互いの予め定められた距離を超えて移動されるとき、アラームがトリガされるよう構成されてよい。対照的に、これらのペアにされたデバイスが、例えば、職場または家庭等、安全な場所にある場合、これらのデバイスは、そのようなアラームをトリガすることなく、この予め定められた制限を超えてよい。
【０１６１】
センサ情報を使用して応答性も強化されてよい。例えば、プラットフォームが低電力状態にある場合でも、センサは依然として比較的低周波数で実行することを可能にされてよい。従って、慣性センサ、例えば、ＧＰＳセンサ等による慣性センサによって判断される、プラットフォームの位置のあらゆる変化が判断される。そのような変化がまったく記録されない場合、Ｗｉ−Ｆｉ（商標）アクセスポイントまたは同様の無線有効化のような以前の無線ハブへのより高速な接続が行われ、この場合、利用可能な無線ネットワークリソースのスキャンが不要である。故に、低電力状態からのウェイク時、さらに高レベルの応答性が実現される。
【０１６２】
多くの他の使用事例は、本明細書に記載のプラットフォーム内の統合センサを介して取得されるセンサ情報を使用して有効にされてよく、上記の複数の例は、例示目的のみであることを理解されたい。本明細書に記載のシステムを使用すると、知覚コンピューティングは、ジェスチャー認識を含む代替的な入力モダリティの追加を許容でき、システムがユーザの動作および意図を感知できるにしてよい。
【０１６３】
いくつかの実施形態において、１または複数の赤外線若しくは他の熱感知要素、またはユーザの存在または動きを感知する任意の他の要素が存在してよい。そのような感知要素は、共に動作する、順番に動作する、またはその両方である複数の異なる要素を含んでよい。例えば、感知要素は、光プロジェクションまたはサウンドプロジェクションのような初期感知を提供する要素を含み、初期感知の後には、例えばフライトカメラまたはパターン化光カメラの超音波の時間によるジェスチャー検出のための感知が続く。
【０１６４】
また、いくつかの実施形態において、システムは、照射ラインを生成するライトジェネレータを含む。いくつかの実施形態において、このラインは、仮想境界に関する視覚的手がかり、すなわち、空間における架空または仮想の場所を提供し、そこにおいて、仮想境界または平面を通過または打ち破るユーザのアクションは、コンピューティングシステムに関与するための意図として解釈される。いくつかの実施形態において、照射ラインは、コンピューティングシステムがユーザに対し、異なる状態に移行するとき、色が変わってよい。照射ラインは、ユーザに、空間の仮想境界の視覚的手がかりを提供するために使用されてよく、ユーザに対するコンピュータの状態の移行を判断すべく、システムによって使用されてよく、それにはいつユーザがコンピュータへの関与を所望するかを判断することが含まれる。
【０１６５】
いくつかの実施形態において、コンピュータは、ユーザの位置を感知し、コンピュータに関与するユーザの意図を示すジェスチャーとしての、仮想境界でのユーザの手の動きを解釈すべく動作する。いくつかの実施形態において、ユーザが仮想ラインまたは平面を通過する際、ライトジェネレータによって生成される光は変化してよく、それにより、ユーザに対し、ユーザが入力をコンピュータに提供するためのジェスチャーを提供するための領域に入ったという視覚的なフィードバックを提供する。
【０１６６】
ディスプレイスクリーンは、ユーザに対するコンピューティングシステムの状態の移行に関する視覚的な指標を提供してよい。いくつかの実施形態において、第１の状態において第１のスクリーンが提供されてよく、そこではユーザの存在が、例えば、感知要素のうちの１または複数の使用を介して、システムによって感知される。
【０１６７】
いくつかの実装において、システムは、顔認識による等、ユーザ識別を感知するよう動作してよい。ここで、第２のスクリーンへの移行が第２の状態において提供されてよく、そこではコンピューティングシステムがユーザ識別を認識済みで、この第２のスクリーンはユーザに対し、ユーザが新しい状態に移行したという視覚的なフィードバックを提供する。第３のスクリーンへの移行は、第３の状態で発生してよく、そこではユーザは、ユーザ認識を確認済みである。
【０１６８】
いくつかの実施形態において、コンピューティングシステムは、ユーザに対する仮想境界の位置を判断するための移行機構を使用してよく、そこでは仮想境界の位置が、ユーザおよびコンテキストとともに変わってよい。コンピューティングシステムは、システムに関与するための仮想境界を示すべく、照射ラインのような光を生成してよい。いくつかの実施形態において、コンピューティングシステムは、待機状態にあってよく、光は第１の色で生成されてよい。コンピューティングシステムは、例えば、感知要素を使用し、ユーザの存在または動きを感知することによって、ユーザが仮想境界を超すに至ったかどうかを検出してよい。
【０１６９】
いくつかの実施形態において、ユーザが仮想境界を横切ったとして検出された場合（ユーザの手が仮想境界ラインよりもコンピューティングシステムに近い等）、コンピューティングシステムはユーザからのジェスチャー入力を受信するための状態に移行してよく、その状態において、移行を示す機構は仮想境界が第２の色に変化することを示す光を含んでよい。
【０１７０】
いくつかの実施形態において、コンピューティングシステムは次に、ジェスチャーの動きが検出されるかどうかを判断してよい。ジェスチャーの動きが検出される場合、コンピューティングシステムは、ジェスチャー認識処理に進んでよく、ジェスチャー認識処理は、ジェスチャーデータライブラリからのデータの使用を含んでよく、ジェスチャーデータライブラリはコンピューティングデバイスにおけるメモリ内に存在してよく、またはコンピューティングデバイスによって別途アクセスされてよい。
【０１７１】
ユーザのジェスチャーが認識されると、コンピューティングシステムは、入力に応答して、ある機能を実行してよく、ユーザが仮想境界内にいる場合、追加のジェスチャーの受信に戻ってよい。いくつかの実施形態において、ジェスチャーが認識されない場合、コンピューティングシステムはエラー状態に移行してよく、そこでは、エラー状態を示す機構は、仮想境界が第３の色に変化することを示す光を含んでよく、システムは、ユーザがコンピューティングシステムと関与するため、仮想境界内にいる場合、追加のジェスチャーを受信するよう戻る。
【０１７２】
上記の通り、他の実施形態において、システムは、タブレットモードおよびノートブックモードの少なくとも２つの異なるモードで使用可能なコンバーチブルタブレットシステムとして構成可能である。コンバーチブルシステムは、２つのパネル、すなわちディスプレイパネルおよびベースパネルを有してよく、その結果、タブレットモードにおいて、これら２つのパネルは互いの上面で重なり合って配置される。タブレットモードにおいて、ディスプレイパネルは外側に向き、従来型タブレットにみられるタッチスクリーン機能を提供してよい。ノートブックモードでは、これら２つのパネルは、オープンクラムシェル構成に配置されてよい。
【０１７３】
様々な実施形態において、加速度計は、少なくとも５０Ｈｚのデータ速度を有する３軸加速度計であってよい。ジャイロスコープも含まれてよく、それは３軸ジャイロスコープであり得る。また、ｅ−コンパス／磁力計が存在してよい。また、１または複数の近接センサが提供されてよい（例えば、蓋が開いている場合、人がシステムの近くにいる（または近くにいない）ときを感知し、電池寿命を延長すべく電力／性能を調整する）。加速度計を含むいくつかのＯＳのセンサ融合機能について、ジャイロスコープ、およびコンパスが強化機能を提供してよい。また、リアルタイムクロック（ＲＴＣ）を有するセンサハブを介し、システムの残りが低電力状態にある場合にセンサ入力を受信すべく、センサ機構からのウェイクが実現されてよい。
【０１７４】
いくつかの実施形態において、内部の蓋／ディスプレイオープンスイッチまたはセンサは、蓋の開／閉時を示すものであって、システムをコネクトスタンバイに置く、またはコネクトスタンバイ状態から自動的にウェイクするのに用いられ得る。他のシステムセンサは、内部プロセッサ、メモリ、並びに感知されたパラメータに基づいて、プロセッサおよびシステムの動作状態に対する変更を有効にするための皮膚温度モニタリングのためのＡＣＰＩセンサを含み得る。
【０１７５】
一実施形態において、ＯＳは、コネクトスタンバイを実装するＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）８  ＯＳ（本明細書においてＷｉｎ８ＣＳとも呼ばれる）であってよい。Ｗｉｎｄｏｗｓ（登録商標）８コネクトスタンバイまたは同様の状態を有する別のＯＳは、本明細書に記載のプラットフォームを介して、非常に低い電力消費でアプリケーションを例えば、クラウドベースの場所に接続されたままにできる非常に低いウルトラアイドル電力を提供可能である。プラットフォームは、３つの電力状態、すなわち、スクリーンオン（通常）、コネクトスタンバイ（既定の「オフ」状態として）およびシャットダウン（ゼロワットの電力消費）をサポート可能である。故に、コネクトスタンバイ状態においては、たとえスクリーンがオフでも、プラットフォームは論理的にオン（最小電力レベルにおいて）である。そのようなプラットフォームにおいては、電力管理がアプリケーションに対し透過的になされ得、最小の電力が供給されるコンポーネントに操作を実行できるようにするオフロード技術に部分的に起因して、常時接続を維持可能である。
【０１７６】
また、図１７に示される通り、様々な周辺デバイスが、低ピン数（ＬＰＣ）相互接続を介してプロセッサ１７１０に連結されてよい。示される実施形態において、様々なコンポーネントが埋め込みコントローラ１７３５を介して連結され得る。そのようなコンポーネントは、（例えば、ＰＳ２インタフェースを介して連結される）キーボード１７３６、ファン１７３７、および熱センサ１７３９を含み得る。いくつかの実施形態において、タッチパッド１７３０も、ＰＳ２インタフェースを介してＥＣ  １７３５に連結されてよい。また、２００３年１０月２日付けのトラステッドコンピューティンググループ（ＴＣＧ）ＴＰＭ仕様バージョン１．２に従う、信頼されたプラットフォームモジュール（ＴＰＭ）１７３８のようなセキュリティプロセッサが、このＬＰＣ相互接続を介してプロセッサ１７１０に連結されてよい。しかしながら、本発明の範囲はこの点に限定されず、セキュア情報の安全な処理およびストレージが、セキュリティコプロセッサ内の静的ランダムアクセスメモリ（ＳＲＡＭ）のような別の保護される場所に置かれてよく、またはセキュアエンクレーブ（ＳＥ）プロセッサモードによって保護される場合にのみ復号化される暗号化データブロブとして存在してよいことを理解されたい。
【０１７７】
特定の実装において、周辺ポートは、高解像度メディアインタフェース（ＨＤＭＩ（登録商標））コネクタ（フルサイズ、ミニまたはミクロのような異なるフォームファクタであってよい）を含んでよい。例えば、ユニバーサルシリアルバスリビジョン３．０仕様（２００８年１１月）に従うフルサイズの外部ポートのような１または複数のＵＳＢポートが挙げられ、システムがコネクトスタンバイ状態で、ＡＣの壁のコンセントにプラグが差し込まれる場合、少なくとも１つのＵＳＢポートは、ＵＳＢデバイス（スマートフォン等）の充電用に電力供給される。また、１または複数のＴｈｕｎｄｅｒｂｏｌｔ（商標）ポートが提供可能である。
【０１７８】
他のポートは、フルサイズＳＤ‐ＸＣカードリーダおよび／またはＷＷＡＮ用のＳＩＭカードリーダ（例えば、８ピンカードリーダ）のような外部アクセス可能なカードリーダを含んでよい。オーディオについては、ステレオサウンドとマイク機能（例えば、組み合わせ機能）とを持つ３．５ｍｍジャックが、ジャック検出のサポートとともに存在してよい（例えば、蓋内のマイクを使用するヘッドホンのみのサポートまたはケーブル内のマイクを備えるヘッドホン）。いくつかの実施形態において、このジャックは、ステレオヘッドホンとステレオマイク入力との間で再タスク可能であってよい。また、電力ジャックがＡＣブリックに連結するために提供可能である。
【０１７９】
システム１７００は、無線を含む様々な態様で、外部デバイスと通信可能である。図１７に示される実施形態において、様々な無線モジュールが存在し、それらの各々が特定の無線通信プロトコルのために構成された無線機に対応できる。近距離のような短い範囲における無線通信の一態様は、一実施形態においてＳＭバスを介してプロセッサ１７１０と通信可能な近距離無線通信（ＮＦＣ）ユニット１７４５を介してであってよい。このＮＦＣユニット１７４５を介して、互いに近接するデバイスが通信可能であることに留意されたい。例えば、ユーザは、システム１７００が別の（例えば、）ユーザのスマートフォンのようなポータブルデバイスと、これら２つのデバイスを共に密接に適合し、識別情報、支払情報、イメージデータ等のようなデータといった情報の転送を可能にすることを介して通信可能にすることができる。無線電力転送もＮＦＣシステムを使用して実行されてよい。
【０１８０】
本明細書に記載のＮＦＣユニットを使用し、ユーザは、そのようなデバイスのうちの１または複数のコイル間の連結を利用することによって、近距離連結機能（近距離無線通信および無線電力転送（ＷＰＴ）等）のために、複数のデバイスをサイドツーサイドでバンプし、複数のデバイスをサイドバイサイドで配置することができる。より具体的には、複数の実施形態は、コイルのより良い連結を提供すべく、デバイスに対し戦略的な形状および配置がなされたフェライト材料を提供する。各コイルは、コイルに関連付けられたインダクタンスを有し、それは、システムの共通する共振周波数を有効にすべく、抵抗性、容量、およびシステムの他の機能と関連して選択可能である。
【０１８１】
図１７にさらに示される通り、追加の無線ユニットが、ＷＬＡＮユニット１７５０およびＢｌｕｅｔｏｏｔｈ（登録商標）ユニット１７５２を含む他の短距離無線エンジンを含むことができる。ＷＬＡＮユニット１７５０を使用し、特定の米国電気電子学会（ＩＥＥＥ）８０２．１１規格に従うＷｉ‐Ｆｉ（商標）通信を実現できる一方、Ｂｌｕｅｔｏｏｔｈ（登録商標）ユニット１７５２を介して、Ｂｌｕｅｔｏｏｔｈ（登録商標）プロトコルを介する短距離通信が行われ得る。これらのユニットは、例えば、ＵＳＢリンクまたは汎用非同期送受信機（ＵＡＲＴ）リンクを介してプロセッサ１７１０と通信してよい。または、これらのユニットは、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓ（商標）Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｂａｓｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｖｅｒｓｉｏｎ  ３．０（２００７年１月１７日発行）、またはシリアルデータ入／出力（ＳＤＩＯ）規格のような別のそのようなプロトコルによる、ペリフェラルコンポーネントインターコネクトエクスプレス（商標）（ＰＣＩｅ（商標））プロトコルに従う相互接続を介してプロセッサ１７１０に連結してよい。もちろん、１または複数のアドインカード上に構成可能なこれらの周辺デバイス間の実際の物理的接続は、マザーボードに適合されたＮＧＦＦコネクタを介するものであり得る。
【０１８２】
また、例えば、セルラーまたは他の無線広域プロトコルによる無線広域通信が、ＷＷＡＮユニット１７５６を介して行われてよく、ＷＷＡＮユニット１７５６は次に加入者識別モジュール（ＳＩＭ）１７５７に連結されてよい。また、位置情報の受信および使用を可能にすべく、ＧＰＳモジュール１７５５も存在してよい。図１７に示される実施形態において、ＷＷＡＮユニット１７５６およびカメラモジュール１７５４のような統合キャプチャデバイスは、ＵＳＢ２．０若しくは３．０リンク、またはＵＡＲＴ若しくはＩ２Ｃプロトコルのような特定のＵＳＢプロトコルを介して通信してよいことに留意されたい。繰り返すが、これらのユニットの実際の物理的接続は、ＮＧＦＦアドインカードの、マザーボード上に構成されたＮＧＦＦコネクタへの適合を介するものであってよい。
【０１８３】
特定の実施形態において、例えば、Ｗｉｎｄｏｗｓ（登録商標）８ＣＳのサポートと共に、ＷｉＦｉ（商標）８０２．１１ａｃソリューション（例えば、ＩＥＥＥ８０２．１１ａｂｇｎと下位互換性のアドインカード）を用いて、無線機能はモジュール式に提供可能である。このカードは、内部スロット（例えば、ＮＧＦＦアダプタを介して）に構成可能である。追加モジュールは、Ｂｌｕｅｔｏｏｔｈ（登録商標）機能（例えば、下位互換性を持つＢｌｕｅｔｏｏｔｈ（登録商標）４．０）およびインテル（登録商標）ワイヤレスディスプレイ機能を提供してよい。また、ＮＦＣサポートが、別個のデバイスまたはマルチ機能デバイスを介して提供されてよく、一例として、容易なアクセスのために筐体の前面右部分に配置可能である。さらなる追加のモジュールは、３Ｇ／４Ｇ／ＬＴＥおよびＧＰＳのためのサポートを提供可能なＷＷＡＮデバイスであってよい。このモジュールは、内部（例えば、ＮＧＦＦ）スロットに実装可能である。統合アンテナサポートが、ＷｉＦｉ（商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷＷＡＮ、ＮＦＣおよびＧＰＳに対し提供可能であり、ＷｉＦｉ（商標）からＷＷＡＮ無線、ワイヤレスギガビット仕様（２０１０年７月）に従うワイヤレスギガビット（ＷｉＧｉｇ）へ、およびその逆のシームレスな移行を可能にする。
【０１８４】
上記の通り、統合カメラが蓋に組み込み可能である。一例として、このカメラは、例えば、少なくとも２．０メガピクセル（ＭＰ）の解像度を有し、６．０ＭＰおよびそれ以上に拡張可能な高解像度カメラであってよい。
【０１８５】
音声入力および出力を提供すべく、高解像度オーディオ（ＨＤＡ）リンクを介してプロセッサ１７１０に連結可能なデジタル信号プロセッサ（ＤＳＰ）１７６０を介して、オーディオプロセッサが実装可能である。同様に、ＤＳＰ１７６０は、統合コーダ／デコーダ（ＣＯＤＥＣ）およびアンプ１７６２と通信してよく、統合コーダ／デコーダ（ＣＯＤＥＣ）およびアンプ１７６２は次に、筐体内で実装可能な出力スピーカ１７６３に連結されてよい。同様に、システム内の様々な操作に対する音声でアクティブ化される制御を有効にするための高品質音声入力を提供すべく、アンプおよびＣＯＤＥＣ１７６２は、一実施形態において、デュアルアレイマイク（デジタルマイクアレイ等）を介して実装可能なマイク１７６５からの音声入力を受信すべく連結され得る。音声出力は、アンプ／ＣＯＤＥＣ１７６２からヘッドホンジャック１７６４に提供可能なことにも留意されたい。図１７の実施形態においては、これらの特定のコンポーネントを用いて示されているが、本発明の範囲は、この点に限定されないことを理解されたい。
【０１８６】
特定の実施形態において、デジタルオーディオＣＯＤＥＣおよびアンプは、ステレオヘッドホンジャック、ステレオマイクジャック、内部マイクアレイおよびステレオステレオスピーカを駆動可能である。異なる実装において、ＣＯＤＥＣは、オーディオＤＳＰに統合可能であり、またはＨＤオーディオパスを介して周辺コントローラハブ（ＰＣＨ）に連結可能である。いくつかの実装において、統合ステレオスピーカに加え、１または複数のバススピーカが提供可能であり、スピーカソリューションは、ＤＴＳオーディオをサポート可能である。
【０１８７】
いくつかの実施形態において、プロセッサ１７１０は、外部電圧レギュレータ（ＶＲ）および完全統合電圧レギュレータ（ＦＩＶＲ）と称される、プロセッサダイの内部に統合される複数の内部電圧レギュレータによって電力供給されてよい。プロセッサ内で複数のＦＩＶＲを使用することにより、複数のコンポーネントを別個の電源プレーンへグループ化することを可能にし、その結果、電力は、グループ内のそれらのコンポーネントのみに対するＦＩＶＲによって制御および供給される。電力管理中、プロセッサが特定の低電力状態に置かれた場合、あるＦＩＶＲの特定の電源プレーンはパワーダウンまたは電源オフされてよい一方、別のＦＩＶＲの別の電源プレーンは、アクティブまたは完全に電力供給されたままである。
【０１８８】
一実施形態において、いくつかのディープスリープ状態中、例えば、プロセッサおよびＰＣＨの間のインタフェース、外部ＶＲとのインタフェース、およびＥＣ  １７３５とのインタフェースのような複数のＩ／Ｏ信号のためのＩ／Ｏピンを電源オンすべく、維持電源プレーンが使用可能である。この維持電源プレーンは、オンボードＳＲＡＭまたは、スリープ状態中、プロセッサコンテキストが格納される他のキャッシュメモリをサポートするオンダイ電圧レギュレータにも電力供給する。維持電源プレーンは、様々なウェイクアップソース信号を監視および処理するプロセッサのウェイクアップロジックを電源オンすべく使用される。
【０１８９】
電力管理中、プロセッサが特定のディープスリープ状態に入る場合、他の電源プレーンはパワーダウンまたは電源オフされる一方、維持電源プレーンは、上記参照されるコンポーネントをサポートすべく、電源オンのままである。しかしながら、これらのコンポーネントが不要の場合、これは不必要な電力消費またはワット損につながり得る。この目的のため、実施形態は、専用の電源プレーンを使用して、プロセッサコンテキストを維持すべく、コネクトスタンバイのスリープ状態を提供してよい。一実施形態において、コネクトスタンバイのスリープ状態は、ＰＣＨのリソースを使用して、プロセッサウェイクアップを容易にし、ＰＣＨ自体は、プロセッサとのパッケージ内に存在してよい。一実施形態において、コネクトスタンバイのスリープ状態は、プロセッサウェイクアップまで、ＰＣＨにおける維持プロセッサアーキテクチャ機能を容易にし、これによって、すべてのクロックのオフを含み、ディープスリープ状態中に以前電源オンのままにされた不要なプロセッサコンポーネントのうちのすべてをオフにすることを可能にする。一実施形態において、ＰＣＨは、タイムスタンプカウンタ（ＴＳＣ）およびコネクトスタンバイ状態中、システムを制御するためのコネクトスタンバイロジックを含む。維持電源プレーンのための統合電圧レギュレータは、ＰＣＨ上にも存在してよい。
【０１９０】
一実施形態において、コネクトスタンバイ状態中、統合電圧レギュレータは、専用キャッシュメモリをサポートすべく電源オンに維持される専用の電源プレーンとして機能してよい。当該専用のキャッシュメモリ内には、プロセッサがディープスリープ状態およびコネクトスタンバイ状態に入る場合のような重大な状態変数のようなプロセッサコンテキストが格納される。この重大な状態は、アーキテクチャ、マイクロアーキテクチャ、デバッグ状態に関連付けられる状態変数、および／またはプロセッサに関連付けられる同様の状態変数を含んでよい。
【０１９１】
コネクトスタンバイ状態中、ＥＣ  １７３５からのウェイクアップソース信号が、プロセッサの代わりにＰＣＨに送信されてよく、その結果、ＰＣＨは、プロセッサの代わりにウェイクアップ処理を管理できる。また、維持プロセッサアーキテクチャ機能を容易にすべく、ＴＳＣがＰＣＨ内に維持される。図１７の実施形態においては、これらの特定のコンポーネントを用いて示されているが、本発明の範囲は、この点に限定されないことを理解されたい。
【０１９２】
プロセッサ内の電力制御は、省電力化の向上をもたらし得る。例えば、電力が動的にコア間で割り当て可能で、個々のコアは、周波数／電圧を変更可能であり、非常に低い電力消費を可能にすべく、複数のディープ低電力状態が提供可能である。また、コアまたは独立のコア部分の動的制御は、コンポーネントが使用されていないとき、それらを電源オフにすることによって、電力消費の低減をもたらし得る。
【０１９３】
いくつかの実装は、プラットフォーム電力を制御するための特定の電力管理ＩＣ（ＰＭＩＣ）を提供してよい。このソリューションを使用することで、システムは、Ｗｉｎ８コネクトスタンバイ状態のような、特定のスタンバイ状態時における延長期間（例えば、１６時間）中、非常に低い（例えば、５％未満）バッテリ劣化を実現してよい。Ｗｉｎ８アイドル状態において、例えば、９時間を超える電池寿命が実現されてよい（例えば、１５０ｎｉｔにおいて）。ビデオ再生については、長い電池寿命が実現可能であり、例えば、フルＨＤビデオ再生が最低６時間行われ得る。一実装において、プラットフォームは、例えば、ＳＳＤを使用するＷｉｎ８  ＣＳに対し、３５ワット時間（Ｗｈｒ）のエネルギー容量を有してよく、ＲＳＴキャッシュ構成とともにＨＤＤを使用するＷｉｎ８  ＣＳに対しては（例えば、）４０〜４４Ｗｈｒである。
【０１９４】
特定の実装が、１５Ｗの名目上のＣＰＵ熱設計電力（ＴＤＰ）のサポートを提供してよく、構成可能なＣＰＵ  ＴＤＰは最大約２５Ｗ  ＴＤＰ設計ポイントである。プラットフォームは、上記の熱特徴により、最小のベントを含んでよい。また、プラットフォームは、ピローフレンドリー（熱風がユーザに吹きかからないという意味で）である。異なる最大温度点は、筐体の材料に応じて、実現可能である。プラスチック筐体（少なくともプラスチックの蓋またはベース部分を有する）の一実装において、最大動作温度は摂氏５２度（Ｃ）であってよい。金属筐体の実装については、最大動作温度は４６℃であってよい。
【０１９５】
異なる実装において、ＴＰＭのようなセキュリティモジュールがプロセッサに統合可能であり、またはＴＰＭ２．０デバイスのような個別のデバイスであってよい。プラットフォームトラストテクノロジ（ＰＴＴ）とも呼ばれる統合されたセキュリティモジュールを用いると、ＢＩＯＳ／ファームウェアが、特定のセキュリティ機能のための特定のハードウェア機能を呈することを可能にされ得る。それには、セキュア命令、セキュアブート、インテル（登録商標）アンチセフトテクノロジ、インテル（登録商標）アイデンティティプロテクションテクノロジ、インテル（登録商標）トラステッドエクゼキューションテクノロジ（ＴＸＴ）、並びにセキュアキーボードおよびディスプレイのようなセキュアユーザインタフェースと組み合わせたインテル（登録商標）マネージャビリティエンジンテクノロジが含まれる。
【０１９６】
多数の例が以下に提供される。これらは単に例示であることに留意されたい。さらに、いくつかは、装置、方法、コンピュータ可読媒体、手段等に言及する。しかしながら、複数の例示のうちの任意のものが提供または交換されてよい。例えば、複数の例示のうちの１つが、実行時に特定のアイテムを実行するコードを有するコンピュータ可読媒体を提供する。それらのアイテムは、それらのアイテムを実行する装置における方法またはロジックのアイテムとして同様にみなされてよい。
【０１９７】
一例において、要素に連結されるインタフェースロジックと、上記要素に関連付けられる構成コンテキストへの参照を保持する構成ストレージと、上記構成ストレージと第２のインタフェースとに連結される構成制御ロジックと、を備え、上記構成制御ロジックは、電源イベントに応答して、上記構成ストレージ内に保持される上記構成コンテキストへの上記参照に基づいて、上記要素に関連付けられる上記構成コンテキストの少なくとも部分を構成する、デバイス構成のための装置である。
【０１９８】
一例において、上記インタフェースロジックは、低電力のＰＨＹ仕様、モバイルインダストリペリフェラルインタフェース（ＭＩＰＩ）仕様、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）仕様、およびより高性能およびより高電力のＰＨＹ仕様から成る群から選択される物理層（ＰＨＹ）仕様に基づく、物理層ロジックを含む。
【０１９９】
一例において、上記要素は、ＰＣＩｅ仕様で定義される複数のプロトコル通信を認識可能なペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）デバイスを含む。
【０２００】
一例において、上記構成コンテキストは、上記要素の複数の構成空間パラメータのための状態を含む。
【０２０１】
一例において、構成コンテキストへの参照を保持する上記構成ストレージは、上記要素に関連付けられるメモリマップされた構成空間へのアドレス参照を保持するためのアドレスレジスタを含む。
【０２０２】
一例において、上記装置はルートコントローラを備え、上記構成ストレージは、上記構成コンテキストへの上記参照および上記構成コンテキストを保持するためのキャッシュストレージを含む。
【０２０３】
一例において、上記キャッシュストレージは、上記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントである。
【０２０４】
一例において、上記キャッシュストレージは、上記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントでない。一例において、上記キャッシュストレージは、ライトスルーポリシーを実装する。 
【０２０５】
一例において、上記構成コンテキストの少なくとも部分を構成するための上記構成制御ロジックは、上記要素を構成すべく、ホストデバイスからの介入がさらにない場合、電源イベントに応答する。
【０２０６】
一例において、上記電源イベントは、上記要素がアクティブな電力状態に入るという指標を含む。
【０２０７】
一例において、上記電源イベントは、上記要素がリンクトレーニングを完了するという指標を含む。
【０２０８】
一例において、上記インタフェースロジック、上記構成ストレージ、および上記構成制御ロジックは、音声通信が可能な無線インタフェースロジックに連結されるシステムオンチップ（ＳｏＣ）に統合される。
【０２０９】
一例において、上記インタフェースロジック、上記構成ストレージ、および上記構成制御ロジックは、非モバイル端末システム内に連結される集積回路上に統合される。
【０２１０】
一例において、ホスト処理デバイスと、ストレージと、統合デバイスのための構成データを上記ストレージに書き込み、構成データの上記ストレージへの上記書き込みの後、低電力状態に入る上記統合デバイスと、上記ホスト処理デバイス、上記統合デバイス、および上記ストレージに連結されるコントローラと、を備え、上記コントローラは、上記統合デバイスがアクティブな電力状態に入ることを開始することに応答して、上記ストレージに保持される上記構成データに少なくとも部分的に基づいて、上記ホスト処理デバイスの直接的な介入なしに、上記統合デバイスを構成する、デバイス構成のための装置である。一例において、上記低電力状態は、スリープ電力状態を含む。 
【０２１１】
一例において、上記構成データは、上記統合デバイス内の複数の構成レジスタからのデータを含む。
【０２１２】
一例において、上記複数の構成レジスタは、メモリ内の構成空間にマップされ、上記統合デバイス内の特定の構成レジスタへの書き込みは、上記特定の構成レジスタに関連付けられるメモリ内の上記構成空間内のメモリアドレスをアドレス指定する。
【０２１３】
一例において、ホスト処理デバイスに連結する第１のポートと、構成レジスタを含む下流の要素に連結する第２のポートと、上記構成レジスタのための構成値を保持するキャッシュと、メモリアドレスを上記構成レジスタに関連付け可能で、上記ホスト処理デバイスから上記メモリアドレスへのメモリアクセスを、第１の構成モードにおいて上記構成レジスタに対する構成リクエストに変換可能なコントローラと、を備え、上記コントローラは、上記構成レジスタのための上記構成値を、上記ホスト処理デバイスから上記メモリアドレスへの上記メモリアクセスなしに、第２の構成モードにおいて上記構成レジスタに提供することがさらに可能である、デバイス構成のための装置である。
【０２１４】
一例において、上記第１の構成モードは、強化された構成アクセス機構（ＥＣＡＭ）モードを含み、上記第２の構成モードは、高速構成アクセス機構（ＦＣＡＭ）モードを含む。
【０２１５】
一例において、上記コントローラは、上記構成レジスタのための上記構成値を、上記ホスト処理デバイスから上記メモリアドレスへの上記メモリアクセスなしに、第２の構成モードにおいて上記構成レジスタに提供することがさらに可能であることは、上記コントローラが、上記ホスト処理デバイスからの上記メモリアクセスに含まれる上記構成値を上記キャッシュにキャッシュし、上記メモリアクセスの完了を上記ホスト処理デバイスに提供し、上記キャッシュからの上記構成値を上記要素内の上記構成レジスタに提供する、ことを含む。
【０２１６】
一例において、高速構成互換性を示すデバイスからの特定のメッセージを受信する段階と、上記特定のメッセージの受信に応答して、上記デバイスのための構成アドレス空間への参照で構成レジスタを更新する段階と、上記構成アドレス空間への第１のメモリ書き込みを開始する段階を含む上記デバイスを構成する段階と、上記構成アドレス空間に直交するルートコンプレックスメモリ空間への第２のメモリ書き込みを開始する段階と、を含む、デバイス構成のための方法である。一例において、上記特定のメッセージは、クリーンベースアドレスレジスタメッセージを含む。 一例において、上記特定のメッセージは、デバイス準備状態（ＤＲＳ）メッセージを含む。 
【０２１７】
一例において、１または複数のクリーン構成レジスタを含むクリーンブロック領域へのライトコンバイニングおよびマージングをサポート可能な構成ロジックと、上流デバイスに連結するポートと、上記ポートに関連付けられる、高速構成機能を示す特定のメッセージを生成するプロトコルロジックと、を備える、高速デバイス構成のための装置である。一例において、上記特定のメッセージは、クリーンベースアドレスレジスタメッセージを含む。一例において、上記構成ロジックは、レガシブロックへの複数の書き込みをさらにサポートする。 
【０２１８】
一例において、上記レガシブロックへの上記複数の書き込みは、データがインタリーブされた複数の読み取り／書き込みバイト選択を含み、昇順のアドレス順序でコミットされる。
【０２１９】
一例において、実行時に、第１のデバイスに対し、第２のデバイスの高速構成機能を示す、特定のメッセージを受信させ、第３のデバイスから、上記第１のデバイスの構成空間に関連付けられるアドレスを参照する書き込みメッセージを受信させ、上記第１のデバイスの上記構成空間への書き込みを開始させ、上記第１のデバイスの上記構成空間への上記書き込みに対する上記第１のデバイスからの応答を受信することなく、上記第２のデバイスに対する上記書き込みメッセージの完了を開始させる、コードを備える、非一時的コンピュータ可読媒体である。
【０２２０】
一例において、上記第１のデバイスはエンドポイントデバイスであり、上記第２のデバイスはホスト処理デバイスである。
【０２２１】
一例において、上記第１、第２、および第３のデバイスは、上記コードを保持するためのストレージと共に単一の集積回路に含まれる。
【０２２２】
本発明は限定数の実施形態に関連して記載されたが、当業者は、そこから多数の修正形態および改変形態を理解するであろう。添付の特許請求の範囲は、そのようなすべての修正形態および改変形態を本発明の真の精神および範囲に属するものとして包含する意図である。
【０２２３】
設計は、作成からシミュレーション、製造まで様々な段階を経るであろう。設計を表すデータは、多数の態様でその設計を表現することがある。まず、シミュレーションで有用なように、ハードウェアは、ハードウェア記述言語、または別の機能記述言語を使用して表され得る。また、ロジックおよび／またはトランジスタゲートを用いる回路レベルモデルは、設計プロセスのいくつかの段階において生成され得る。さらに、大部分の設計が、ある段階においてハードウェアモデルにおいて様々なデバイスの物理的な配置を表すデータのレベルに到達する。従来の半導体製造技術が使用される場合、ハードウェアモデルを表すデータとは、集積回路の生産に使用されるマスクのための異なるマスク層における様々な特徴の存在または不存在を指定するデータであってよい。設計の任意の表現において、データは任意の形態の機械可読媒体に格納されてよい。メモリ、またはディスク等の磁気若しくは光ストレージがこの機械可読媒体であってよく、そのような情報を送信すべく、変調されたまたは別途生成された光または電気の波を介して送信される情報を格納する。コードまたは設計を、示しまたは搬送する電気的な搬送波が送信される場合、その電気信号のコピー、バッファ処理、または再送信が実行される範囲において、新しいコピーが作成される。故に、通信プロバイダまたはネットワークプロバイダは、例えば搬送波にエンコードされる情報のような項目を有形な機械可読媒体上に少なくとも一時的に格納してよく、本発明の複数の実施形態に係る技術を具現化する。
【０２２４】
本明細書で使用されるモジュールとは、ハードウェア、ソフトウェア、および／またはファームウェアの任意の組み合わせを指す。一例として、モジュールは、マイクロコントローラによって実行されるよう適合されたコードを格納する非一時的媒体に関連付けられるマイクロコントローラ等のハードウェアを含む。従って、一実施形態において、モジュールという言及は、非一時的媒体に保持されるコードを認識および／または実行するよう具体的に構成されたハードウェアを指す。さらに別の実施形態において、モジュールという使用は、コードを含む非一時的媒体を指し、このコードは、予め定められた動作を実行すべく、マイクロコントローラによって実行されるよう特に適合されている。暗示され得るように、さらなる別の実施形態において、モジュールという用語（この例において）は、マイクロコントローラおよび非一時的媒体の組み合わせを指してよい。通常、別個として図示されるモジュールの境界線は、一般に変動し、潜在的に重なり合う。例えば、第１および第２のモジュールは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを共有し、その一方で、何らかの独立したハードウェア、ソフトウェアまたはファームウェアを潜在的に保持してよい。一実施形態において、ロジックという用語の使用には、トランジスタ、レジスタ、またはプログラマブルロジックデバイスのような他のハードウェア等のハードウェアを含む。
【０２２５】
一実施態様における「ｔｏ（ための）」または「ｃｏｎｆｉｇｕｒｅｄ  ｔｏ（構成され）」という文言の使用は、指定または判断されたタスクを実行する装置、ハードウェア、ロジック、または要素の配置、組み立て、製造、販売の申し出、輸入および／または設計を指す。この例において、動作していない装置または当該装置の要素が当該指定されたタスクを実行すべく設計、連結、および／または相互接続されている場合、それは指定されたタスクを実行するよう依然として「構成され」ている。純粋に例示として、ロジックゲートは、動作中、０または１を提供し得る。しかしながら、イネーブル信号をクロックに提供するよう「ｃｏｎｆｉｇｕｒｅｄ  ｔｏ（構成され）」たロジックゲートは、１または０を提供し得るあらゆる潜在的なロジックゲートを含まない。代わりに、ロジックゲートは、動作中に１または０の出力がクロックをイネーブルにするように、いくつかの態様で連結されているものである。用語「ｃｏｎｆｉｇｕｒｅｄ  ｔｏ（構成され）」の使用は、動作を必要としないがその代わり、装置、ハードウェア、および／または要素の潜在的な状態に重点を置く。その場合、潜在的な状態において、当該装置、ハードウェア、および／または要素が動作中の場合に当該装置、ハードウェア、および／または要素が特定のタスクを実行するよう設計されることに再度留意されたい。
【０２２６】
さらに、一実施態様における「ｃａｐａｂｌｅ  ｏｆ／ｔｏ（することができる）」および／または「ｏｐｅｒａｂｌｅ  ｔｏ（することができる）という用語の使用は、何らかの装置、ロジック、ハードウェア、および／または要素の特定の態様での使用を可能にするよう設計された当該装置、ロジック、ハードウェア、および／または要素を指す。上記の通り、一実施形態における「ｔｏ（ための）」、「ｃａｐａｂｌｅ  ｔｏ（可能）」または「ｏｐｅｒａｂｌｅ  ｔｏ（することができる）」の使用は、装置、ロジック、ハードウェア、および／または要素の潜在的な状態を指し、この場合、当該装置、ロジック、ハードウェア、および／または要素は動作をしているのではなく、装置の特定の態様における使用を可能にするように設計されていることに留意されたい。
【０２２７】
本明細書で使用される値とは、数字、状態、ロジック状態、またはバイナリロジック状態の任意の既知の表現を含む。通常、ロジックレベル、ロジック値、または論理値という使用はまた、「１の」および「０の」とも称され、それは単に複数のバイナリロジック状態を表す。例えば、１は高ロジックレベルを指し、０は低ロジックレベルを指す。一実施形態において、トランジスタまたはフラッシュセル等のストレージセルは、単一の論理値または複数の論理値を保持可能であってよい。しかしながら、コンピュータシステムにおける値の他の表現が使用されている。例えば、１０進数の１０は、バイナリ値１０１０として、１６進数では文字Ａとしても、表され得る。従って、値は、コンピュータシステム内に保持可能な情報の任意の表現を含む。
【０２２８】
さらに、状態は値または値の部分によって表されてよい。一例として、論理１のような第１の値が、既定または初期の状態を表してよく、これに対して、論理ゼロのような第２の値が、既定以外の状態を表してよい。また、一実施形態におけるリセットおよび設定という用語は、既定および更新された値または状態を、それぞれ指す。例えば、既定値は潜在的に高論理値、すなわち、リセットを含み、これに対して更新された値は潜在的に低論理値、すなわち、設定を含む。値の任意の組み合わせが、多数の状態を表すために利用されてよいことに留意されたい。
【０２２９】
上述の方法、ハードウェア、ソフトウェア、ファームウェアまたはコードに係る複数の実施形態は、機械アクセス可能、機械可読、コンピュータアクセス可能、または処理要素によって実行可能なコンピュータ可読媒体上に格納された命令またはコードを介して実装されてよい。非一時的機械アクセス可能／可読媒体は、コンピュータまたは電子システムのような機械によって読み取り可能な形態で情報を提供（すなわち、格納および／または送信）する任意の機構を含む。例えば、非一時的機械アクセス可能媒体は、静的ＲＡＭ（ＳＲＡＭ）または動的ＲＡＭ（ＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、ＲＯＭ、磁気または光ストレージ媒体、フラッシュメモリデバイス、電気ストレージデバイス、光ストレージデバイス、音響ストレージデバイス、一時的（伝搬される）信号（例えば、搬送波、赤外線信号、デジタル信号）から受信される情報を保持するためのストレージデバイスの他の形態等を含み、これらは、そこから情報を受信可能な非一時的媒体とは区別されるべきである。
【０２３０】
本発明の実施形態を実行するロジックをプログラムすべく使用される命令は、ＤＲＡＭ、キャッシュ、フラッシュメモリ、または他のストレージのようなシステム内のメモリ内に格納されてよい。さらに、命令は、ネットワークを介して、または、他のコンピュータ可読媒体を用いて、配信可能である。故に、機械可読媒体は、機械（例えば、コンピュータ）によって読み取り可能な形態で情報を格納または送信するための任意の機構を含んでよい。そのようなものとして、限定はされないが、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスク、リードオンリメモリ（ＣＤ―ＲＯＭ）、および光磁気ディスク、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、磁気または光カード、フラッシュメモリ、または電気形態、光形態、音響形態若しくは他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号等）を介したインターネット経由での情報送信に使用される有形の機械可読ストレージが挙げられる。従って、コンピュータ可読媒体としては、機械（例えばコンピュータ）によって読み取り可能な形態で電子命令または情報を格納または送信するのに好適な任意のタイプの有形の機械可読媒体が含まれる。
【０２３１】
本明細書の随所における「一実施形態」または「ある実施形態」という言及は、当該実施形態に関連して記載される特定の特徴、構造、または特性が本発明の少なくとも１つの実施形態に含まれることを意味する。故に、本明細書の様々な箇所における「一実施形態において」または「ある実施形態において」という文言は必ずしもすべてが、同一実施形態を指すわけではない。さらに、特定の特徴、構造、または特性は、１または複数の実施形態において、任意の好適な様式で組み合わされ得る。
【０２３２】
上記の明細書において、詳細な説明は、特定の例示的実施形態に関し提供されている。しかしながら、添付の特許請求の範囲に記載される本発明のより広範な精神および範囲から逸脱することなく、様々な修正および変更が実施形態になされ得ることは明らかであろう。本明細書および図面は、従って、制限的な意味ではなく、例示的な意味のものとみなされるべきである。さらに、実施形態および他の例示的な文言の上記使用は、同一実施形態または同一例を必ずしも指しておらず、異なる区別される実施形態を指してもよく、潜在的には同一実施形態を指してもよい。
（項目１）
要素に連結されるインタフェースロジックと、
上記要素に関連付けられる構成コンテキストへの参照を保持する構成ストレージと、
上記構成ストレージと第２のインタフェースとに連結される構成制御ロジックと、を備え、
上記構成制御ロジックは、上記構成ストレージ内に保持される上記構成コンテキストへの上記参照に基づいて、上記要素に関連付けられる上記構成コンテキストの少なくとも部分を構成する、デバイス構成のための装置。
（項目２）
上記インタフェースロジックは、低電力の物理層（ＰＨＹ）仕様、モバイルインダストリペリフェラルインタフェース（ＭＩＰＩ）仕様、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）仕様、およびより高性能およびより高電力のＰＨＹ仕様から成る群から選択されるＰＨＹ仕様に基づく、物理層ロジックを含む、項目１に記載の装置。
（項目３）
上記要素は、ＰＣＩｅ仕様で定義される複数のプロトコル通信を認識可能なペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）デバイスを含む、項目１に記載の装置。
（項目４）
上記構成コンテキストは、上記要素の複数の構成空間パラメータのための状態を含む、項目１に記載の装置。
（項目５）
上記構成コンテキストへの上記参照を保持する上記構成ストレージは、上記要素に関連付けられるメモリマップされた構成空間へのアドレス参照を保持するアドレスレジスタを含む、項目１に記載の装置。
（項目６）
上記装置はルートコントローラを備え、上記構成ストレージは、上記構成コンテキストへの上記参照および上記構成コンテキストを保持するキャッシュストレージを含む、項目１に記載の装置。
（項目７）
上記キャッシュストレージは、上記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントである、項目６に記載の装置。
（項目８）
上記キャッシュストレージは、上記ルートコントローラに連結されるプロセッサ内に含まれる１または複数のプロセッサキャッシュとコヒーレントでない、項目６に記載の装置。
（項目９）
上記キャッシュストレージは、ライトスルーポリシーを実装する、項目６に記載の装置。
（項目１０）
上記構成コンテキストの上記少なくとも部分を構成する上記構成制御ロジックは、電源イベントに応答する、項目１に記載の装置。
（項目１１）
上記電源イベントは、上記要素がアクティブな電力状態に入るという指標を含む、項目１０に記載の装置。
（項目１２）
上記電源イベントは、上記要素がリンクトレーニングを完了するという指標を含む、項目１０に記載の装置。
（項目１３）
上記インタフェースロジック、上記構成ストレージ、および上記構成制御ロジックは、音声通信が可能な無線インタフェースロジックに連結されるシステムオンチップ（ＳｏＣ）に統合される、項目１に記載の装置。
（項目１４）
上記インタフェースロジック、上記構成ストレージ、および上記構成制御ロジックは、非モバイル端末システム内に連結される集積回路上に統合される、項目１に記載の装置。
（項目１５）
ホスト処理デバイスと、
ストレージと、
統合デバイスのための構成データを上記ストレージに書き込み、上記構成データの上記ストレージへの上記書き込みの後、低電力状態に入る上記統合デバイスと、
上記ホスト処理デバイス、上記統合デバイス、および上記ストレージに連結されるコントローラと、を備え、
上記コントローラは、上記統合デバイスがアクティブな電力状態に入ることを開始することに応答して、上記ストレージに保持される上記構成データに少なくとも部分的に基づいて、上記ホスト処理デバイスの直接的な介入なしに、上記統合デバイスを構成する、デバイス構成のための装置。
（項目１６）
上記低電力状態は、スリープ電力状態を含む、項目１５に記載の装置。
（項目１７）
上記構成データは、上記統合デバイス内の複数の構成レジスタからのデータを含む、項目１５に記載の装置。
（項目１８）
上記複数の構成レジスタは、メモリ内の構成空間にマップされ、上記統合デバイス内の特定の構成レジスタへの書き込みは、上記特定の構成レジスタに関連付けられるメモリ内の上記構成空間内のメモリアドレスをアドレス指定する、項目１７に記載の装置。
（項目１９）
ホスト処理デバイスに連結する第１のポートと、
構成レジスタを含む下流の要素に連結する第２のポートと、
上記構成レジスタのための構成値を保持するキャッシュと、
メモリアドレスを上記構成レジスタに関連付け可能で、上記ホスト処理デバイスから上記メモリアドレスへのメモリアクセスを、第１の構成モードにおいて上記構成レジスタに対する構成リクエストに変換可能なコントローラと、を備え、
上記コントローラはさらに、上記構成レジスタのための上記構成値を、上記ホスト処理デバイスから上記メモリアドレスへの上記メモリアクセスなしに、第２の構成モードにおいて上記構成レジスタに提供可能である、デバイス構成のための装置。
（項目２０）
上記第１の構成モードは、強化された構成アクセス機構（ＥＣＡＭ）モードを含み、上記第２の構成モードは、高速構成アクセス機構（ＦＣＡＭ）モードを含む、項目１９に記載の装置。
（項目２１）
上記コントローラがさらに、上記構成レジスタのための上記構成値を、上記ホスト処理デバイスから上記メモリアドレスへの上記メモリアクセスなしに、第２の構成モードにおいて上記構成レジスタに提供可能であることは、上記コントローラが、
上記ホスト処理デバイスからの上記メモリアクセスに含まれる上記構成値を上記キャッシュにキャッシュし、
上記メモリアクセスの完了を上記ホスト処理デバイスに提供し、
上記キャッシュからの上記構成値を上記要素内の上記構成レジスタに提供する、ことを含む、項目１９に記載の装置。
（項目２２）
高速構成互換性を示すデバイスから特定のメッセージを受信する段階と、
上記特定のメッセージの受信に応答して、上記デバイスのための構成アドレス空間への参照で構成レジスタを更新する段階と、
上記構成アドレス空間への第１のメモリ書き込みを開始する段階を含む上記デバイスを構成する段階と、
上記構成アドレス空間に直交するルートコンプレックスメモリ空間への第２のメモリ書き込みを開始する段階と、を備える、デバイス構成のための方法。
（項目２３）
上記特定のメッセージは、クリーンベースアドレスレジスタメッセージを含む、項目２２に記載の方法。
（項目２４）
上記特定のメッセージは、デバイス準備状態（ＤＲＳ）メッセージを含む、項目２３に記載の方法。
（項目２５）
１または複数のクリーン構成レジスタを含むクリーンブロック領域へのライトコンバイニングおよびマージングをサポート可能な構成ロジックと、
上流デバイスに連結するポートと、
上記ポートに関連付けられ、高速構成機能を示す特定のメッセージを生成するプロトコルロジックと、を備える、高速デバイス構成のための装置。
（項目２６）
上記特定のメッセージは、クリーンベースアドレスレジスタメッセージを含む、項目２５に記載の装置。
（項目２７）
上記構成ロジックは、レガシブロックへの複数の書き込みをさらにサポートし、上記レガシブロックへの上記複数の書き込みは、データがインタリーブされた複数の読み取り／書き込みバイト選択を含み、昇順のアドレス順序でコミットされる、項目２５に記載の装置。
（項目２８）
実行時に、機械に対し、
第１のデバイスの高速構成機能を示す、特定のメッセージを受信させ、
第２のデバイスから、上記第１のデバイスの構成空間に関連付けられるアドレスを参照する書き込みメッセージを受信させ、
上記第１のデバイスの上記構成空間への書き込みを開始させ、
上記第１のデバイスの上記構成空間への上記書き込みに対する上記第１のデバイスからの応答を受信することなく、上記第２のデバイスに対する上記書き込みメッセージの完了を開始させる、コードを備える、非一時的コンピュータ可読媒体。
（項目２９）
上記第１のデバイスは、エンドポイントデバイスであり、上記第２のデバイスは、ホスト処理デバイスである、項目２８に記載のコンピュータ可読媒体。
（項目３０）
上記第１および第２のデバイスは、上記コンピュータ可読媒体と共に単一の集積回路上に含まれる、項目２９に記載のコンピュータ可読媒体。
【図１】
0006286551.tif 000003
【図２】
0006286551.tif 000004
【図３】
0006286551.tif 000005
【図４】
0006286551.tif 000006
【図５】
0006286551.tif 000007
【図６】
0006286551.tif 000008
【図７】
0006286551.tif 000009
【図８】
0006286551.tif 000010
【図９】
0006286551.tif 000011
【図１０】
0006286551.tif 000012
【図１１】
0006286551.tif 000013
【図１２】
0006286551.tif 000014
【図１３】
0006286551.tif 000015
【図１４】
0006286551.tif 000016
【図１５】
0006286551.tif 000017
【図１６】
0006286551.tif 000018
【図１７】
0006286551.tif 000019