(57)【要約】      （修正有）【課題】リンクトレーニングおよび等化手順を改善するための方法を提供すること。【解決手段】第１の構成要素および第１の構成要素のリンクパートナー構成要素が等化を受けることに応答して、第１の構成要素がリンクパートナー構成要素にデータの第１の組を通信することを含む。第１の構成要素は、等化データの第１の組を受信するための少なくとも１つの受信機を含んでもよい。第１の構成要素はさらに、等化データを保存するために受信機に結合された係数記憶装置を含んでもよい。加えて、等化データの第１の組に基づいて係数の第１の組を生成するために、係数記憶装置に係数論理が結合される。第１の構成要素はリンクパートナー構成要素に係数の第１の組を送る。【選択図】図１２
2014183583.tif 000002
【特許請求の範囲】
【請求項１】
第１の構成要素および前記第１の構成要素のリンクパートナー構成要素が等化を受けることに応答して、前記第１の構成要素が前記リンクパートナー構成要素にデータの第１の組を通信することを含む、システムであって、
前記第１の構成要素は、
等化データの第１の組を受信するための少なくとも１つの受信機と、
前記等化データの第１の組を保存するために前記少なくとも１つの受信機に結合された係数記憶装置と、
前記等化データの第１の組に基づいて係数の第１の組を生成するために前記係数記憶装置に結合された係数論理とを含み、
前記第１の構成要素は前記リンクパートナー構成要素に前記係数の第１の組を送る、
システム。
【請求項２】
前記係数の第１の組は、最大ブーストラインに沿った中間点座標を含む、請求項１に記載のシステム。
【請求項３】
前記第１の構成要素はルート複合構成要素であり、前記リンクパートナー構成要素はエンドポイント構成要素である、請求項１または２に記載のシステム。
【請求項４】
前記第１の構成要素は、周辺構成要素相互接続エクスプレス（ＰＣＩｅ）バスインタフェースリンクを介して前記リンクパートナー構成要素に前記係数の第１の組を送る、請求項１から３のいずれか１項に記載のシステム。
【請求項５】
前記等化データの第１の組はフルスイング値および低頻度値を含む、請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記第１の構成要素および前記リンクパートナー構成要素が前記等化を受けることにさらに応答して、前記第１の構成要素は前記リンクパートナー構成要素にデータの第２の組を通信し、前記リンクパートナー構成要素は前記リンクパートナー構成要素の送信機設定に対して前記データの第２の組の少なくとも一部を適用する、請求項１から５のいずれか１項に記載のシステム。
【請求項７】
前記生成された係数の第１の組は、プリカーソル成分、カーソル成分およびポストカーソル成分を含む、請求項１から６のいずれか１項に記載のシステム。
【請求項８】
通信リンクの少なくとも１つのチャネルに沿ってリンクパートナー構成要素から第１の構成要素にデータの第１の組を通信するステップを含む、方法であって、
前記データの第１の組は、フルスイング値および低頻度値を含み、
前記フルスイング値および前記低頻度値は前記第１の構成要素の少なくとも１つのレジスタに保存され、前記方法はさらに、
前記フルスイング値および前記低頻度値から係数の第１の組を計算するための命令を実行するステップと、
前記フルスイング値および前記低頻度値から係数の第１の組を計算するステップと、
前記計算された係数の第１の組を、前記第１の構成要素の少なくとも１つのレジスタに保存するステップと、
前記リンクパートナー構成要素の送信機構成要素をセットアップするために、前記計算された係数の第１の組を適用するステップと
を含む、方法。
【請求項９】
前記データの第１の組は、前記リンクパートナー構成要素の送信機構成要素をセットアップするための係数の第２の組を含むプリセット値の第１の組と、前記リンクパートナー構成要素の受信機構成要素をセットアップするための係数の第３の組を含むプリセットヒントの第１の組とを含む、請求項８に記載の方法。
【請求項１０】
前記計算された係数の第１の組は、プリカーソル係数、カーソル係数、またはポストカーソル係数の少なくとも１つを含む、請求項８または９に記載の方法。
【請求項１１】
前記リンクパートナー構成要素の前記送信機構成要素に適用された前記係数の第１の組は、前記リンクパートナー構成要素が、各１０１２ビット当り１つ以下の誤りのビット誤り率で前記第１の構成要素にデータを送信することを可能にする、請求項８から１０のいずれか１項に記載の方法。
【請求項１２】
前記計算された係数の第１の組は、ＰＣＩ  Ｇｅｎ３リンクトレーニングおよび等化手順のフェーズ３の間に前記リンクパートナー構成要素の前記送信機構成要素に適用される、請求項８から１１のいずれか１項に記載の方法。
【請求項１３】
リンクトレーニングおよび等化手順を受けることに応答して上流ポートから第１の順序集合を受信する下流ポートを含む、装置であって、
前記下流ポートは前記上流ポートからデータを受信するための受信機構成要素を含み、前記上流ポートは前記下流ポートにデータを送信するための送信機構成要素を含み、
前記上流ポートおよび前記下流ポートはリンクパートナーであり、
前記第１の順序集合は、前記上流ポートに関連付けられたフルスイング値および低頻度値を含み、
前記下流ポートは、前記第１の順序集合の前記フルスイング値および前記低頻度値から係数の第１の組を計算するための命令を実行するための論理を含み、
前記下流ポートは、前記計算された係数の第１の組を保存するための少なくとも１つの構成レジスタを含み、
前記上流ポートは、前記計算された係数の第１の組を前記上流ポートの送信機設定に適用する、
装置。
【請求項１４】
前記上流ポートは、前記計算された係数の第１の組を前記下流ポートから受信する受信機をさらに含む、請求項１３に記載の装置。
【請求項１５】
前記計算された係数の第１の組は、単一の構成レジスタに保存される、請求項１３または１４に記載の装置。
【請求項１６】
前記少なくとも１つの構成レジスタは、フリップフロップ記憶構成要素として実現される、請求項１３から１５のいずれか１項に記載の装置。
【請求項１７】
前記少なくとも１つの構成レジスタ内のデータは、前記上流ポートのステータスを提供する、請求項１３から１６のいずれか１項に記載の装置。
【請求項１８】
前記上流ポートはタッチ対応ディスプレイデバイスに結合される、請求項１３から１７のいずれか１項に記載の装置。
【請求項１９】
バスインタフェースリンクに結合されたデバイスに対するリンクトレーニングおよび等化手順であって、
第１の構成要素からリンクパートナー構成要素へ、およびリンクパートナー構成要素から前記第１の構成要素へ、送信機プリセット値の組および受信機ヒントの組を通信するステップと、
第１のビット誤り率に対して前記リンクを動作可能にするように前記第１の構成要素および前記リンクパートナー構成要素を構成するステップと、
前記第１の構成要素内の記憶エンティティに前記リンクパートナー構成要素に関連付けられるフルスイング値および低頻度値を保存するステップと、
前記第１の構成要素に関連付けられるフルスイング値および低頻度値から係数の第１の組を計算するステップと、
前記係数の第１の組に基づいて前記第１の構成要素の送信機設定を調整するステップと、
前記リンクパートナー構成要素に関連付けられるフルスイング値および低頻度値から係数の第２の組を計算するステップと、
前記係数の第２の組に基づいて前記リンクパートナー構成要素の送信機設定を調整するステップと
を含む、リンクトレーニングおよび等化手順。
【請求項２０】
前記第１のビット誤り率よりも低い第２のビット誤り率において前記リンクを動作可能にするように前記第１の構成要素および前記リンクパートナー構成要素を構成するステップをさらに含む、請求項１９に記載のリンクトレーニングおよび等化手順。
【請求項２１】
前記第１の構成要素の前記送信機設定を調整する前に、前記第１の構成要素の送信機設定にオフセットの組を適用するステップをさらに含む、請求項１９または２０に記載のリンクトレーニングおよび等化手順。
【請求項２２】
前記第１のビット誤り率は、各１０４ビット当り１ビットである、請求項１９から２１のいずれか１項に記載のリンクトレーニングおよび等化手順。
【請求項２３】
前記係数の第１の組は、前記第１の構成要素のポート内の論理によって計算される、請求項１９から２２のいずれか１項に記載のリンクトレーニングおよび等化手順。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はコンピュータシステムに関し、特に（排他的ではなく）、リンクトレーニングおよび等化手順を改善するための技術に関する。
【図面の簡単な説明】
【０００２】
【図１】マルチコアプロセッサを含むコンピュータシステムに対するブロック図の実施形態を示す概略図である。
【図２】周辺構成要素相互接続エクスプレス（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ：ＰＣＩｅ）準拠アーキテクチャを含むコンピュータシステムの実施形態を示す概略図である。
【図３】層状スタックを含むＰＣＩｅ準拠相互接続アーキテクチャの実施形態を示す概略図である。
【図４】相互接続アーキテクチャ内で生成または受信されるＰＣＩｅ準拠の要求またはパケットの実施形態を示す概略図である。
【図５】ＰＣＩｅシリアルポイントツーポイントファブリックの実施形態を示す概略図である。
【図６】最良のプリセットによるビット誤り率（ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ：ＢＥＲ）アイのプロットと、最適化された送信機係数によるＢＥＲアイのプロットとを示す概略図である。
【図７】ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ０の実施形態を示す概略図である。
【図８】ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ１の実施形態を示す概略図である。
【図９】送信機または受信機の設定に適用され得るプリカーソル（ｐｒｅｃｕｒｓｏｒ）およびポストカーソル（ｐｏｓｔ  ｃｕｒｓｏｒ）係数の組を列挙するテーブルを示す概略図である。
【図１０】ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ２の実施形態を示す概略図である。
【図１１】ＰＣＩｅリンクトレーニングおよび等化手順の従来のフェーズ３プロセスを示す概略図である。
【図１２】本開示の実施形態に一致するリンクトレーニングおよび等化のための方法を示す図である。
【図１３】本開示の実施形態に一致するリンクトレーニングおよび等化のための別の方法を示す図である。
【発明を実施するための形態】
【０００３】
以下の説明においては、本開示の完全な理解を提供するために、たとえば特定のタイプのプロセッサおよびシステム構成、特定のハードウェア構造、特定のアーキテクチャおよびマイクロアーキテクチャの詳細、特定のレジスタ構成、特定の命令タイプ、特定のシステム構成要素、特定の測定値／高さ、特定のプロセッサパイプラインステージおよび動作の例など、多数の特定の詳細が示される。しかしながら、これらの特定の詳細は、本開示を実施するために用いられなくてもよいことが当業者に明らかになるだろう。他の場合には、本開示を不必要に曖昧にすることを避けるために、たとえば特定の代替的なプロセッサアーキテクチャ、記載されるアルゴリズムに対する特定の論理回路／コード、特定のファームウェアコード、特定の相互接続動作、特定の論理構成、特定の製造技術および材料、特定のコンパイラ実施、コードにおけるアルゴリズムの特定の表現、特定のパワーダウンおよびゲーティング技術／論理、ならびにコンピュータシステムのその他の特定の動作の詳細などの周知の構成要素または方法は詳細に記載されていない。
【０００４】
以下の実施形態は、たとえばコンピューティングプラットフォームまたはマイクロプロセッサなどの特定の集積回路におけるエネルギ節約およびエネルギ効率に関して記載されるかもしれないが、他の実施形態は他のタイプの集積回路および論理デバイスに適用可能である。本明細書に記載される実施形態の類似の技術および教示が、より良好なエネルギ効率およびエネルギ節約から利益を受け得る他のタイプの回路または半導体デバイスに適用されてもよい。たとえば、開示される実施形態は、デスクトップコンピュータシステムまたはＵｌｔｒａｂｏｏｋｓ（商標）に限定されない。たとえばハンドヘルドデバイス、タブレット、他の薄型ノートブック、システムオンチップ（ｓｙｓｔｅｍｓ  ｏｎ  ａ  ｃｈｉｐ：ＳＯＣ）デバイス、および埋め込み型アプリケーションなどの他のデバイスにも用いられてもよい。ハンドヘルドデバイスのいくつかの例は、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ：ＰＤＡｓ）、およびハンドヘルドＰＣを含む。埋め込み型アプリケーションは典型的に、マイクロコントローラ、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ：ＤＳＰ）、システムオンチップ、ネットワークコンピュータ（ｎｅｔｗｏｒｋ  ｃｏｍｐｕｔｅｒｓ：ＮｅｔＰＣ）、セットトップボックス、ネットワークハブ、広域ネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＷＡＮ）スイッチ、または以下に教示される機能および動作を行い得るあらゆるその他のシステムを含む。さらに、本明細書に記載される装置、方法およびシステムは物理的コンピュータデバイスに限定されず、エネルギ節約および効率のためのソフトウェア最適化にも関し得る。以下の説明において容易に明らかになるとおり、本明細書に記載される方法、装置およびシステムの実施形態（ハードウェア、ファームウェア、ソフトウェア、またはその組み合わせに関するかどうか）は、性能の考慮とバランスを取った「グリーンテクノロジ」の将来に不可欠である。
【０００５】
コンピュータシステムが進歩するにつれて、システム内の構成要素はより複雑になっている。その結果、最適な構成要素動作のための帯域幅要求に確実に適合させるために、構成要素間の結合および通信を行うための相互接続アーキテクチャも複雑性が増している。さらに、異なる市場区分は、その市場の要求に適合するために相互接続アーキテクチャの異なる局面を要求する。たとえば、サーバはより高性能を要求するのに対し、モバイル・エコシステムはときには省電力のために全体の性能を犠牲にすることができる。しかし、ほとんどのファブリックの唯一の目的は、最大限の省電力によってできる限り高い性能を提供することである。本明細書に記載される開示の局面から利益を得る可能性のあるいくつかの相互接続について以下に考察する。
【０００６】
図１を参照すると、マルチコアプロセッサを含むコンピュータシステムに対するブロック図の実施形態が示される。プロセッサ１００は、たとえばマイクロプロセッサ、埋め込み型プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、ハンドヘルドプロセッサ、アプリケーションプロセッサ、コプロセッサ、システムオンチップ（ＳｏＣ）、またはコードを実行するためのその他のデバイスなどのあらゆるプロセッサまたは処理デバイスを含む。一実施形態において、プロセッサ１００は少なくとも２つのコア、すなわちコア１０１および１０２を含み、これらは非対称コアまたは対称コア（図示される実施形態）を含んでもよい。しかし、プロセッサ１００は、対称であっても非対称であってもよいあらゆる数の処理構成要素を含んでもよい。
【０００７】
一実施形態において、処理構成要素とは、ソフトウェアスレッドを支援するためのハードウェアまたは論理を示す。ハードウェア処理構成要素の例は、スレッドユニット、スレッドスロット、スレッド、プロセスユニット、コンテキスト、コンテキストユニット、論理プロセッサ、ハードウェアスレッド、コア、および／または、たとえば実行状態もしくはアーキテクチャ状態などのプロセッサに対する状態を保持できるあらゆるその他の構成要素を含む。言い換えると、一実施形態における処理構成要素とは、たとえばソフトウェアスレッド、オペレーティングシステム、アプリケーション、またはその他のコードなどのコードに独立して関連付けられ得るあらゆるハードウェアを示す。物理的プロセッサ（またはプロセッサソケット）とは典型的に集積回路を示し、この集積回路は、たとえばコアまたはハードウェアスレッドなど、あらゆる数の他の処理構成要素を潜在的に含む。
【０００８】
コアはしばしば、独立のアーキテクチャ状態を維持できる集積回路上に位置する論理を示し、ここで独立して維持される各アーキテクチャ状態は、少なくともいくつかの専用実行リソースに関連付けられる。コアとは対照的に、ハードウェアスレッドは典型的に、独立のアーキテクチャ状態を維持できる集積回路上に位置するあらゆる論理を示し、ここで独立して維持されるアーキテクチャ状態は実行リソースへのアクセスを共有する。ここで分かるとおり、特定のリソースが共有されており、かつ他のリソースがあるアーキテクチャ状態の専用であるとき、ハードウェアスレッドおよびコアという名称の間のラインがオーバラップする。しかし、コアおよびハードウェアスレッドはしばしばオペレーティングシステムによって個々の論理プロセッサとして示され、オペレーティングシステムは各論理プロセッサにおける動作を個別にスケジュールできる。
【０００９】
図１に示される物理的プロセッサ１００は２つのコア、すなわちコア１０１および１０２を含む。ここでコア１０１および１０２は対称コア、すなわち同じ構成、機能ユニットおよび／または論理を有するコアとみなされる。別の実施形態において、コア１０１はアウトオブオーダ（ｏｕｔ−ｏｆ−ｏｒｄｅｒ）プロセッサコアを含むのに対し、コア１０２はインオーダ（ｉｎ−ｏｒｄｅｒ）プロセッサコアを含む。しかし、コア１０１および１０２は、たとえば固有のコア、ソフトウェア管理コア、固有の命令セットアーキテクチャ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＩＳＡ）を実行するように適合されたコア、変換された命令セットアーキテクチャ（ＩＳＡ）を実行するように適合されたコア、協調設計されたコア、またはその他の公知のコアなど、あらゆるタイプのコアから個別に選択されてもよい。異種コア環境（すなわち非対称コア）においては、１つまたは両方のコアのコードをスケジュールまたは実行するために、たとえばバイナリ変換など、何らかの形の変換が用いられてもよい。さらなる考察のために、コア１０１内に示される機能ユニットを以下にさらに詳細に説明する。示される実施形態において、コア１０２内のユニットは類似の態様で動作する。
【００１０】
図示されるとおり、コア１０１は２つのハードウェアスレッド１０１ａおよび１０１ｂを含み、これらはハードウェアスレッドスロット１０１ａおよび１０１ｂと呼ばれることもある。したがって、一実施形態におけるたとえばオペレーティングシステムなどのソフトウェアエンティティは、プロセッサ１００を４つの分離したプロセッサ、すなわち４つのソフトウェアスレッドを同時に実行できる４つの論理プロセッサまたは処理構成要素とみなす可能性がある。上に示唆されるとおり、第１のスレッドはアーキテクチャ状態レジスタ１０１ａに関連付けられ、第２のスレッドはアーキテクチャ状態レジスタ１０１ｂに関連付けられ、第３のスレッドはアーキテクチャ状態レジスタ１０２ａに関連付けられてもよく、第４のスレッドはアーキテクチャ状態レジスタ１０２ｂに関連付けられてもよい。上述のとおり、ここでアーキテクチャ状態レジスタ（１０１ａ、１０１ｂ、１０２ａおよび１０２ｂ）の各々は、処理構成要素、スレッドスロットまたはスレッドユニットと呼ばれてもよい。図示されるとおり、アーキテクチャ状態レジスタ１０１ａはアーキテクチャ状態レジスタ１０１ｂに複製されるため、個々のアーキテクチャ状態／コンテキストは論理プロセッサ１０１ａおよび論理プロセッサ１０１ｂに対して保存され得る。コア１０１において、たとえば命令ポインタ、ならびにアロケータおよびリネーマ（ｒｅｎａｍｅｒ）ブロック１３０のリネーム論理など、他のより小さなリソースもスレッド１０１ａおよび１０１ｂに対して複製されてもよい。たとえばリオーダ／リタイア（ｒｅｏｒｄｅｒ／ｒｅｔｉｒｅｍｅｎｔ）ユニット１３５のリオーダバッファ、Ｉ−ＴＬＢ１２０、ロード／保存バッファ、およびキューなどのいくつかのリソースは、分割によって共有されてもよい。その他のリソース、たとえば汎用内部レジスタ、ページ−テーブル・ベースレジスタ、低レベルデータキャッシュおよびデータ−ＴＬＢ１５０、実行ユニット１４０、ならびにアウトオブオーダユニット１３５の部分などは、完全に共有される可能性がある。
【００１１】
プロセッサ１００はしばしば、完全に共有されても、分割によって共有されても、処理構成要素によって／対して専用にされてもよい他のリソースを含む。図１には、プロセッサの例示的論理ユニット／リソースを有する純粋に例示的なプロセッサの実施形態が示される。プロセッサはこれらの機能ユニットのいずれかを含んでも省いてもよいし、図示されないあらゆるその他の公知の機能ユニット、論理またはファームウェアを含んでもよいことに留意されたい。図示されるとおり、コア１０１は簡略化された代表的なアウトオブオーダ（ｏｕｔ−ｏｆ−ｏｒｄｅｒ：ＯＯＯ）プロセッサコアを含む。しかし、異なる実施形態においてはインオーダプロセッサが用いられてもよい。ＯＯＯコアは、実行／取得されるべき分岐を予測するための分岐ターゲットバッファ１２０と、命令に対するアドレス変換エントリを保存するための命令変換バッファ（ｉｎｓｔｒｕｃｔｉｏｎ−ｔｒａｎｓｌａｔｉｏｎ  ｂｕｆｆｅｒ：Ｉ−ＴＬＢ）１２０とを含む。
【００１２】
コア１０１はさらに、フェッチされた構成要素を復号するためにフェッチユニット１２０に結合された復号モジュール１２５を含む。一実施形態において、フェッチ論理はそれぞれスロット１０１ａ、１０１ｂに関連付けられた個々のシーケンサを含む。通常、コア１０１は、プロセッサ１００において実行可能な命令を定義／指定する第１のＩＳＡに関連付けられる。第１のＩＳＡの部分である機械コード命令はしばしば、実行されるべき命令または動作を参照／指定する命令の部分（オペコードと呼ばれる）を含む。復号論理１２５は、オペコードからこれらの命令を認識し、第１のＩＳＡによって定められるとおりの処理のために復号された命令をパイプラインに渡す回路を含む。たとえば、以下により詳細に考察されるとおり、一実施形態におけるデコーダ１２５は、たとえばトランザクション命令などの特定の命令を認識するように設計または適合された論理を含む。デコーダ１２５による認識の結果として、アーキテクチャまたはコア１０１は、適切な命令に関連付けられたタスクを行うための特定の予め定義された動作を行う。本明細書に記載されるタスク、ブロック、動作および方法のいずれかが、単一または複数の命令に応答して行われてもよいことに留意することが重要である。それらの命令のいくつかは新しい命令であっても、古い命令であってもよい。一実施形態において、デコーダ１２６は同じＩＳＡ（またはその部分集合）を認識することに留意されたい。代替的に、異種コア環境において、デコーダ１２６は第２のＩＳＡ（第１のＩＳＡの部分集合または別個のＩＳＡ）を認識する。
【００１３】
一例において、アロケータおよびリネーマブロック１３０は、命令処理結果を保存するためのレジスタファイルなどのリソースを予約するためのアロケータを含む。しかし、スレッド１０１ａおよび１０１ｂはアウトオブオーダ実行が潜在的に可能であり、ここでアロケータおよびリネーマブロック１３０は、たとえば命令結果を追跡するためのリオーダバッファなどの他のリソースも予約する。加えてユニット１３０は、プロセッサ１００内部の他のレジスタに対してプログラム／命令参照レジスタをリネームするためのレジスタリネーマを含んでもよい。リオーダ／リタイアユニット１３５は、アウトオブオーダ実行と、アウトオブオーダ実行された命令のその後のインオーダリタイアとを支援するために、たとえば上述のリオーダバッファ、ロードバッファ、および保存バッファなどの構成要素を含む。
【００１４】
一実施形態において、スケジューラおよび実行ユニットブロック１４０は、実行ユニットにおいて命令／動作をスケジュールするためのスケジューラユニットを含む。たとえば、浮動小数点命令は、利用可能な浮動小数点実行ユニットを有する実行ユニットのポート上にスケジュールされる。情報命令処理結果を保存するために、実行ユニットに関連付けられたレジスタファイルも含まれる。例示的な実行ユニットは、浮動小数点実行ユニット、整数実行ユニット、ジャンプ実行ユニット、ロード実行ユニット、保存実行ユニット、およびその他の公知の実行ユニットを含む。
【００１５】
より低レベルのデータキャッシュおよびデータ変換バッファ（ｄａｔａ  ｔｒａｎｓｌａｔｉｏｎ  ｂｕｆｆｅｒ：Ｄ−ＴＬＢ）１５０は、実行ユニット１４０に結合される。データキャッシュは、メモリコヒーレンシ状態で潜在的に保持される、たとえばデータオペランドなどの最近使用／動作された構成要素を保存するためのものである。Ｄ−ＴＬＢは、最近の仮想／線形アドレスから物理アドレスへの変換を保存するためのものである。特定の例として、プロセッサは、物理的メモリを複数の仮想ページに分割するためのページテーブル構造を含んでもよい。
【００１６】
ここで、コア１０１および１０２は、たとえばオンチップインタフェース１１０に関連付けられた第２レベルキャッシュなどの、より高レベルまたはさらに外側の（ｆｕｒｔｈｅｒ−ｏｕｔ）キャッシュへのアクセスを共有する。より高レベルまたはさらに外側とは、実行ユニットから増加したか、またはさらに進んだ（ｇｅｔｔｉｎｇ  ｆｕｒｔｈｅｒ  ｗａｙ）キャッシュレベルを示すことに留意されたい。一実施形態において、より高レベルのキャッシュとは最終レベルのデータキャッシュ、すなわちプロセッサ１００のメモリ階層における最終キャッシュ、たとえば第２または第３のレベルのデータキャッシュなどのことである。しかし、より高レベルのキャッシュは命令キャッシュに関連付けられるか、またはそれを含んでもよいため、より高レベルのキャッシュはこれに限定されるものではない。代わりに、最近復号されたトレースを保存するために、命令キャッシュの一種であるトレースキャッシュがデコーダ１２５の後に結合されてもよい。ここで命令とは、いくつかのマイクロ命令（マイクロ動作）に復号し得るマクロ命令（すなわちデコーダによって認識される一般的命令）を潜在的に示す。
【００１７】
図示される構成において、プロセッサ１００はさらにオンチップインタフェースモジュール１１０を含む。歴史的に、以下により詳細に説明されるメモリコントローラは、プロセッサ１００の外部のコンピュータシステムに含まれている。このシナリオにおいて、オンチップインタフェース１１０は、たとえばシステムメモリ１７５、チップセット（しばしば、メモリ１７５に接続するためのメモリコントローラハブと、周辺デバイスを接続するためのＩ／Ｏコントローラハブとを含む）、メモリコントローラハブ、ノースブリッジ、またはその他の集積回路など、プロセッサ１００の外部のデバイスと通信するためのものである。さらにこのシナリオにおいて、バス１０５は、たとえばマルチドロップバス、ポイントツーポイント相互接続、シリアル相互接続、パラレルバス、コヒーレント（例、キャッシュコヒーレント）バス、層状プロトコルアーキテクチャ、差動バス、およびＧＴＬバスなど、あらゆる公知の相互接続を含んでもよい。
【００１８】
メモリ１７５は、プロセッサ１００専用のものであってもよいし、システム内の他のデバイスと共有されてもよい。メモリ１７５のタイプの一般的な例は、ＤＲＡＭ、ＳＲＡＭ、不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）（ＮＶメモリ）、およびその他の公知の記憶装置を含む。デバイス１８０は、メモリコントローラハブに結合されたグラフィックアクセラレータ、プロセッサまたはカード、Ｉ／Ｏコントローラハブに結合されたデータ記憶装置、無線トランシーバ、フラッシュデバイス、オーディオコントローラ、ネットワークコントローラ、またはその他の公知のデバイスを含んでもよいことに留意されたい。
【００１９】
しかしながら近年は、たとえばＳＯＣなど、単一のダイ上により多くの論理およびデバイスが集積されているために、これらのデバイスの各々がプロセッサ１００に組み込まれてもよい。たとえば一実施形態において、メモリコントローラハブはプロセッサ１００と同じパッケージおよび／またはダイ上にある。ここで、コアの一部（オンコア（ｏｎ−ｃｏｒｅ）部分）１１０は、たとえばメモリ１７５またはグラフィックデバイスなどの他のデバイスとインタフェースするための１つまたはそれ以上のコントローラを含む。相互接続と、こうしたデバイスとインタフェースするためのコントローラとを含む構成は、しばしばオンコア（またはアンコア構成）と呼ばれる。一例として、オンチップインタフェース１１０は、オンチップ通信のためのリング相互接続と、オフチップ通信のための高速シリアルポイントツーポイントリンク１０５とを含む。しかし、ＳｏＣ環境においては、たとえばネットワークインタフェース、コプロセッサ、メモリ１７５、グラフィックプロセッサ１８０、およびあらゆるその他の公知のコンピュータデバイス／インタフェースなど、さらに多くのデバイスが単一のダイまたは集積回路上に集積されて、高機能および低消費電力を有する小型要素を提供してもよい。
【００２０】
一実施形態において、プロセッサ１００は、本明細書に記載される装置および方法を支援するため、またはそれとインタフェースするためにアプリケーションコード１７６をコンパイル、変換および／または最適化するためのコンパイラ、最適化および／またはトランスレータコード１７７を実行できる。コンパイラはしばしば、ソーステキスト／コードを目標テキスト／コードに変換するためのプログラムまたはプログラムの組を含む。通常、コンパイラによるプログラム／アプリケーションコードのコンパイルは、複数のフェーズおよびパスにおいて行われることにより、高レベルプログラミング言語コードを低レベルの機械またはアセンブリ言語コードに変換する。しかし、簡単なコンパイルに対しては単一パスのコンパイラがなおも用いられてもよい。コンパイラはあらゆる公知のコンパイル技術を用いて、たとえば字句解析、前処理、構文解析、意味解析、コード生成、コード変換、およびコード最適化などのあらゆる公知のコンパイラ動作を行ってもよい。
【００２１】
より大きなコンパイラはしばしば複数のフェーズを含むが、最も多くの場合、これらのフェーズは以下の２つの一般的フェーズに含まれている。（１）フロントエンド、すなわち一般的に構文処理、意味処理、および何らかの変換／最適化が行われ得るところ、ならびに（２）バックエンド、すなわち一般的に分析、変換、最適化、およびコード生成が行われるところ。いくつかのコンパイラは、コンパイラのフロントエンドとバックエンドとの描写のぶれを示す中間（ｍｉｄｄｌｅ）を示す。結果として、前述のフェーズまたはパス、およびコンパイラのあらゆるその他の公知のフェーズまたはパスのいずれかにおいて、挿入、結合、生成、またはコンパイラのその他の動作に対する参照が行われてもよい。例示的な例として、コンパイラは動作、呼出し、機能などをコンパイルの１つまたはそれ以上のフェーズに潜在的に挿入し、たとえばコンパイルのフロントエンドフェーズに呼出し／動作を挿入し、次いで変形フェーズの際に呼出し／動作をより低レベルのコードに変形する。動的コンパイルの際には、コンパイラコードまたは動的最適化コードがこうした動作／呼出しを挿入し、さらに実行時に実行のためにコードを最適化してもよいことに留意されたい。特定の例示的実施例として、実行時にバイナリコード（すでにコンパイルされたコード）が動的に最適化されてもよい。ここでプログラムコードは、動的最適化コード、バイナリコード、またはその組み合わせを含んでもよい。
【００２２】
コンパイラと同様に、たとえばバイナリトランスレータなどのトランスレータは、コードを最適化および／または変換するために、コードを静的または動的に変換する。したがって、コード、アプリケーションコード、プログラムコード、またはその他のソフトウェア環境の実行に対する言及は、（１）プログラムコードをコンパイルするため、ソフトウェア構造を維持するため、その他の動作を行うため、コードを最適化するため、またはコードを変換するための、コンパイラプログラム、最適化コードオプティマイザ、またはトランスレータの動的または静的な実行、（２）たとえば最適化／コンパイルされたアプリケーションコードなど、動作／呼出しを含むメインプログラムコードの実行、（３）ソフトウェア構造を維持するため、その他のソフトウェア関連動作を行うため、またはコードを最適化するための、メインプログラムコードに関連付けられた、たとえばライブラリなどのその他のプログラムコードの実行、または（４）それらの組み合わせを示してもよい。
【００２３】
相互接続ファブリックアーキテクチャの１つは、周辺構成要素相互接続（ＰＣＩ）エクスプレス（ＰＣＩｅ）アーキテクチャを含む。ＰＣＩｅの第一目標は、異なるメーカからの構成要素およびデバイスを、複数の市場区分にまたがってオープンアーキテクチャで相互動作できるようにすることである。すなわち、クライアント（デスクトップおよびモバイル）、サーバ（標準および事業用）、ならびに埋め込み型および通信デバイスである。ＰＣＩエクスプレスは、広範囲の将来のコンピューティングおよび通信プラットフォームに対して定められた高性能の汎用Ｉ／Ｏ相互接続である。いくつかのＰＣＩ属性、たとえばその使用モデル、ロード−保存アーキテクチャ、およびソフトウェアインタフェースなどはＰＣＩの改訂を通じて維持されており、一方で以前のパラレルバス実施は、高度にスケーラブルな完全シリアルインタフェースに置換されている。ＰＣＩエクスプレスのより最近のバージョンは、ポイントツーポイント相互接続、スイッチに基づく技術、およびパケット化プロトコルの進歩を利用して、新たなレベルの性能および特徴を提供する。電力管理、サービスの品質（Ｑｕａｌｉｔｙ  Ｏｆ  Ｓｅｒｖｉｃｅ：ＱｏＳ）、ホットプラグ／ホットスワップ支援、データ保全、および誤り処理は、ＰＣＩエクスプレスによって支援される進歩した特徴のうちのいくつかである。
【００２４】
図２を参照すると、構成要素の組を相互接続するポイントツーポイントリンクで構成されるファブリックの実施形態が示される。システム２００は、コントローラハブ２１５に結合されたプロセッサ２０５およびシステムメモリ２１０を含む。プロセッサ２０５は、たとえばマイクロプロセッサ、ホストプロセッサ、埋め込み型プロセッサ、コプロセッサ、またはその他のプロセッサなどのあらゆる処理構成要素を含む。プロセッサ２０５は、前側バス（ｆｒｏｎｔ−ｓｉｄｅ  ｂｕｓ：ＦＳＢ）２０６を通じてコントローラハブ２１５に結合される。一実施形態において、ＦＳＢ２０６は以下に説明されるとおりのシリアルポイントツーポイント相互接続である。別の実施形態において、リンク２０６は、異なる相互接続規格に準拠するシリアル差動相互接続アーキテクチャを含む。
【００２５】
システムメモリ２１０は、たとえばランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＲＡＭ）、不揮発性（ｎｏｎ−ｖｏｌａｔｉｌｅ：ＮＶ）メモリ、またはシステム２００内のデバイスによってアクセス可能なその他のメモリなどのあらゆるメモリデバイスを含む。システムメモリ２１０は、メモリインタフェース２１６を通じてコントローラハブ２１５に結合される。メモリインタフェースの例は、ダブルデータレート（ｄｏｕｂｌｅ−ｄａｔａ  ｒａｔｅ：ＤＤＲ）メモリインタフェース、デュアルチャネルＤＤＲメモリインタフェース、および動的ＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ：ＤＲＡＭ）メモリインタフェースを含む。
【００２６】
一実施形態において、コントローラハブ２１５は、周辺構成要素相互接続エクスプレス（ＰＣＩｅまたはＰＣＩＥ）相互接続階層におけるルートハブ、ルート複合体またはルートコントローラである。コントローラハブ２１５の例は、チップセット、メモリコントローラハブ（ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ：ＭＣＨ）、ノースブリッジ、相互接続コントローラハブ（ｉｎｔｅｒｃｏｎｎｅｃｔ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ：ＩＣＨ）、サウスブリッジ、およびルートコントローラ／ハブを含む。チップセットという用語はしばしば、２つの物理的に別個のコントローラハブ、すなわち相互接続コントローラハブ（ＩＣＨ）に結合されたメモリコントローラハブ（ＭＣＨ）を示す。現行システムはしばしばプロセッサ２０５に統合されたＭＣＨを含むが、コントローラ２１５は以下の説明と類似の態様でＩ／Ｏデバイスと通信するためのものであることに留意されたい。いくつかの実施形態においては、ルート複合デバイスを通じてピアツーピアルーティングが任意に支援される。
【００２７】
ここでコントローラハブ２１５は、シリアルリンク２１９を通じてスイッチ／ブリッジ２２０に結合される。入出力モジュール２１７および２２１は、インタフェース／ポート２１７および２２１と呼ばれることもあり、これらは層状プロトコルスタックを包含／実現することによって、コントローラハブ２１５とスイッチ２２０との間の通信を提供する。一実施形態においては、複数のデバイスがスイッチ２２０に結合され得る。
【００２８】
スイッチ／ブリッジ２２０は、パケット／メッセージをデバイス２２５から上流へ、すなわちルート複合体に向けて階層を上がってコントローラハブ２１５にルーティングし、加えて下流へ、すなわちルートコントローラから離れて階層を下り、プロセッサ２０５またはシステムメモリ２１０からデバイス２２５にルーティングする。一実施形態におけるスイッチ２２０は、複数の仮想ＰＣＩ対ＰＣＩブリッジデバイスの論理的アセンブリと呼ばれる。デバイス２２５は、電子システムに結合されるあらゆる内部または外部デバイスまたは構成要素、たとえばＩ／Ｏデバイス、ネットワークインタフェースコントローラ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ：ＮＩＣ）、アドインカード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、記憶装置、ＣＤ／ＤＶＤ  ＲＯＭ、モニタ、プリンタ、マウス、キーボード、ルータ、ポータブル記憶装置、ファイアワイヤデバイス、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ：ＵＳＢ）デバイス、スキャナ、およびその他の入出力デバイスなどを含む。ＰＣＩｅ用語ではしばしば、こうしたデバイスをエンドポイントと呼ぶ。特定的に示されていないが、デバイス２２５は、レガシーまたは他のバージョンのＰＣＩデバイスを支援するためのＰＣＩｅ対ＰＣＩ／ＰＣＩ−Ｘブリッジを含んでもよい。ＰＣＩｅにおけるエンドポイントデバイスはしばしば、レガシー、ＰＣＩｅ、またはルート複合体統合エンドポイントとして分類される。
【００２９】
グラフィックアクセラレータ２３０も、シリアルリンク２３２を通じてコントローラ２１５に結合される。一実施形態において、グラフィックアクセラレータ２３０は、ＩＣＨに結合されたＭＣＨに結合される。次いでスイッチ２２０、およびそれに従ってＩ／Ｏデバイス２２５がＩＣＨに結合される。Ｉ／Ｏモジュール２３１および２１８も、層状プロトコルスタックを実現することによってグラフィックアクセラレータ２３０とコントローラハブ２１５との間の通信を行う。上記のＭＣＨの考察と同様に、グラフィックコントローラまたはグラフィックアクセラレータ２３０自体がプロセッサ２０５に統合されてもよい。
【００３０】
図３に移ると、層状プロトコルスタックの実施形態が示される。層状プロトコルスタック３００は、たとえばクイックパスインターコネクト（Ｑｕｉｃｋ  Ｐａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：ＱＰＩ）スタック、ＰＣＩｅスタック、次世代高性能コンピューティング相互接続スタック、またはその他の層状スタックなど、あらゆる形の層状通信スタックを含む。図２〜５を参照したすぐ下の考察はＰＣＩｅスタックに関するが、他の相互接続スタックに同じ概念が適用されてもよい。一実施形態において、プロトコルスタック３００は、トランザクション層３０５と、リンク層３１０と、物理層３２０とを含むＰＣＩｅプロトコルスタックである。たとえば図２のインタフェース２１７、２１８、２２１、２２２、２２６および２３１などのインタフェースが、通信プロトコルスタック３００として表されてもよい。通信プロトコルスタックとしての表現は、プロトコルスタックを実現／包含するモジュールまたはインタフェースと呼ばれてもよい。
【００３１】
ＰＣＩエクスプレスは、構成要素間で情報を通信するためにパケットを用いる。パケットは、送信構成要素から受信構成要素に情報を運ぶためにトランザクション層３０５およびデータリンク層３１０において形成される。送信されたパケットが他の層を流れる際に、それらの層でパケットを処理するために必要な追加情報によってパケットが拡張される。受信側では逆のプロセスが起こり、パケットはその物理層３２０の表現からデータリンク層３１０の表現に変換され、最終的には（トランザクション層パケットに対して）、受信デバイスのトランザクション層３０５によって処理され得る形に変換される。
【００３２】
トランザクション層
一実施形態において、トランザクション層３０５は、デバイスの処理コアと、たとえばデータリンク層３１０および物理層３２０などの相互接続アーキテクチャとの間のインタフェースを提供するためのものである。これに関して、トランザクション層３０５の主要な責務は、パケット（すなわちトランザクション層パケット（ｔｒａｎｓａｃｔｉｏｎ  ｌａｙｅｒ  ｐａｃｋｅｔｓ）またはＴＬＰ）のアセンブリおよび分解（ｄｉｓａｓｓｅｍｂｌｙ）である。トランザクション層３０５は典型的に、ＴＬＰに対するクレジットベースフロー制御を管理する。ＰＣＩｅは、分割トランザクション、すなわち時間によって分離された要求および応答によるトランザクションを実施し、目標デバイスが応答のためのデータを集めている間にリンクが他のトラフィックを運ぶことを可能にする。
【００３３】
加えて、ＰＣＩｅはクレジットベースのフロー制御を用いる。このスキームにおいて、デバイスは、トランザクション層３０５における受信バッファの各々に対するクレジットの初期量を知らせる。たとえば図２のコントローラハブ２１５など、リンクの反対端部の外部デバイスは、各ＴＬＰによって消費されるクレジットの数をカウントする。あるトランザクションがクレジット制限を超えなければ、そのトランザクションは送信されてもよい。応答を受信する際に、クレジットの量は復元される。クレジットスキームの利点は、クレジット制限が生じなければ、クレジット返却の待ち時間が性能に影響しないことである。
【００３４】
一実施形態において、４つのトランザクションアドレス空間は、構成アドレス空間、メモリアドレス空間、入出力アドレス空間、およびメッセージアドレス空間を含む。メモリ空間トランザクションは、メモリのマップされた位置へ／からのデータ移送のための読取り要求および書込み要求のうち１つまたはそれ以上を含む。一実施形態において、メモリ空間トランザクションは２つの異なるアドレスフォーマットを用いることができる。たとえば、３２ビットアドレスなどの短いアドレスフォーマット、または６４ビットアドレスなどの長いアドレスフォーマットなどである。構成空間トランザクションは、ＰＣＩｅデバイスの構成空間にアクセスするために用いられる。構成空間に対するトランザクションは、読取り要求および書込み要求を含む。メッセージ空間トランザクション（または単にメッセージ）は、ＰＣＩｅエージェント間の帯域内通信を支援するために定められる。
【００３５】
したがって一実施形態において、トランザクション層３０５はパケットヘッダ／ペイロード３０６をアセンブルする。現行のパケットヘッダ／ペイロードに対するフォーマットは、ＰＣＩｅ仕様ウェブサイトのＰＣＩｅ仕様に見出され得る。
【００３６】
迅速に図４を参照すると、ＰＣＩｅトランザクション記述子の実施形態が示される。一実施形態において、トランザクション記述子４００は、トランザクション情報を運ぶための機構である。これに関して、トランザクション記述子４００はシステムにおけるトランザクションの識別を支援する。その他の潜在的な使用は、デフォルトトランザクション順序付けのトラッキング修正、およびトランザクションとチャネルとの結合を含む。
【００３７】
トランザクション記述子４００は、グローバル識別子（ｉｄｅｎｔｉｆｉｅｒ）フィールド４０２、属性フィールド４０４およびチャネル識別子フィールド４０６を含む。図示される例において、グローバル識別子フィールド４０２は、ローカルトランザクション識別子フィールド４０８およびソース識別子フィールド４１０を含むことが示される。一実施形態において、グローバルトランザクション識別子４０２はすべての未解決の要求に対して一意である。
【００３８】
一実施に従うと、ローカルトランザクション識別子フィールド４０８は要求中のエージェントによって生成されるフィールドであり、このフィールドは、その要求中のエージェントに対する完了を必要とするすべての未解決の要求に対して一意である。さらにこの例において、ソース識別子４１０はＰＣＩｅ階層内の要求側エージェントを一意に識別する。したがって、ローカルトランザクション識別子４０８フィールドはソースＩＤ４１０とともに、階層ドメイン内のトランザクションのグローバル識別を提供する。
【００３９】
属性フィールド４０４は、トランザクションの特徴および関係を指定する。これに関して、属性フィールド４０４は、トランザクションのデフォルト処理の修正を可能にする追加情報を提供するために用いられる可能性がある。一実施形態において、属性フィールド４０４は優先順位フィールド４１２、予約フィールド４１４、順序付けフィールド４１６およびスヌープなし（ｎｏ−ｓｎｏｏｐ）フィールド４１８を含む。ここで、優先順位サブフィールド４１２はトランザクションに優先順位を割り当てるためにイニシエータによって修正されてもよい。予約属性フィールド４１４は、将来のため、またはメーカの定めた使用のために予約されて残される。優先順位またはセキュリティ属性を用いた可能な使用モデルは、予約属性フィールドを用いて実施されてもよい。
【００４０】
本例において、順序付け属性フィールド４１６は、デフォルト順序付け規則を修正し得る順序付けのタイプを伝える任意の情報を供給するために用いられる。一例に従うと、「０」という順序付け属性はデフォルト順序付け規則が適用されるべきであることを示し、「１」という順序付け属性は緩和された順序付けを示し、ここでは書込みが同じ方向の書込みを渡してもよく、読取りの完了が同じ方向の書込みを渡してもよい。スヌープ属性フィールド４１８は、トランザクションがスヌープされるかどうかを判断するために用いられる。図示されるとおり、チャネルＩＤフィールド４０６は、トランザクションが関連付けられるチャネルを識別する。
【００４１】
リンク層（図３を参照）
リンク層３１０はデータリンク層３１０とも呼ばれ、トランザクション層３０５と物理層３２０との間の中間段階の役割をする。一実施形態において、データリンク層３１０の責務は、リンクの２つの構成要素間でトランザクション層パケット（ＴＬＰ）を交換するための信頼性ある機構を提供することである。データリンク層３１０の一方側は、トランザクション層３０５によってアセンブルされたＴＬＰを受け取り、パケットシーケンス識別子３１１、すなわち識別番号またはパケット番号を適用し、誤り検出コードすなわちＣＲＣ３１２を算出して適用し、修正されたＴＬＰを、物理層を横切って外部デバイスに送信するために物理層３２０に提出する。
【００４２】
物理層
一実施形態において、物理層３２０は論理サブブロック３２１と、パケットを外部デバイスに物理的に送信するための電気サブブロック３２２とを含む。ここで論理サブブロック３２１は、物理層３２０の「デジタル」機能に対する責務を担う。これに関して、論理サブブロックは、物理サブブロック３２２による送信のための出力情報を準備するための送信セクションと、受信した情報をリンク層３１０に渡す前に識別して準備する受信セクションとを含む。
【００４３】
物理ブロック３２２は、送信機および受信機を含む。送信機には論理サブブロック３２１から記号が供給され、送信機はその記号をシリアル化して外部デバイスに送信する。受信機には外部デバイスからシリアル化された記号が供給され、受信機は受信信号をビットストリームに変換する。ビットストリームは非シリアル化されて論理サブブロック３２１に供給される。一実施形態においては８ｂ／１０ｂ送信コードが用いられ、ここでは１０ビットの記号が送受信される。ここでは、フレーム３２３によってパケットをフレーム化するために特殊な記号が用いられる。加えて一例においては、受信機は入ってくるシリアルストリームから回復された記号クロックも提供する。
【００４４】
上述のとおり、ＰＣＩｅプロトコルスタックの特定の実施形態を参照してトランザクション層３０５、リンク層３１０および物理層３２０について考察したが、層状プロトコルスタックはこれに限定されない。実際には、あらゆる層状プロトコルが包含／実現されてもよい。一例として、層状プロトコルとして表されるポート／インタフェースは以下を含む。（１）パケットをアセンブルするための第１の層、すなわちトランザクション層；パケットを配列するための第２の層、すなわちリンク層；およびパケットを送信するための第３の層、すなわち物理層。特定の例として、共通基準インタフェース（ｃｏｍｍｏｎ  ｓｔａｎｄａｒｄ  ｉｎｔｅｒｆａｃｅ：ＣＳＩ）層状プロトコルが用いられる。
【００４５】
シリアルリンクの頻度が増加し、チップがさらに減少したデバイスサイズを伴う新たなプロセス技術に移行するにつれて、プラットフォームおよびシリコンの変動に対応するために送信機および受信機の等化設定を動的に調整する能力を提供することがますます重要になっている。
【００４６】
第３世代ＰＣＩｅ（ＰＣＩｅ  Ｇｅｎｅｒａｔｉｏｎ  ３：ＰＣＩｅ  Ｇｅｎ３）は、ＰＣＩｅを配備する広範なシステムに対する８ＧＴ／ｓでの相互運用性を保証するために、送信機−受信機対に基づく等化を行わなければならないという業界基準の一例である。しかし、異なるプロセス技術によって異なるメーカが製造する、各々固有の送信機／受信機設計および適合すべき固有のハードウェアアルゴリズムを有する広範囲のデバイスのために、相互運用性が保証された構成要素を設計することが課題となっている。
【００４７】
本開示は、上流ポート、下流ポート、またはその両方に適用されてもよい。いくつかの実施形態においては、以下に詳細に説明されるとおり、リンクトレーニングおよび等化手順が２パスを含む。
【００４８】
次に図５を参照すると、ＰＣＩｅシリアルポイントツーポイントファブリック５００の実施形態が示される。ＰＣＩｅシリアルポイントツーポイントリンクの実施形態が示されているが、シリアルポイントツーポイントリンクはシリアルデータを送信するためのあらゆる送信経路を含むため、これに限定されない。図示される実施形態において、基本的ＰＣＩｅリンクは２組の低電圧の差動的に駆動される信号対を含む。すなわち、送信対５０１／５０４および受信対５０２／５０３である。
【００４９】
したがって、デバイス５５０は、データをデバイス５６０に送信するための送信論理５０１と、デバイス５６０からデータを受信するための受信論理５０２とを含む。言い換えると、デバイス５５０に関して、ＰＣＩｅリンクには２つの送信経路すなわち経路５０５および５２５と、２つの受信経路すなわち経路５０６および５２６とが含まれる。
【００５０】
送信経路とは、たとえば送信ライン、銅線、光回線、無線通信チャネル、赤外線通信リンク、またはその他の通信経路など、データを送信するためのあらゆる経路を示してもよい。たとえばデバイス５５０およびデバイス５６０など、２つのデバイス間の接続は、たとえばリンク５３０などのリンクと呼ばれる。いくつかの実施形態において、リンク５３０はＰＣＩｅバスインタフェースリンクである。
【００５１】
リンクは複数のレーンを支援してもよい。各レーンは、差動信号対の組（送信のための一対、受信のための一対）を表す。帯域幅を基準化するために、リンクはｘＮで示される複数のレーンを集合させてもよく、ここでＮはあらゆる支援されるリンク幅、たとえば１、２、４、８、１２、１６、３２、６４、またはそれ以上などである。いくつかの実施形態において、レーンは通信リンク（例、リンク５３０）のチャネルと呼ばれてもよい。さらに、図５の概略図においては、ＰＣＩｅシリアルポイントツーポイントファブリック５００内にただ１つのレーン（５０５／５２５および５０６／５２６の対）が示されている。
【００５２】
ＰＣＩｅリンク５３０は、デバイス５５０、５６０が互いに通信することを可能にしてもよい。本開示のいくつかの実施形態において、デバイス５６０はローカルデバイスであるのに対し、デバイス５５０はリモートデバイスであってもよい。さらに、デバイス５５０またはデバイス５６０のいずれかが、ルート複合デバイスまたはエンドポイントデバイスとして特徴付けられてもよい。たとえばいくつかの実施形態において、デバイス５６０はルート複合デバイスであり、デバイス５５０はエンドポイントデバイスである。特に、デバイス５５０およびデバイス５６０はリンク５３０に沿って互いに通信し得るため、デバイス５５０およびデバイス５６０は互いに対する「リンクパートナー」と呼ばれてもよい。
【００５３】
差動対とは、差動信号を送信するための、たとえばライン５０５および５２５などの２つの送信経路を示してもよい。一例として、ライン５０５が低電圧レベルから高電圧レベルに切り替わる、すなわち立ち上がり端のとき、ライン５２５は高論理レベルから低論理レベルに駆動する（すなわち立ち下がり端）。差動信号はより良好な電気的特性、たとえばより良好な信号完全性、すなわちクロスカップリング、電圧オーバシュート／アンダシュート、リンギングなどを潜在的に示す。これによってより良好なタイミングウィンドウが可能になり、それがより速い送信頻度を可能にする。
【００５４】
加えて、デバイス（例、デバイス５５０またはデバイス５６０）の送信機または受信機構成要素（例、送信論理５０１／５０４、受信論理５０２／５０３）は、設定、調整、最適化などがされてもよい送信機または受信機設定をそれぞれ有してもよい。いくつかの実施形態においては、最小限のデータ損失を伴うデバイス５５０、５６０間の通信能力を達成する目的で、送信機または受信機設定に係数の組が適用されてもよい。
【００５５】
たとえば、ビット誤り率（ＢＥＲ）は、あらゆる特定のレーンまたはリンクに対して一方のデバイスから他方に送信されたデータに対する閾値誤り率を定義してもよい。たとえば、所与のリンクに対するＢＥＲは、特定の通信プロトコルのリンクトレーニングおよび等化手順によって指定される閾値に依存して、１０−４または１０−１２であってもよい。図５に示される実施形態において、リンク５３０の各レーンに対するＢＥＲは１０−１２である。
【００５６】
本開示のいくつかの実施形態に従うと、ビット誤り率（ＢＥＲ）は、不正確に受信されたビット（誤り）の数と、受信されたビットの総数との比率として定義され得ることを通常の当業者は認識するだろう。
【００５７】
いくつかの実施形態において、係数の組は、係数レジスタテーブル５１５に保存された係数データからリモート係数アルゴリズムモジュール５２０内で生成されてもよい。係数が得られると、それらの係数が送信論理５０１／５０４および受信論理５０２／５０３に移送されてもよい（例、図面の経路５０７、５０８）。代替的には、デバイス５５０、５６０の（例、製造者によって提供された）送信機または受信機構成要素のレジスタ内に位置するデフォルト係数の組が、送信および受信論理５０１、５０２、５０３、５０４に適用されてもよい。さらに、ＰＣＩｅを用いる実施形態に従うと、プロトコルの定義するリンクトレーニングおよびステータスステートマシン（Ｌｉｎｋ  Ｔｒａｉｎｉｎｇ  ａｎｄ  Ｓｔａｔｕｓ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ：ＬＴＳＳＭ）状態の際に、係数の組が各リンクパートナーに対する記号（ＴＳ１／ＴＳ２記号）を介して各デバイス５５０、５６０に通信されてもよい。
【００５８】
いくつかの実施形態においては、生成された係数が有限インパルス応答（ｆｉｎｉｔｅ  ｉｍｐｕｌｓｅ  ｒｅｓｐｏｎｓｅ：ＦＩＲ）フィルタに適用されることによって、予め定義された条件に従って、送信論理５０１／５０４または受信論理５０２／５０３が最適な動作をしているかどうかが判断されてもよい。
【００５９】
有利には、リンクトレーニングおよび等化手順において適応ＦＩＲフィルタが用いられることによって、物理チャネル（例、レーンまたはリンク）の特定の属性に従って実行時に係数が識別されてもよい。いくつかの実施形態において、生成された係数の産物、およびもし受信されれば受信されたパルスの組がともに加えられることによって、フィルタを生成する。
【００６０】
最も注目すべきことに、本開示のいくつかの実施形態においては、目標ＢＥＲに達するまで、新たな係数の組が生成されて送信論理５０１／５０４または受信論理５０２／５０３にそれぞれ渡される。たとえば、もし目標ＢＥＲが１０−１２であれば、送信されるデータの誤り率が測定され（例、ＢＥＲアイ５１０）、その結果がリモート係数生成アルゴリズムモジュール５２０に送られ（例、経路５１１）、もし目標ＢＥＲが達成されなければ新たな係数が生成される。目標ＢＥＲが達成されると、新たな係数が生成されて送信論理５０１／５０４および受信論理５０２／５０３に適用されることはない。
【００６１】
本開示は、リンクトレーニングおよび等化のための時間を低減させてその信頼性を増すための機構を提供する。いくつかの実施形態において、本開示に一致するリンクトレーニングおよび等化手順は、送信論理または受信論理設定に適用されるべき係数の組を生成するためのアルゴリズムを実行するソフトウェアアプリケーションを用いてもよい。
【００６２】
いくつかの実施形態において、ソフトウェアアプリケーションは、記憶ユニットまたは構成要素（例、構成およびステータスレジスタ）から、バスインタフェースリンクに結合されたデバイス（例、ルート複合デバイスまたはエンドポイントデバイス）に関連付けられたフルスイング（ｆｕｌｌ  ｓｗｉｎｇ：ＦＳ）値および低頻度（ｌｏｗ  ｆｒｅｑｕｅｎｃｙ：ＬＦ）値を読取り、これらの値をアルゴリズムに入力して、バスインタフェースリンクに結合されたデバイスの送信または受信設定に適用されるべき係数の組を生成する。
【００６３】
いくつかの実施形態において、ソフトウェアアプリケーションは、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ２または３の間にエンドポイントデバイスの送信機構成要素に適用されるべき係数を生成することによって、ルート複合デバイスが目標ＢＥＲを満たし得るようにする。
【００６４】
しかし、さらに他の実施形態においては、以下にさらに詳細に説明されるとおり、フルスイング値および低頻度値から係数の組を生成するために、上流ポートまたは下流ポートのレーンに存在する論理が用いられてもよい。
【００６５】
リンクトレーニングおよび等化は、送信論理５０１／５０４または受信論理５０２／５０３のいずれにおいて行われてもよい。受信された信号はチャネルノイズが混合されていることがあるため、リンクトレーニングおよび等化手順はノイズを加えて、典型的に受信論理５０２／５０３によって特徴付けられていない所与のレーンに関連する信号対ノイズ比（ｓｉｇｎａｌ  ｔｏ  ｎｏｉｓｅ  ｒａｔｉｏ：ＳＮＲ）を下げることがあることを通常の当業者は認識するだろう。したがっていくつかの実施形態において、リンクトレーニングおよび等化は送信機側（例、送信論理５０１／５０４）で有効であってもよい。
【００６６】
図を進めて、図６は、最良のプリセットおよび最適化された送信機係数によるビット誤り率（ＢＥＲ）アイ図のプロットを示す概略図である。ＢＥＲアイプロットとは、電気および光通信信号の直観的な図的表現であることを通常の当業者は認識するだろう。このため、ＢＥＲアイプロットの外観から、通信チャネルにおいて送信および受信された信号の品質が判断されてもよい。ＢＥＲアイプロットは、通信システムが誤りをできる限り少なくしてデータのビットを忠実に送信し得るかどうかの判定の助けとなってもよい。
【００６７】
図６は、最良のプリセット係数によるビット誤り率（ＢＥＲ）アイ６０２のプロット６０１と、最適化された送信機または受信機係数によるＢＥＲアイ６０４のプロット６０３とを示す図である。図示されるとおり、プロット６０１におけるＢＥＲアイ６０２の高さは、プロット６０３におけるＢＥＲアイ６０４の高さよりも低い。ＢＥＲアイの高さはシステムのノイズマージンを定めることを、通常の当業者は認識するだろう。いくつかの実施形態において、ＢＥＲアイがより高いということは、より小さいＢＥＲアイに帰するチャネルノイズよりも通信チャネル内のノイズが低いことを示す。
【００６８】
したがって、本開示のいくつかの実施形態に従うと、プロット６０３のＢＥＲアイ６０４は、最適化された送信機または受信機設定による、通信チャネル内のより低いノイズおよびより低いビット誤り率を示す。代替的に、プロット６０１のＢＥＲアイ６０２は、最良のプリセット係数に帰する通信チャネル内のより大きいノイズおよびより高いビット誤り率を示す。
【００６９】
したがって、最適化された係数の組が送信機または受信機構成要素（例、送信論理または受信論理）に適用されるときに、通信リンクのチャネル（例、バスインタフェースリンクのレーン）においてより低いビット誤り率が達成され得る。そのため、最適化された送信機または受信機係数は通信リンクの特定のチャネルの物理的特徴を考慮に入れる。本開示に一致するシステムおよび方法は、通信システム内のデータ送信性能を高めるためにビット誤り率を低くするために最適な送信機または受信機係数を識別するステップを含む。
【００７０】
図７は、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ０の実施形態を示す概略図７００である。図示されるとおり、ルート複合デバイス７０１およびエンドポイントデバイス７０３の２つの構成要素が、通信リンクの差動対７０５ａ／７０５ｂ（矢印で示される）を介して互いに結合されている。
【００７１】
さらに、ルート複合デバイス７０１およびエンドポイントデバイス７０３は、２つのデバイス７０１、７０３間の通信を可能にするための送信論理（それぞれ７０２ａ、７０４ｂ）および受信論理（７０２ｂ、７０４ａ）を含む。いくつかの実施形態において、ルート複合デバイス７０１およびエンドポイントデバイス７０３は、それぞれ下流ポートおよび上流ポートとして特徴付けられてもよい。
【００７２】
いくつかの実施形態において、（例、ＰＣＩｅリンクトレーニングおよび等化手順の）フェーズ０は、データの第１の組（例、ＴＳ１順序集合、プリセット値、ヒントなど）を上流ポート（例、エンドポイントデバイス７０３）から下流ポート（例、ルート複合デバイス７０１）に送信するステップを含んでもよい。
【００７３】
データは、デバイス７０１、７０３間を第１のデータ送信速度で移送されてもよい。たとえば、第１のデータ送信速度は、ルート複合デバイス７０１に関連付けられた第１の最大データ送信速度およびエンドポイントデバイス７０３に関連付けられた第２の最大データ送信速度以下であってもよい。
【００７４】
本開示のいくつかの実施形態において、第１のデータ送信速度は近似的に、ＰＣＩｅ  Ｇｅｎ１または２に関連付けられた最大データ送信速度である。いくつかの実施形態において、ＰＣＩｅ  Ｇｅｎ１または２に関連付けられた最大データ送信速度は、１秒当り約５ギガトランスファー（Ｇｉｇａｔｒａｎｓｆｅｒｓ）（５ＧＴ／ｓ）であってもよい。
【００７５】
加えて、フェーズ０の間に両方のデバイス７０１、７０３が、各デバイス７０１、７０３に関連付けられた最大データ送信速度を知らせてもよい。さらに、いくつかの実施形態において、両方のデバイス７０１、７０３が特定のＢＥＲにおけるＰＣＩエクスプレスＧｅｎ１または２においてリンクを十分に動作可能にする。たとえば、リンクトレーニングおよび等化手順の次のフェーズに移行する前に、両方のデバイス７０１、７０３が１０−４の最小ＢＥＲによって信号を送信し得ることを示さなければならない。いくつかの実施形態において、もし目標ＢＥＲに達さなければ、リンクはもっと低いデータ送信速度で動作してもよい。
【００７６】
図８は、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ１の実施形態を示す概略図である。図示されるとおり、ルート複合デバイス８０１およびエンドポイントデバイス８０３（送信論理８０２ａ、８０４ｂおよび受信論理８０２ｂ、８０４ａを有する）は、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ１に移行している。
【００７７】
ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ１において、両方のデバイス８０１、８０３は、データの第２の組（例、ＴＳ１順序集合）を交換するために第２のデータ送信速度において通信リンクの各レーンを動作可能にする。いくつかの実施形態において、第２のデータ送信速度は第１のデータ送信よりも速い。たとえば、第２のデータ送信速度は約８ＧＴ／ｓであってもよい。加えてフェーズ１の間に、ＴＳ１順序集合が２つのデバイス８０１、８０３の間で交換されてもよい。
【００７８】
最も注目すべきことに、フェーズ１の間に両方のデバイス８０１、８０３が自身のフルスイング（ＦＳ）および低頻度（ＬＦ）値を知らせる。いくつかの実施形態において、ＦＳ値は送信機構成要素によって生成される最大差動電圧として定義されてもよい。
【００７９】
加えて、本開示のいくつかの実施形態に従うと、送信機または受信機係数の合計はＦＳに等しくなければならない。  ＦＳ＝｜Ｃ−１｜−｜Ｃ−１｜＋｜Ｃ＋１｜
【００８０】
さらに、本開示のいくつかの実施形態に従うと、ＬＦ値は送信機構成要素によって生成される最小差動電圧として定義されてもよい。ＬＦ値は常に最小差動電圧よりも大きくなければならない。  Ｃ０−｜Ｃ−１｜−｜Ｃ＋１｜≧ＬＦ
【００８１】
ＦＳおよびＬＦ値はそれぞれのＴＳ１フィールドに保存されてもよく、ＴＳ１順序集合の交換を介して知らされてもよい。以下に説明されるとおり、ＦＳおよびＬＦ値は、各デバイス８０１、８０３の送信機または受信機設定に適用され得る係数の計算に用いられてもよい。
【００８２】
いくつかの実施形態において、ＦＳおよびＬＦ値が受信されると、それらは各デバイス８０１、８０３内の記憶ユニットに保存される。たとえば、ＦＳおよびＬＦ値は構成およびステータスレジスタに保存される。いくつかの実施形態において、構成およびステータスレジスタはフリップフロップデバイス構成要素として実現されてもよい。
【００８３】
保存の後、本開示は、ＦＳおよびＬＦ値から係数の組（例、Ｃ０、Ｃ−１、Ｃ＋１）を計算するための機構を提供し、これらも構成およびステータスレジスタに保存され得る。いくつかの実施形態において、計算された係数の組は、プリカーソル成分、カーソル成分およびポストカーソル成分を含む。
【００８４】
各デバイス８０１、８０３には多数の構成およびステータスレジスタが存在してもよい。構成およびステータスレジスタの各々は、数十ビットの記憶容量を有してもよい。総計すると、構成およびステータスレジスタは数十万のデータビットの記憶容量を有してもよい。
【００８５】
いくつかの実施形態において、各デバイス８０１、８０３のポート（例、レーン）内には、入力としてのＦＳおよびＬＦ値によって係数の組を決定（例、計算）し得る論理が存在してもよい。最も注目すべきことに、本開示のいくつかの実施形態において、計算された係数の組は、最大ブーストラインに沿った中間点の座標である。
【００８６】
図面を続けて、図９は、送信機または受信機設定に適用され得るプリカーソルおよびポストカーソル係数の組を列挙するテーブル９００を示す概略図である。図示されるとおり、ｘ軸はポストカーソル値を示し、ｙ軸はプリカーソル値を示す。最も注目すべきことに、対角線が最大ブーストライン９０１を定める。最大ブーストは、単一ビット間隔に対する極性反転があるときに現れる主要なブーストとして定義されてもよい。
【００８７】
最大ブーストは、次の等式に従って計算されてもよい。  最大ブースト＝２０ｌｏｇ１０ｖｄ／ｖｂ
【００８８】
最大ブーストまたは最大ブーストラインは一定ではないことが通常の当業者に理解されるべきである。そのため、リセット、ホットプラグ切断／接続のためにリンクが変われば、最大ブースト値または最大ブーストラインが変わり得る。
【００８９】
さらに、テーブル９００は複数のタイル９０３を含む。いくつかの実施形態において、各タイル９０３は係数を表す。加えて、タイル内の数字はプリセットを表し、最大ブーストライン９０１を超えるタイル９０２は不当な係数空間である。
【００９０】
変動する特徴を有するデバイスによって通信リンクを確立する必要があるという事実により、一定の予め定められた送信機または受信機リンクトレーニングおよび等化設定を用いることはできない。そのため、送信機および受信機リンクトレーニングおよび等化係数設定は動的に取り決められる必要がある。
【００９１】
上述のとおり、ＢＥＲアイの高さを示すものとして目標ＢＥＲが達成されるかどうかを定めるために、リモート受信機が用いられる。したがって、最適な係数設定を達成するために、リンクトレーニングおよび等化手順は複数のサイクルを経てもよい。
【００９２】
たとえば、リンクトレーニングおよび等化手順は、送信機または受信機設定に対して、係数３／５に対応する特定のプリセットを適用する。生成されたＢＥＲアイの高さによって示されるとおり、もし目標ＢＥＲが達成されなければ、目標ＢＥＲを満たす送信機または受信機設定を見出すために新たな係数が生成されてもよい。
【００９３】
たとえば、エンドポイントデバイス受信機が、より小さいポストカーソルおよびより大きいプリカーソルを必要とすることが明らかになってもよい。そのために、エンドポイントデバイスは係数（４／４）をリモート複合デバイスに送ってもよい。次に、リモート複合デバイスはその新たな係数（４／４）を送信機設定に適用し、（４／４）をエンドポイントデバイスにエコーする。
【００９４】
エンドポイントデバイスがリモート複合デバイスからの信号を受信すると、その信号はエンドポイントの受信機によって評価される。その評価はたとえば、ポストカーソル値は十分だがもっと大きいプリカーソルが必要であることを定めてもよい。最適な係数値が識別されるまで、このプロセスが続いてもよい。
【００９５】
図１０は、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ２の実施形態を示す概略図である。図示されるとおり、ルート複合デバイス１００１およびエンドポイントデバイス１００３（送信論理１００２ａ、１００４ｂおよび受信論理１００２ｂ、１００４ａを有する）は、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ２に移行している。
【００９６】
フェーズ２において、上流ポート（例、エンドポイントデバイス）は、下流ポート（例、ルート複合デバイス）が通信リンクのすべてのチャネル（例、レーン）において１０−１２以下のＢＥＲが達成されるまでその送信機設定を微調整することを助ける。係数の例示的なリスト（５／５、６／５、７／４）は、最適なリンクトレーニングおよび等化送信機（または受信機）設定を達成するために複数回の反復が行われてもよいことを示す。
【００９７】
図１１は、ＰＣＩｅリンクトレーニングおよび等化手順の従来のフェーズ３プロセスを示す概略図である。図示されるとおり、ルート複合デバイス１１０１およびエンドポイントデバイス１１０３（送信論理１１０２ａ、１１０４ｂおよび受信論理１１０２ｂ、１１０４ａを有する）は、ＰＣＩｅリンクトレーニングおよび等化手順のフェーズ３に移行している。最も注目すべきことに、本開示に一致するシステムおよび方法は、リンクトレーニングおよび等化プロセスのフェーズ３をただ１度の反復によって用いてもよい。
【００９８】
いくつかの実施形態において、下流ポート（例、ルート複合デバイス）内の論理は、上流ポートに関連付けられるＦＳおよびＬＦ値を使用して、上流ポートの送信機構成要素に適用され得る係数の組を計算する。いくつかの実施形態において、計算された係数の組は、最大ブーストラインに沿った中間点の座標であってもよい。
【００９９】
いくつかの実施形態において、ブーストラインの中間点は、下に記載される次のアルゴリズムに従って計算されてもよい。  ケースＡ  ＦＳ＋ＬＦが偶数であって４で割り切れるとき、Ｃ−１＝Ｃ＋１＝絶対値［（ＦＳ−ＬＦ）／４］、およびＣ０＝ＦＳ−Ｃ−１−Ｃ＋１。  たとえば、ＦＳ＝４０およびＬＦ＝２０のとき、Ｃ−１およびＣ＋１＝５ならびにＣ０＝３０である。よって、最大ブーストラインの中間点および計算された係数は｛５，３０，５｝である。
【０１００】
ケースＢ  ＦＳ＋ＬＦが偶数であるが４で割り切れないとき、Ｃ−１＝上限（Ｃｅｉｌ）［（ＦＳ−ＬＦ）／４］、Ｃ＋１＝下限（Ｆｌｏｏｒ）［（ＦＳ−ＬＦ）／４］、およびＣ０＝ＦＳ−Ｃ−１−Ｃ＋１。  たとえば、ＦＳ＝４２およびＬＦ＝２０のとき、Ｃ−１＝６、Ｃ＋１＝５、およびＣ０＝３１である。よって、最大ブーストラインの中間点および計算された係数は｛６，３１，５｝である。
【０１０１】
ケースＣ  ＦＳ＋ＬＦが奇数であり、かつ（ＦＳ−ＬＦ−１＝ＶＡＬ）が４で割り切れるとき、Ｃ−１＝Ｃ＋１＝下限［ＶＡＬ／４］、およびＣ０＝ＦＳ−Ｃ−１−Ｃ＋１。  たとえば、ＦＳ＝４１およびＬＦ＝２０のとき、Ｃ−１＝Ｃ＋１＝５およびＣ０＝３１である。よって、最大ブーストラインの中間点および計算された係数は｛５，３１，５｝である。
【０１０２】
ケースＤ  ＦＳ＋ＬＦが奇数であり、かつ（ＦＳ−ＬＦ−１＝ＶＡＬ）が４で割り切れないとき、Ｃ−１＝上限［ＶＡＬ／４］、Ｃ＋１＝下限［ＶＡＬ／４］、およびＣ０＝ＦＳ−Ｃ−１−Ｃ＋１。  たとえば、ＦＳ＋ＬＦが奇数であり、かつ（ＦＳ−ＬＦ−１＝ＶＡＬ）が４で割り切れないとき、Ｃ−１＝上限［ＶＡＬ／４］、Ｃ＋１＝下限［ＶＡＬ／４］、およびＣ０＝ＦＳ−Ｃ−１−Ｃ＋１。  たとえば、ＦＳ＝４２およびＬＦ＝２３のとき、Ｃ−１＝５、Ｃ＋１＝４、Ｃ０＝３３である。よって、最大ブーストラインの中間点および計算された係数は｛５，３３，４｝である。
【０１０３】
加えて、生成された係数は、予め定められたオフセットか、または予め計算されたオフセットに適用されてもよい。たとえば、ポストシリコンの実験室テストの際に、デバイスの動作が理想よりも低い場合にレーン当りのオフセットが計算されるようにデバイスが特徴付けられてもよい。このため、生成された係数は直接適用されなくてもよく、これらの予め定められたオフセットまたは予め計算されたオフセットを考慮に入れながら適用されてもよい。
【０１０４】
加えて、最大ブーストラインの中間点座標に関連付けられた係数を定めることは出発点であってもよく、各レーンおよびリンクに沿った通信性能を高めるために微調整が行われてもよいことが理解されるべきである。そのため本開示は、中間点座標の出発点を越えて、（誤りのいくらかのマージンを伴う）あらゆる他のブーストラインのあらゆる他の点に行くための柔軟性を提供する。
【０１０５】
たとえば、初期係数が計算されると（例、最大ブーストラインの中間点座標）、本開示のいくつかの実施形態に従って、最大ブーストラインの中間点の中間点座標を表す計算された係数の組に、予め定義された定数または予め定義された定数の組を加えることによって、新たな係数の組が計算されてもよい。
【０１０６】
たとえば、微調整のための新たな係数の組を生成するために適用され得る予め定義された定数は「１」であってもよい。たとえば、計算された係数の組が（３，５，４）であるとき、予め定義された定数「１」を適用することによって、係数の新たな組（４，６，５）が得られるはずであり、これが通信リンクに結合されたデバイスの送信機または受信機設定に適用されてもよい。たとえば、予め定義された定数の組が（１，０，０）であるとき、計算された新たな係数の組は（４，５，４）となるはずである。
【０１０７】
加えて、微調整のために最小平方二乗平均（ｌｅａｓｔ  ｒｏｏｔ  ｍｅａｎ  ｓｑｕａｒｅ：ＬＭＳ）アルゴリズムが用いられてもよい。本開示のいくつかの実施形態において、上流ポートまたは下流ポートの各レーンの中にＬＭＳ能力が予め構成されていてもよい。
【０１０８】
新たな係数の組を計算するために、さまざまな予め定義された定数および／または予め定義された定数の組が適用されてもよいことを通常の当業者は認識するはずである。さらに、レーンまたはリンクの通信性能を微調整するときには、新たな係数の組を生成するために、一意の予め定義された定数の組または係数の組があらゆる順序または反復において適用されてもよい。
【０１０９】
したがって、新たな係数の組は次の等式から生成されてもよい。  １）Ｃｍ［５：０］＝Ｃｍ１［５：０］＋（ｃｓｒ＿ａｄｄ＿プリカーソル＿ワイヤ［２：０］−ｃｓｒ＿ｓｕｂ＿プリカーソル＿ワイヤ［２：０］）  ２）Ｃｐ［５：０］＝Ｃｐ１［５：０］＋（ｃｓｒ＿ａｄｄ＿ポストカーソル＿ワイヤ［２：０］−ｃｓｒ＿ｓｕｂ＿ポストカーソル＿ワイヤ［２：０］）  ３）Ｃ０＝ＦＳ−Ｃｍ−Ｃｐ
【０１１０】
いくつかの実施形態において、構成ステータスおよびレジスタは、元の計算値を加算（ａｄｄ）または減算（ｓｕｂｔｒａｃｔ）して所望の場所に動かすために用いられる、バンドル当りまたはレーン当りの３ビット構成レジスタである。
【０１１１】
さらに、本開示の実施形態は、構成レジスタＦＳ＿閾値をさらに定義する。たとえば、リンクトレーニングおよび等化手順のフェーズ１の間に捕捉されたリンクパートナーのＦＳ値がＦＳ＿閾値よりも大きい場合は、上の等式１、２および３が用いられる。しかし、ＦＳ値がＦＳ＿閾値よりも小さい場合は、プリカーソルおよびポストカーソルの値に対して構成レジスタのｃｓｒ＿ａｄｄおよびｃｓｒ＿ｓｕｂの値が２で割られることによって、より多くの柔軟性が提供される。
【０１１２】
いくつかの実施形態において、本開示に一致するシステムおよび方法は、１度の反復を伴うリンクトレーニングおよび等化手順のフェーズ３を用いることによって、ルート複合デバイスの下流ポートがより効果的かつ効率的になってもよい。
【０１１３】
リンクトレーニングおよび等化手順のフェーズ２が本明細書に記載される方法を用いて、手順のフェーズ２の間に下流ポートに対する係数を生成するように本開示が適合されてもよいことが理解されるべきである。したがって、本開示はリンクトレーニングおよび等化手順のフェーズ３に限定されず、リモートデバイス、ローカルデバイス、リモート複合デバイス、またはエンドポイントデバイスに対する送信機または受信機設定に対する係数を生成するために用いられてもよい。さらに、本開示は必要であれば微調整を可能にできる。
【０１１４】
図１２には、本開示のいくつかの実施形態に一致するリンクトレーニングおよび等化のための方法１２００が示される。いくつかの実施形態において、方法１２００は最初にブロック１２０１に従って、データの第１の組を通信リンクの少なくとも１つのチャネルに沿ってリンクパートナー構成要素から第１の構成要素に通信する。
【０１１５】
データの第１の組は、順序集合、プリセット、ヒント、ＦＳおよびＬＦ値などを含んでもよい。したがって、第１の構成要素はルート複合デバイスまたはエンドポイントデバイスとして特徴付けられてもよく、かつ上流ポートまたは下流ポートを含んでもよい。
【０１１６】
次にブロック１２０２に従って、ＦＳおよびＬＦ値から係数の第１の組を計算する。係数の第１の組は、上述のアルゴリズムに従って計算されてもよい。いくつかの実施形態において、第１の構成要素のリンクパートナーから検索されたＦＳおよびＬＦ値は、第１の構成要素内の記憶エンティティ（例、構成およびステータスレジスタ）に保存される。
【０１１７】
本開示のいくつかの実施形態において、係数の第１の組を計算するためにポートの個々のレーン上の論理が用いられる。いくつかの実施形態において、その論理は、リンクトレーニングおよび等化手順を受けるデバイス（例、ルート複合デバイスまたはエンドポイントデバイス）のポート内に埋め込まれている。
【０１１８】
次に、計算された係数の組は第１の構成要素内の記憶エンティティに保存される（ブロック１２０３）。いくつかの実施形態に対して、計算された係数の組は第１の構成要素のポートに保存される。たとえば、計算された係数の組はポートの構成レジスタに保存されてもよい。
【０１１９】
その直後、第１の構成要素はその計算された係数の組をリンクパートナー構成要素に送る。次に、計算された係数の第１の組を適用してリンクパートナーの送信機構成要素をセットアップする（ブロック１２０４）。
【０１２０】
加えて、本開示のいくつかの実施形態に従うと、通信リンクに関連付けられるビット誤り率が目標ビット誤り率を超えるときに、第１の構成要素から追加のデータが送られてもよい。
【０１２１】
図１３は、本開示の実施形態に一致するリンクトレーニングおよび等化のためのさらに別の方法１３００を示す。いくつかの実施形態において、方法１３００はブロック１３０１から始まる。すなわち、下流ポートを有する第１の構成要素と、上流ポートを有するリンクパートナー構成要素とが、Ｇｅｎ１／Ｇｅｎ２速度で各ポートに各レーンに対する送信機プリセット値および受信機プリセットヒントを通信する。
【０１２２】
次に、第１の構成要素およびリンクパートナー構成要素の両方が、１０−４の最小ＢＥＲに対するＧｅｎ３速度にてリンクを十分に動作可能にする（ブロック１３０２）。
【０１２３】
さらにブロック１３０３は、第１の構成要素がリンクパートナー構成要素に関連付けられるフルスイング値および低頻度値を保存することを提供する。その後、第１の構成要素が、第１の構成要素に関連付けられるフルスイングおよび低頻度値から係数の第１の組を計算し、第１の構成要素の送信機設定を調整する（ブロック１３０４）。
【０１２４】
最後に、方法１３００のブロック１３０５は、第１の構成要素が、リンクパートナー構成要素に関連付けられるフルスイングおよび低頻度値から係数の第２の組を計算し、リンクパートナー構成要素の送信機設定を調整することを提供する。
【０１２５】
したがって方法１３００は、バスインタフェースに結合された単一の構成要素がリンクトレーニングおよび等化手順のフェーズ２および３に対する本開示をどのように実現し得るかの態様を説明するものである。そのために本開示は、バスインタフェースに結合されたデバイス（例、第１の構成要素およびリンクパートナー構成要素）が、リンクトレーニングおよび等化手順の際に構成要素の送信機設定に設定、係数などを適用することの要求を無視してもよいようにできる。
【０１２６】
以下の例は、さらなる実施形態に関する。例の詳細は、１つまたはそれ以上の実施形態のあらゆるところに用いられてもよい。たとえば、本明細書に記載される装置またはシステムのすべての任意の特徴が、本明細書に記載される方法またはプロセスに関して実施されてもよい。
【０１２７】
例１：システムは、第１の構成要素および第１の構成要素のリンクパートナー構成要素が等化を受けることに応答して、第１の構成要素がリンクパートナー構成要素にデータの第１の組を通信することを含んでもよい。第１の構成要素は、等化データの第１の組を受信するための少なくとも１つの受信機を含んでもよい。第１の構成要素はさらに、等化データを保存するために受信機に結合された係数記憶装置を含んでもよい。加えて、等化データの第１の組に基づいて係数の第１の組を生成するために、係数記憶装置に係数論理が結合される。第１の構成要素はリンクパートナー構成要素に係数の第１の組を送る。
【０１２８】
例２：係数の第１の組は、最大ブーストラインに沿った中間点座標を含む。
【０１２９】
例３：第１の構成要素はルート複合構成要素であってもよく、リンクパートナー構成要素はエンドポイント構成要素である。
【０１３０】
例４：リンク構成要素は、ＰＣＩｅバスインタフェースリンクに沿って等化データの第１の組を第１の構成要素に送る。
【０１３１】
例５：等化データの第１の組は、フルスイング値および低頻度値を含む。
【０１３２】
例６：第１の構成要素およびリンクパートナー構成要素が等化手順を受けることに応答して、第１の構成要素はリンクパートナー構成要素にデータの第２の組を通信し、リンクパートナー構成要素はリンクパートナー構成要素の送信機設定に対してデータの第２の組の少なくとも一部を適用する。
【０１３３】
例７：生成された係数の第１の組は、プリカーソル成分、カーソル成分およびポストカーソル成分を含む。
【０１３４】
例８：方法は、通信リンクの少なくとも１つのチャネルに沿ってリンクパートナー構成要素から第１の構成要素にデータの第１の組を通信するステップを含む。データの第１の組は、フルスイング値および低頻度値を含む。フルスイング値および低頻度値は、第１の構成要素の少なくとも１つのレジスタに保存される。フルスイング値および低頻度値から係数の第１の組を計算するための命令を実行する。フルスイング値および低頻度値から係数の第１の組を計算する。計算された係数の第１の組を、第１の構成要素の少なくとも１つのレジスタに保存する。リンクパートナー構成要素の送信機構成要素をセットアップするために、計算された係数の第１の組を適用する。
【０１３５】
例９：データの第１の組は、リンクパートナー構成要素の送信機構成要素をセットアップするための係数の第２の組を含むプリセット値の第１の組と、リンクパートナー構成要素の受信機構成要素をセットアップするための係数の第３の組を含むプリセットヒントの第１の組とを含む。
【０１３６】
例１０：計算された係数の第１の組は、プリカーソル係数、カーソル係数、またはポストカーソル係数の少なくとも１つを含む。
【０１３７】
例１１：リンクパートナー構成要素の送信機構成要素に適用された係数の第１の組は、リンクパートナー構成要素が、各１０１２ビット当り１つ以下の誤りというビット誤り率によって第１の構成要素にデータを送信することを可能にする。
【０１３８】
例１２：計算された係数の第１の組は、ＰＣＩ  Ｇｅｎ３リンクトレーニングおよび等化手順のフェーズ３の間にリンクパートナー構成要素の送信機構成要素に適用される。
【０１３９】
例１３：装置は、リンクトレーニングおよび等化手順を受けることに応答して上流ポートから第１の順序集合を受信する下流ポートを含む。下流ポートは上流ポートからデータを受信するための受信機構成要素を含み、上流ポートは下流ポートにデータを送信するための送信機構成要素を含む。上流ポートおよび下流ポートはリンクパートナーである。第１の順序集合は、上流ポートに関連付けられたフルスイング値および低頻度値を含む。下流ポートは、第１の順序集合のフルスイング値および低頻度値から係数の第１の組を計算するための命令を実行するための論理を含む。下流ポートは、計算された係数の第１の組を保存するための少なくとも１つの構成レジスタを含む。上流ポートは、計算された係数の第１の組を上流ポートの送信機設定に適用する。
【０１４０】
例１４：上流ポートはさらに、計算された係数の第１の組を下流ポートから受信する受信機を含む。
【０１４１】
例１５：計算された係数の第１の組は、単一の構成レジスタに保存される。
【０１４２】
例１６：少なくとも１つの構成レジスタは、フリップフロップ記憶構成要素として実現される。
【０１４３】
例１７：少なくとも１つの構成レジスタ内のデータは、上流ポートのステータスを提供する。
【０１４４】
例１８：上流ポートはタッチ対応ディスプレイデバイスに結合される。
【０１４５】
例１９：バスインタフェースリンクに結合されたデバイスに対するリンクトレーニングおよび等化手順は、第１の構成要素からリンクパートナー構成要素へ、およびリンクパートナー構成要素から第１の構成要素へ、送信機プリセット値の組および受信機ヒントの組を通信するステップと、第１のビット誤り率に対してリンクを動作可能にするように第１の構成要素およびリンクパートナー構成要素を構成するステップと、第１の構成要素内の記憶エンティティにリンクパートナー構成要素に関連付けられるフルスイング値および低頻度値を保存するステップと、第１の構成要素に関連付けられるフルスイング値および低頻度値から係数の第１の組を計算するステップと、係数の第１の組に基づいて第１の構成要素の送信機設定を調整するステップと、リンクパートナー構成要素に関連付けられるフルスイング値および低頻度値から係数の第２の組を計算するステップと、係数の第２の組に基づいてリンクパートナー構成要素の送信機設定を調整するステップとを含む。
【０１４６】
例２０：第１のビット誤り率よりも低い第２のビット誤り率においてリンクを動作可能にするように第１の構成要素およびリンクパートナー構成要素を構成する。
【０１４７】
例２１：第１の構成要素の送信機設定を調整する前に、第１の構成要素の送信機設定にオフセットの組を適用する。
【０１４８】
例２２：第１のビット誤り率は、各１０４ビット当り１ビットである。
【０１４９】
例２３：係数の第１の組は、第１の構成要素のポート内の論理によって計算される。
【０１５０】
例２４：装置は上流ポートを含み、この上流ポートは、データ信号を送信するための送信論理と、下流ポートからデータ信号を受信するための受信論理と、上流ポートに関連付けられるフルスイング値および低頻度値から計算される係数の第１の組を保存するための記憶ユニットとを含む。
【０１５１】
例２５：送信論理は、係数の第１の組を採用してもよい。
【０１５２】
例２６：データ信号を下流ポートに送信するための送信論理。
【０１５３】
例２７：記憶ユニットは６バイトのメモリ容量を有する。
【０１５４】
例２８：非一時的コンピュータ読取り可能媒体は、通信リンクの少なくとも１つのチャネルに沿ってリンクパートナー構成要素から第１の構成要素にデータの第１の組を通信し、ここでデータの第１の組はフルスイング値および低頻度値を含み、ここでフルスイング値および低頻度値は第１の構成要素の少なくとも１つのレジスタに保存され、さらにフルスイング値および低頻度値から係数の第１の組を計算するための命令を実行し、フルスイング値および低頻度値から係数の第１の組を計算し、計算された係数の第１の組を、第１の構成要素の少なくとも１つのレジスタに保存し、リンクパートナー構成要素の送信機構成要素をセットアップするために、計算された係数の第１の組を適用するための方法の機械実行のためのコンピュータ読取り可能命令を保存する。
【０１５５】
例２９：機械読取り可能記憶装置は、実行されるときに、先行する例のいずれかに記載される方法を実施するか、または装置を実現するための機械読取り可能命令を含む。
【０１５６】
例３０：装置は、先行する例のいずれかに記載される方法を行うための手段を含む。
【０１５７】
限られた数の実施形態に関して本開示を説明したが、当業者はそこから多数の修正および変形を認識するだろう。添付の請求項は、こうした修正および変形をすべて、本開示の真の趣旨および範囲内にあるものとしてカバーすることが意図される。
【０１５８】
設計は、作製からシミュレーションおよび製作までのさまざまな段階を経てもよい。設計を表すデータは、その設計をいくつかの態様で表してもよい。第１に、シミュレーションにおいて有用であるとおり、ハードウェアはハードウェア記述言語または別の機能記述言語を用いて表されてもよい。加えて、設計プロセスのいくつかの段階において、論理および／またはトランジスタゲートを有する回路レベルモデルが生成されてもよい。さらに、ほとんどの設計は何らかの段階において、ハードウェアモデルにおけるさまざまなデバイスの物理的配置を表すデータのレベルに達する。従来の半導体製作技術が用いられる場合、ハードウェアモデルを表すデータは、集積回路を生産するために用いられるマスクに対する、異なるマスク層におけるさまざまな特徴の有無を指定するデータであってもよい。設計のあらゆる表現において、データはあらゆる形の機械読取り可能媒体に保存されてもよい。メモリまたは磁気もしくは光学記憶装置、たとえばディスクなどは、こうした情報を送信するために変調されたか、または別様に生成された光学的または電気的な波を介して送信された情報を保存するための機械読取り可能媒体であってもよい。コードまたは設計を表示または保有する電気的搬送波が送信されるとき、電気的信号のコピー、バッファまたは再送が行われる範囲で新たなコピーが作られる。よって、通信プロバイダまたはネットワークプロバイダは、有形の機械読取り可能媒体に少なくとも一時的に、本開示の実施形態の技術を具現化するたとえば搬送波にコード化された情報などの物品を保存してもよい。
【０１５９】
本明細書において用いられるモジュールとは、ハードウェア、ソフトウェアおよび／またはファームウェアのあらゆる組み合わせを示す。一例として、モジュールはたとえば、マイクロコントローラによって実行されるように適合されたコードを保存するための非一時的媒体に関連付けられる、マイクロコントローラなどのハードウェアを含む。したがって、一実施形態におけるモジュールへの言及は、非一時的媒体に保持されるコードを認識および／または実行するように特定的に構成されたハードウェアを示す。さらに、別の実施形態において、モジュールの使用は、予め定められた動作を行うためのマイクロコントローラによって実行されるように特定的に適合されたコードを含む非一時的媒体を示す。加えて推論され得るとおり、さらに別の実施形態においては、（この例における）モジュールという用語がマイクロコントローラと非一時的媒体との組み合わせを示してもよい。しばしば、個別のものとして示されるモジュール境界が共通して変動し、潜在的にオーバラップする。たとえば、第１および第２のモジュールは、何らかの独立のハードウェア、ソフトウェアまたはファームウェアを潜在的に保持しながら、ハードウェア、ソフトウェア、ファームウェア、またはその組み合わせを共有してもよい。一実施形態において、論理という用語の使用は、ハードウェア、たとえばトランジスタ、レジスタ、またはその他のハードウェア、たとえばプログラマブル論理デバイスなどを含む。
【０１６０】
一実施形態において、「ための（ｔｏ）」または「ように構成される（ｃｏｎｆｉｇｕｒｅｄ  ｔｏ）」という語句の使用は、指定または決定されたタスクを行うために装置、ハードウェア、論理、または構成要素の配置、組み立て、製造、販売提案、輸入、および／または設計を行うことを示す。この例において、動作していない装置またはその構成要素も、指定されたタスクを行うように設計、結合、および／または相互接続されれば、前記指定されたタスクを行う「ように構成される」。純粋に例示的な例として、論理ゲートは動作中に０または１を与えてもよい。しかし、クロックにイネーブル信号を与える「ように構成された」論理ゲートは、１または０を与え得るすべての可能な論理ゲートを含まない。代わりにこの論理ゲートは、動作中に１または０の出力がクロックを使用可能にするような何らかの態様で結合されたものである。再び、「ように構成される」という用語の使用は動作を必要とするものではなく、代わりに装置、ハードウェアおよび／または構成要素の潜在的状態に焦点を置くものであり、その潜在的状態にある装置、ハードウェアおよび／または構成要素は、その装置、ハードウェアおよび／または構成要素の動作中に特定のタスクを行うように設計されていることに留意されたい。
【０１６１】
さらに、一実施形態における「できる（ｃａｐａｂｌｅ  ｏｆ／ｔｏ）」および／または「ように動作可能である（ｏｐｅｒａｂｌｅ  ｔｏ）」という語句の使用は、装置、論理、ハードウェアおよび／または構成要素の指定された態様での使用を可能にするような態様で設計された何らかの装置、論理、ハードウェアおよび／または構成要素を示す。上記と同様に、一実施形態における「ための（ｔｏ）」、「できる（ｃａｐａｂｌｅ  ｔｏ）」または「ように動作可能である（ｏｐｅｒａｂｌｅ  ｔｏ）」の使用は、装置、論理、ハードウェアおよび／または構成要素の潜在的状態を示すものであり、ここで装置、論理、ハードウェアおよび／または構成要素は動作していなくても、指定された態様での装置の使用を可能にするような態様で設計されていることに留意されたい。
【０１６２】
本明細書において使用される値は、数、状態、論理状態、または２値論理状態のあらゆる公知の表現を含む。しばしば、論理レベル、論理値または論理的な値の使用も１および０と呼ばれ、これは単に２値論理状態を表すものである。たとえば、１は高論理レベルを示し、０は低論理レベルを示す。一実施形態において、たとえばトランジスタまたはフラッシュセルなどの記憶セルは、単一の論理値または複数の論理値を保持できてもよい。しかし、コンピュータシステムにおける値の他の表現も用いられている。たとえば、１０進数の１０は、２進値の１０１０および１６進法の文字Ａと表されてもよい。したがって、値はコンピュータシステムに保持され得る情報のあらゆる表現を含む。
【０１６３】
さらに、状態は値または値の部分で表されてもよい。例として、たとえば論理１などの第１の値はデフォルトまたは初期状態を表してもよく、一方たとえば論理０などの第２の値は非デフォルト状態を表してもよい。加えて、一実施形態におけるリセット（ｒｅｓｅｔ）およびセット（ｓｅｔ）という用語は、それぞれデフォルトおよび更新された値または状態を示す。たとえば、デフォルト値は潜在的に高論理値すなわちリセットを含むのに対し、更新値は潜在的に低論理値すなわちセットを含む。あらゆる数の状態を表すために値のあらゆる組み合わせが用いられてもよいことに留意されたい。
【０１６４】
上記に示された方法、ハードウェア、ソフトウェア、ファームウェアまたはコードの実施形態は、処理構成要素によって実行可能な、機械アクセス可能、機械読取り可能、コンピュータアクセス可能、またはコンピュータ読取り可能の媒体に保存される命令またはコードを介して実現されてもよい。非一時的な機械アクセス可能／読取り可能媒体は、たとえばコンピュータまたは電子システムなどの機械によって読取り可能な形の情報を提供（すなわち保存および／または送信）するあらゆる機構を含む。たとえば、非一時的機械アクセス可能媒体は、ランダムアクセスメモリ（ＲＡＭ）、たとえば静的ＲＡＭ（ｓｔａｔｉｃ  ＲＡＭ：ＳＲＡＭ）または動的ＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ：ＤＲＡＭ）など、ＲＯＭ、磁気または光学記憶媒体、フラッシュメモリデバイス、電気的記憶装置、光学記憶装置、音響記憶装置、一時的（伝播）信号（例、搬送波、赤外線信号、デジタル信号）から受け取られた情報を保持するためのその他の形の記憶装置などを含み、これらはそこからの情報を受け取り得る非一時的媒体とは区別されるべきである。
【０１６５】
本開示の実施形態を行うための論理をプログラムするために用いられる命令は、たとえばＤＲＡＭ、キャッシュ、フラッシュメモリ、またはその他の記憶装置などの、システム内のメモリに保存されてもよい。さらに、命令はネットワークを介して分配されるか、またはその他のコンピュータ読取り可能媒体によって分配されてもよい。よって、機械読取り可能媒体は機械（例、コンピュータ）によって読取り可能な形の情報を保存または送信するためのあらゆる機構を含んでもよいが、フロッピー（登録商標）ディスケット、光ディスク、コンパクトディスクリードオンリメモリ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ，Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＣＤ−ＲＯＭ）、および磁気光学ディスク、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルリードオンリメモリ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＥＥＰＲＯＭ）、磁気もしくは光学カード、フラッシュメモリ、または電気、光学、音響もしくはその他の形の伝播信号（例、搬送波、赤外線信号、デジタル信号など）を介したインターネット上の情報送信に用いられる有形の機械読取り可能記憶装置に限定されない。したがって、コンピュータ読取り可能媒体は、機械（例、コンピュータ）によって読取り可能な形の電子的命令または情報を保存または送信するために好適なあらゆるタイプの有形の機械読取り可能媒体を含む。
【０１６６】
本明細書全体にわたる「一実施形態」または「実施形態」への言及は、その実施形態に関連して記載される特定の特徴、構造または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。よって、本明細書全体のさまざまな場所に「一実施形態において」または「いくつかの実施形態において」という語句が現れることは、必ずしもすべてが同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造または特性が１つまたはそれ以上の実施形態においてあらゆる好適な態様で組み合わされてもよい。
【０１６７】
前述の明細書においては、特定の例示的実施形態を参照して詳細な説明が与えられた。しかしながら、添付の特許請求の範囲に示される開示のより広い趣旨および範囲から逸脱することなく、そこにさまざまな修正および変更が加えられてもよいことが明らかになるだろう。したがって、明細書および図面は限定的な意味ではなく例示的な意味で考えられるべきである。さらに、前述の実施形態およびその他の例示的言語の使用は、必ずしも同じ実施形態または同じ例を示すものではなく、潜在的に同じ実施形態に加えて、異なる別個の実施形態を示すこともある。
【符号の説明】
【０１６８】
１２０１  データの第１の組を通信リンクの少なくとも１つのチャネルを介してリンクパートナー構成要素から第１の構成要素に通信する  １２０２  フルスイング値および低頻度値から係数の第１の組を計算する  １２０３  計算された係数の第１の組を第１の構成要素の少なくとも１つのレジスタに保存する  １２０４  計算された係数の第１の組を適用してリンクパートナー構成要素の送信機構成要素をセットアップする
【図１】
2014183583.tif 000003
【図２】
2014183583.tif 000004
【図３】
2014183583.tif 000005
【図４】
2014183583.tif 000006
【図５】
2014183583.tif 000007
【図７】
2014183583.tif 000008
【図８】
2014183583.tif 000009
【図９】
2014183583.tif 000010
【図１０】
2014183583.tif 000011
【図１１】
2014183583.tif 000012
【図１２】
2014183583.tif 000013
【図１３】
2014183583.tif 000014
【図６】
2014183583.tif 000015
【外国語明細書】
2014183583000001.pdf