(57)【要約】  階層に配置された２つの別個のハードウェアサブシステムであるように見える２つのソフトウェアビューを呈する単一のハードウェアサブシステムがＰＣＩ型構成を用いて実装される。本発明の実施例によれば、ハードウェア構成（１００）が、単一のハードウェアブロック（１２０）中の２つの実質的に別個の階層サブシステム（１２１、１４６）をエミュレートするように構成される。該エミュレートは、斯かる装置についてのＰＣＩ Ｅｘｐｒｅｓ型のリンク要件に対処しつつ、ＰＣＩ Ｅｘｐｒｅｓｓ型通信リンクへの装置の結合を容易化する。
2007529813.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩ Ｅｘｐｒｅｓｓ型データ通信を用いた利用のための結合されたエンドポイント装置であって、外部ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置ブロック機能を実行するように設定及び構成されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路と、ＰＣＩ Ｅｘｐｒｅｓｓバスと通信するように構成され且つダウンストリームポート機能を実行するように設定及び構成されたＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポート回路と、それぞれが前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路及び前記ＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポート回路によって実装されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置とＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポートとの間のＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクをシミュレートするように構成されたシミュレート回路と、を有する装置。
【請求項２】
前記シミュレート回路及び前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路による利用のための情報を保存するように構成された併合された設定レジスタを更に有し、前記保存された情報は前記ＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクのシミュレーションを容易化する、請求項１に記載の装置。
【請求項３】
前記シミュレート回路は、前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路を専用のＰＣＩ Ｅｘｐｒｅｓｓリンクを持つ外部ブロックとしてシミュレートするためのソフトウェアで実装されたアプリケーションとインタフェース接続するように構成された、請求項１に記載の装置。
【請求項４】
ＰＣＩ Ｅｘｐｒｅｓｓ準拠の装置を特徴付けるレジスタをシミュレートするように設定された少なくとも１つの非機能的レジスタを更に有する、請求項１に記載の装置。
【請求項５】
前記シミュレート回路は、前記少なくとも１つの非機能的レジスタが実装されるレジスタ機能の実装を必要とする、前記結合されたエンドポイント装置とＰＣＩ Ｅｘｐｒｅｓｓ型通信リンクとの間のＰＣＩ Ｅｘｐｒｅｓｓ型通信のため前記少なくとも１つの非機能的レジスタを実装するように構成された、請求項４に記載の装置。
【請求項６】
前記少なくとも１つの非機能的レジスタは、読み取り専用で全てゼロである、請求項４に記載の装置。
【請求項７】
前記非機能的レジスタは、ソフトウェアの観点から存在するように見えるようにシミュレートされる、請求項４に記載の装置。
【請求項８】
前記少なくとも１つの非機能的レジスタは、前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路が外部機能を実行する各外部ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置に対して一意的である、請求項４に記載の装置。
【請求項９】
前記少なくとも１つの非機能的レジスタは、各シミュレートされたＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクに対して一意的である、請求項４に記載の装置。
【請求項１０】
前記少なくとも１つの非機能的レジスタは、少なくとも２つのシミュレートされたＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクの間で共有される、請求項４に記載の装置。
【請求項１１】
前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路は、少なくとも２つのＰＣＩ ＥｘｐｒｅｓｓエンドポイントブロックについてＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置ブロック機能を実行するように設定及び構成され、前記シミュレート回路は、前記少なくとも２つのＰＣＩ Ｅｘｐｒｅｓｓエンドポイントブロックの間の仮想リンクをシミュレートし制御するように構成された、請求項１に記載の装置。
【請求項１２】
前記ＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポート回路は、ＰＣＩ Ｅｘｐｒｅｓｓハブと通信するように構成された、請求項１に記載の装置。
【請求項１３】
前記ＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポート回路は、パーソナルコンピュータ用、サーバ用、及びネットワーク用のうち少なくとも１つのＰＣＩ Ｅｘｐｒｅｓｓ型リンクと通信するように構成された、請求項１に記載の装置。
【請求項１４】
前記シミュレート回路は更に、ＰＣＩ Ｅｘｐｒｅｓｓ−ＰＣＩブリッジと、前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント回路によって実装される複数のＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置ブロックに結合されたＰＣＩバスとを含むものとして前記ＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクをシミュレートするように構成された、請求項１に記載の装置。
【請求項１５】
ＰＣＩ Ｅｘｐｒｅｓｓ型通信を用いた利用のための結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置であって、前記装置は、ＰＣＩ Ｅｘｐｒｅｓｓ準拠を容易化しつつＰＣＩ Ｅｘｐｒｅｓｓスイッチの内部バス上に見えるように構成され、前記装置は、ＰＣＩ Ｅｘｐｒｅｓｓスイッチのダウンストリームポートの機能を実行し、エンドポイント装置の機能を実行し、ＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクによって結合されたダウンストリームポートブロック及びエンドポイント装置ブロックをエミュレートするように設定及び構成されたハードウェアブロックを有し、ここで前記エミュレートされたダウンストリームポートブロックは前記ダウンストリームポート機能を実行し、前記エミュレートされたエンドポイント装置ブロックは前記エンドポイント装置機能を実行し、前記装置は更に、ダウンストリームポート、エンドポイント装置及びＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンク機能をエミュレート及び実行する際に前記ハードウェアブロックによって利用されるための情報を保存するように構成された併合された設定レジスタとを有する装置。
【請求項１６】
ＰＣＩ Ｅｘｐｒｅｓｓ型データ通信を用いた利用のための結合されたエンドポイント装置であって、外部ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置ブロック機能を実行するための外部ブロック手段と、ＰＣＩ Ｅｘｐｒｅｓｓバスと通信しＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポート機能を実行するためのポート手段と、それぞれが前記外部ブロック手段及び前記ポート手段により実装されるＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置とＰＣＩ Ｅｘｐｒｅｓｓダウンストリームポートとの間のＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクをシミュレートするためのシミュレート手段と、を有する装置。
【請求項１７】
中央プロセッサ装置と、前記中央プロセッサ装置とＰＣＩ Ｅｘｐｒｅｓｓスイッチとの間で通信するように設定及び構成されたホストブリッジと、ＰＣＩ Ｅｘｐｒｅｓｓスイッチとを有するＰＣＩ Ｅｘｐｒｅｓｓ通信システムであって、前記ＰＣＩ Ｅｘｐｒｅｓｓスイッチは、アップストリームポートと、バスと、複数のダウンストリームポートと、前記複数のダウンストリームポートの１つに結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置とを有し、前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置及び前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置が結合される前記ダウンストリームポートは、仮想リンクを介して結合された前記ダウンストリームポート及び前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置をエミュレートする単一の回路に含まれるシステム。
【請求項１８】
前記エミュレートされたダウンストリームポート及び前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置の特性をシミュレートするために実装された複数のレジスタを更に有する、請求項１７に記載のシステム。
【請求項１９】
前記複数のレジスタの少なくとも１つが、ＰＣＩ Ｅｘｐｒｅｓｓ型機能をエミュレートするために実装された非機能的レジスタである、請求項１８に記載のシステム。
【請求項２０】
ＰＣＩ−ＰＣＩ Ｅｘｐｒｅｓｓブリッジと、アップストリームポートと、複数のダウンストリームポートとを有するＰＣＩ Ｅｘｐｒｅｓｓ通信システムであって、前記ＰＣＩ−ＰＣＩ Ｅｘｐｒｅｓｓブリッジ、前記アップストリームポート及び前記ダウンストリームポートは、前記ＰＣＩ−ＰＣＩ Ｅｘｐｒｅｓｓブリッジと前記アップストリームポートとの間の仮想リンクをエミュレートし、前記複数のダウンストリームポートを前記アップストリームポートに結合するＰＣＩ Ｅｘｐｒｅｓｓバスをエミュレートする回路に含まれるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には処理型のアプリケーションのための通信に関し、更に詳細には、ＰＣＩ Ｅｘｐｒｅｓｓ型のリンクを用いる通信方法及び装置に関する。
【背景技術】
【０００２】
ＰＣＩ（Peripheral Component Interconnect）は、高速な動作のために拡張スロットが密に配置された、マイクロプロセッサと接続された装置との間の相互接続システムである。ＰＣＩを用いることで、コンピュータが新たなＰＣＩカードをサポートすることができ、一方でより古い規格であるＩＳＡ（industry Standard Architecture）拡張カードをサポートし続けることができる。ＰＣＩは、マイクロプロセッサの設計に依存しないように設計され、マイクロプロセッサのクロック速度と同期されるように設計されている。ＰＣＩは、アドレスとデータ信号との両方を送信するために（マルチドロップバス（multi-drop bus）上の）アクティブパス（active path）を利用し、１つのクロックサイクルでアドレスを、次のサイクルでデータを送信する。ＰＣＩバスは、互いとの及び／又はシステムメモリへの高速アクセスを必要とするアダプタであって、ホストプロセッサの本来の完全なバス速度に近い速度で該ホストプロセッサによってアクセスされることができるアダプタを用いて配置されることができる。ＰＣＩバスを通した読み取り及び書き込み伝送は、最初のサイクルでアドレスで始まり、一定の数の後続するサイクルでデータ伝送のシーケンスが送られる、バースト伝送で実装される。該バーストの長さは、開始側と目標装置との間で取り決められ、いずれの長さのものであっても良い。ＰＣＩ型のアーキテクチャは広く実施化されており、今日殆どのデスクトップ型コンピュータにインストールされている。
【０００３】
ＰＣＩ Ｅｘｐｒｅｓｓアーキテクチャは、一定の変更を伴いつつも、ＰＣＩアーキテクチャと類似性を示す。ＰＣＩ Ｅｘｐｒｅｓｓアーキテクチャは、ＰＣＩアーキテクチャのマルチドロップバスを、入出力（Ｉ／Ｏ）バス用のファンアウトを提供するスイッチに置き換えるスイッチを利用する。前記スイッチのファンアウト機能は、増設の高性能Ｉ／Ｏのための一連の接続を容易化する。前記スイッチは、同様にホストブリッジを含む構成要素内に実装され得る論理素子である。ＰＣＩスイッチは論理的に、例えば、１つのブリッジが付加的なＰＣＩ−ＰＣＩブリッジの群のダウンストリーム側を介してアップストリーム側へとプライベートのローカルバスに接続されたアップストリームブリッジである、ＰＣＩ−ＰＣＩブリッジの集合として考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＰＣＩ Ｅｘｐｒｅｓｓは、エンドポイント（endpoint）型の装置に用途が限られ、斯かる装置は一般に内部バス上に存在することが可能ではない。特に、ＰＣＩ Ｅｘｐｒｅｓｓは、エンドポイント装置（タイプ００ｈの設定空間ヘッダによって表される）が、ＰＣＩ Ｅｘｐｒｅｓｓスイッチの内部バス上の設定（configuration）ソフトウェアに対して、スイッチダウンストリームポートを表す仮想的なＰＣＩ−ＰＣＩブリッジのピアとして見えないことを必要とする。加えて、スイッチダウンストリームポートを表すＰＣＩ−ＰＣＩブリッジのみが内部バス上に現れ、タイプ０の構成空間ヘッダにより表されるエンドポイントは内部バス上に現れないことがあり得る。
【０００５】
これらの及び他の制限が、ＰＣＩ Ｅｘｐｒｅｓｓ通信を用いる結合された装置の実装に課題を与えている。
【０００６】
本発明の種々の態様は、相互接続型構造（例えばＰＣＩ構造）等を含む回路のような、種々のコンピュータ回路のためのテスト手法を含む。本発明は、幾つかの実装及び用途で例示され、その幾つかが以下に要約される。
【課題を解決するための手段】
【０００７】
本発明の実施例によれば、エンドポイント装置が、ＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクを介してエンドポイント装置に結合されたスイッチのダウンストリームポートをエミュレートするように設定及び構成される。前記エンドポイント装置はＰＣＩ Ｅｘｐｒｅｓｓスイッチのバスに結合され、前記エミュレーションは、エンドポイント装置がバス上に実装されることを制約するＰＣＩ Ｅｘｐｒｅｓｓの実装と適合する。この手法により、一般に最小限の付加的な論理回路を伴い、典型的にＰＣＩ Ｅｘｐｒｅｓｓにおいて実施される結合された装置を許容しない規則に反することなく、１以上の装置がＰＣＩ Ｅｘｐｒｅｓｓのハブ内に存在することができる。加えて、本手法は、ＰＣＩ Ｅｘｐｒｅｓｓの要件に完全に適合しつつ、１以上の装置をＰＣＩ Ｅｘｐｒｅｓｓのハブ内に実装することを容易化する。
【０００８】
本発明の他の実施例によれば、ＰＣＩ Ｅｘｐｒｅｓｓ通信システムが、エンドポイント装置のＰＣＩ Ｅｘｐｒｅｓｓに準拠したリンクへの直接の結合を容易化する。本システムは、中央プロセッサ装置と、ホストブリッジに通信可能に結合されたＰＣＩ Ｅｘｐｒｅｓｓスイッチとを含む。前記ＰＣＩ Ｅｘｐｒｅｓｓスイッチは論理的に、アップストリームポート、バス、及び複数のダウンストリームポートを含み、前記アップストリームポートはホストブリッジに結合され、前記ダウンストリームポートは１以上のＰＣＩ Ｅｘｐｒｅｓｓ型エンドポイント装置に結合される。前記ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置及び該装置が結合されるダウンストリームポートは、仮想リンクを介して結合されたダウンストリームポート及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置をエミュレートする単一の回路に含まれる。
【０００９】
以上の本発明の要約は、本発明の各実施例又は全ての実装を記載することを意図したものではない。以上の本発明の要約は、本発明の説明された各実施例又は全ての実装を記載することを意図したものではない。以下の図及び詳細な説明が、これら実施例をより詳細に例示する。
【００１０】
本発明は、添付図面と関連する以下の本発明の種々の実施例の詳細な説明を考慮して、より完全に理解され得る。
【発明を実施するための最良の形態】
【００１１】
本発明は種々の変形例及び代替の形態に適用可能であるが、本発明の詳細が例として図において示され以下に詳細に説明される。しかしながら、記載された実施例にのみ本発明を限定する意図ではないことは理解されるべきである。それどころか、添付される請求項によって定義される本発明の範囲内である全ての変更、同等例、代替例をカバーすることが意図される。
【００１２】
本発明は、電子通信を含む種々の回路及び手法に適用可能であり、特にエンドポイント型装置と通信バス（例えばＰＣＩ Ｅｘｐｒｅｓｓハブ内の）との間の通信を含むものに適用可能であると考えられる。本発明は必ずしも斯かる用途に限定されるものではないが、本発明の種々の態様の理解は、斯かる環境における例を議論することにより最も良く得られる。
【００１３】
本発明の実施例によれば、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置が、ＰＣＩ Ｅｘｐｒｅｓｓリンクをシミュレートし、ＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクを介してエンドポイント装置に接続されたスイッチのダウンストリームポートをエミュレートする。前記ＰＣＩ Ｅｘｐｒｅｓｓリンクは、ＰＣＩ Ｅｘｐｒｅｓｓバスが通信するＰＣＩ型のリンク（例えばＰＣＩ−ＰＣＩ Ｅｘｐｒｅｓｓブリッジ）をエミュレートする。本手法を用いて、ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置が、該エンドポイント装置とＰＣＩ Ｅｘｐｒｅｓｓバスとの間のＰＣＩ Ｅｘｐｒｅｓｓ準拠のリンクの存在をシミュレートしつつ、該ＰＣＩ Ｅｘｐｒｅｓｓバスに接続されることができる。加えて、本手法は、スイッチのダウンストリームポートを介して前記バスに接続されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置と共に前記結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置を実装することを容易化する。
【００１４】
一実施例においては、前記結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置は、ＰＣＩ Ｅｘｐｒｅｓｓ規格の要件を満たしつつ、ＰＣＩ Ｅｘｐｒｅｓｓハブの内部バスへの接続を容易化するレジスタを持つ。特に、ＰＣＩ Ｅｘｐｒｅｓｓ装置は、実質的に２つの別個の装置（ダウンストリームスイッチポート及びエンドポイント装置）に見えるようにレジスタを利用する結合されたエンドポイント装置であり、エンドポイント装置が内部バス上に現れることの一般的な禁止に関するＰＣＩ Ｅｘｐｒｅｓｓ規定の要件に準拠することを容易化する。
【００１５】
ソフトウェアの観点からエミュレートするレジスタは、各仮想装置に対して一意的であるレジスタ、仮想装置間で共有されるレジスタ、読み取り専用で全てゼロであるレジスタ（機能的に実装されるものではなく、ソフトウェアの観点から存在するように見えるもの）、最小のリンクエミュレーションロジックを用いて、実際のリンクが存在しているかのように見せかける仮想装置間の仮想リンクを制御するレジスタ、のうち１以上のものである。機能的に実装されていないレジスタが、ＰＣＩ規格の要件に対処しつつ、一般に装置とハブとの間の仮想リンクの単純さを損なわないような態様で、ＰＣＩ Ｅｘｐｒｅｓｓ装置の実装を容易化する。例えば、機能的でないレジスタが、ＰＣＩ Ｅｘｐｒｅｓｓ規格に準拠する仮想リンクをエミュレートするために実装される。幾つかの例においては、上述したレジスタの１以上が、上述のカテゴリの組み合わせを禁ずるフィールドを含む。斯かる例においては、単一のレジスタが、非機能的な読み取り専用のゼロフィールド／ビットと、機能的に利用されるフィールドとを含む。
【００１６】
ここで図１を参照すると、図１は、本発明の他の実施例による、内部ＰＣＩ ＥｘｐｒｅｓｓバスとのＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置の結合のために構成されたＰＣＩ Ｅｘｐｒｅｓｓ装置１００を示す。装置１００は、バス１３２に結合されたアップストリームポート１３０を持つＰＣＩ Ｅｘｐｒｅｓｓスイッチ（即ちスイッチの論理的な実装）と、複数のダウンストリームスイッチポート１４０、１４２、１４４、１４６及び１４８とを含む。前記スイッチのアップストリームポート１３０及びバス１３２は、例えば同様にホストブリッジを含む構成要素内に実装されても良い。結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２０は、論理的な観点から、仮想リンク１１０によってＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２１に結合されたスイッチ１４６のダウンストリームポートを含む。具体的には、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２０は、（仮想リンク１１０によって）階層的に連結された２つの別個のブロック（ダウンストリームポート１４６及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２０）をシミュレートするように構成された単一のブロックである。例えば、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２０に類似する特性を持つ、他の結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２２（仮想リンク１１２を介してＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２３に結合されたダウンストリームポート１４８をシミュレートする）が示されている。
【００１７】
ソフトウェアの観点から見ると、ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２１は実質的に、専用のＰＣＩ Ｅｘｐｒｅｓｓリンク（仮想リンク１１０）によって（内部バス１３２に接続された）ダウンストリームポート１４６に接続された外部ブロックとして見える。仮想リンク１１０は、専用のＰＣＩ Ｅｘｐｒｅｓｓリンクとして見える一方、専用のＰＣＩ Ｅｘｐｒｅｓｓリンクと異なる機能要件を持つ。例えば、該リンクは仮想的なものであるため仮想リンク１１０の両端の接続をシリアル化する必要はなく、エラー回復を提供する必要もなく、２つのチップ間を交差する物理論理レイヤ又は物理電気レイヤ機能の必要もない。内部の仮想リンク１１０及び１１２の利用は、ＰＣＩ Ｅｘｐｒｅｓｓリンクを管理及び制御するために通常必要とされる機能の多くの必要性を軽減する。
【００１８】
一実施例においては、仮想リンク１１０は、専用のＰＣＩ Ｅｘｐｒｅｓｓリンクを利用するＰＣＩ Ｅｘｐｒｅｓｓ機能の実装のために一般に必要とされる論理回路を低減及び／又は除去する。例えば、専用のＰＣＩ Ｅｘｐｒｅｓｓリンクに一般に必要とされるような、仮想リンク１１０により提供される両方の論理エンドポイント（ダウンストリームポート１４６及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２１）のトランザクション層、データリンク層及び物理層に関連する機能は必要とされない。専用のＰＣＩ Ｅｘｐｒｅｓｓリンクに関連して実装される上述の機能に関して、及び「ＰＣＩ Ｅｘｐｒｅｓｓ準拠の」アプリケーションに関しての更なる情報については、「PCI Express Base Specification Revision 1.0a」（2003年4月、PCI-SIG（PCI-special interest group）、Portland、Oregon）を参照されたい。該「PCI Express Base Specification」に準拠する手法が、「ＰＣＩ Ｅｘｐｒｅｓｓ準拠」と考慮される。
【００１９】
他の実装においては、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置１２０は、ダウンストリームポート（１４６）用とエンドポイント（１２１）機能用のビットを共有する設定レジスタを含む。このようにしてビットを共有することは、実際の２つの別個のブロック間の専用ＰＣＩ Ｅｘｐｒｅｓｓリンクを利用しては利用不可能な効率性の度合いを容易化し、かくして斯かる専用のＰＣＩ Ｅｘｐｒｅｓｓリンク構成により示されるものと比較して複雑性を低減させる。本手法を用いることにより、ＰＣＩ Ｅｘｐｒｅｓｓ通信用に実装されるソフトウェアドライバとの整合性を維持するために、比較的少ないレジスタビットのみが必要とされる。以下の図４Ａ乃至６は、シミュレート用構成要素、リンク、及び他の目的のためのＰＣＩ Ｅｘｐｒｅｓｓ構成１００と共に実装され得るレジスタ及び他の構成要素を議論する。
【００２０】
図２は、本発明の他の実施例による、装置−ＰＣＩ Ｅｘｐｒｅｓｓの結合のために構成されたＰＣＩ Ｅｘｐｒｅｓｓ構成２００を示す。図２に示された実施例は、図１に示されたものと類似し、ここでは（各仮想リンクがバスを単一のＰＣＩエンドポイント装置に結合するのではなく）複数のＰＣＩ装置が単一の仮想リンク２１０によってバスに結合されている。スイッチのアップストリームポート２３０は、ＰＣＩ Ｅｘｐｒｅｓｓバス２３２によってダウンストリームポート２４０、２４２、２４４及び２４６に結合され、ダウンストリームポート２４６は、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント構成２２０内に組み込まれる。
【００２１】
結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント構成２２０は、仮想リンク２１０及び仮想（ＰＣＩ）バス２５２により結合された別個の構成要素をシミュレートする回路ブロックを含む。具体的には、装置２６０、２６２及び２６４を含む複数のＰＣＩ装置が、仮想バス２５２によって、ＰＣＩ Ｅｘｐｒｅｓｓ−ＰＣＩ（PCI Express to PCI）ブリッジ構成要素２５０に結合される。ＰＣＩ Ｅｘｐｒｅｓｓ−ＰＣＩブリッジ１５０は、仮想リンク２１０によって、ダウンストリームポート２４６に結合される。本手法を用いることにより、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント構成２２０が、（内部）ＰＣＩ Ｅｘｐｒｅｓｓバス２３２上に存在することができる。なぜなら、シミュレートされる構成要素及び仮想リンク（及びバス）が、ＰＣＩ Ｅｘｐｒｅｓｓの要件に準拠するからである。図１と共に以上に議論されたように、図示された前記シミュレートされた構成要素と類似した態様でＰＣＩ Ｅｘｐｒｅｓｓバスに結合された別個の構成要素と共に必要とされる種々の構成要素は、比較的より複雑であり、従って結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント構成２２０よりも多くのリソースを必要とする。これらの構成要素（例えばレジスタ）を単一のブロックへと組み合わせることにより、同じ装置を別個のブロックで実装することに比較して、より少ない構成要素が利用される。加えて、ＰＣＩ Ｅｘｐｒｅｓｓ構成２００を制御するために、比較的単純な従来のソフトウェアモデルが実装されることができ、複数のＰＣＩ装置が利用される場合に特に有用である。
【００２２】
図３は、本発明の他の実施例による、装置−ＰＣＩ Ｅｘｐｒｅｓｓの結合のために構成されたＰＣＩ Ｅｘｐｒｅｓｓ構成３００を示す。本実施例においては、ＰＣＩ Ｅｘｐｒｅｓｓ−ＰＣＩブリッジ３８０よりも下位の階層において、ＰＣＩ Ｅｘｐｒｅｓｓハブ（仮想ＰＣＩ Ｅｘｐｒｅｓｓバス３３２を伴う）が配置される。具体的には、ＰＣＩ Ｅｘｐｒｅｓｓ−ＰＣＩブリッジ３８０は、ＰＣＩバス３３４によって、結合されたＰＣＩ装置３７２、３７４及び３７６、並びに結合された構成３２０に結合される。
【００２３】
結合された構成３２０は、仮想リンク３１０及びＰＣＩ Ｅｘｐｒｅｓｓバス３３２により結合された別個のブロックをシミュレートする機能を持つ単一のブロックである。具体的には、ＰＣＩ−ＰＣＩ Ｅｘｐｒｅｓｓ（PCI to PCI Express）ブリッジ３２０が、仮想リンク３１０によって、スイッチのアップストリームポート３３０に結合される。アップストリームポート３３０は、ＰＣＩ Ｅｘｐｒｅｓｓバス３３２によってダウンストリームポート３４０、３４２及び３４４に結合される。これら構成要素のうち種々のものは、例えば図１における同様の構成要素に関連して議論されたものと類似する態様で実装されても良い。例えば、仮想リンク３１０は、仮想リンク１１０に類似した態様で実装されても良い。加えて、共有される設定レジスタが、図１のものと類似した態様で（及び図４Ａ乃至６と関連して以下に説明されるように）実装されても良い。本手法を用いることにより、ＰＣＩ Ｅｘｐｒｅｓｓ準拠の方法が容易化され、ＰＣＩ Ｅｘｐｒｅｓｓ型ソフトウェアが正常に構成をエミュレートする。
【００２４】
図４Ａ乃至４Ｃは、本発明の他の実施例による、結合された装置４２０のソフトウェア及び実装の図を示す。結合された装置４２０は、仮想リンク４１０を介して結合されたダウンストリームポート４４６及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント４２１を含む、シミュレートされたブロックを持つ。仮想リンク４１０は例えば、図１、２及び３にそれぞれ示された仮想リンク１１０、２１０及び３１０と関連して、これらリンクが接続するシミュレートされたブロックと共に実装されても良い。仮想リンク４１０は、ソフトウェアに対して実際のＰＣＩ Ｅｘｐｒｅｓｓリンクであるように見え、対応してダウンストリームポート４４６及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント４２１は別個のブロックであるように見える。仮想リンク４１０は、低電力モデルにおいて配置されることができ、設定レジスタの２つの完全なセットを持つように見え、ソフトウェアに対してあらゆる点で完全に機能的なリンクであるように見える。しかしながら、トランザクション層、データリンク層及び物理層を含む一般的なＰＣＩ Ｅｘｐｒｅｓｓ構成要素は実装されない。これらの代わりに、設定の観点からこれらの機能の動作をエミュレートする小さな論理回路のブロックが実装される。
【００２５】
ソフトウェアの観点から、図４Ｂ及び４Ｃに示されるようなＰＣＩ Ｅｘｐｒｅｓｓリンクのレイヤは、ソフトウェアが完全に機能的なリンクを認識するように見える程度にエミュレートされる。該エミュレートは、例えばエラーが起こらず全てのブロックが既に準備状態であることを仮定することにより単純化され得る。幾つかの場合においては、シミュレーションの複雑さを低減させるために、最小限の機能がサポートされる。例えば、スロット及び任意の電力管理がサポートされないままとされ、任意の拡張レジスタが利用不可能なままとされても良い。
【００２６】
図４Ｂを参照すると、ダウンストリームポート設定レジスタ４７２及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置設定レジスタ４７４を伴う、図４Ａの結合された装置４２０のダウンストリームポート４４６及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置４１０についてのソフトウェア図が示されている。ダウンストリームポート層は、アダプタ４８０、トランザクション層４８１、データリンク層４８２及び物理層４８３を含む。ＰＣＩ Ｅｘｐｒｅｓｓエンドポイント層は、物理層４８４、データリンク層４８５、トランザクション層４８６及びＩＰ４８８（ビデオ装置、オーディオ装置又はディスクコントローラのような知的所有権のアプリケーションブロック）に結合されたアダプタ４８７を含む。アダプタ４８０及び４８７は、ＩＰバスとパケットとの間で変換し、設定レジスタへのアクセスを提供し、割り込みのためのメッセージを生成する。
【００２７】
図４Ｃは、アダプタ４９０及びＩＰ４９８、並びにアダプタ４９０に結合された仮想リンク設定レジスタ４７６を伴う、結合された装置４２０の仮想リンク４１０のソフトウェア図を示す。仮想リンク設定レジスタ４７６は、トランザクションエミュレートレジスタ４９１、データリンクエミュレートレジスタ４９２、物理エミュレートレジスタ４９３、物理エミュレートレジスタ４９４、データリンクエミュレートレジスタ４９５、及びトランザクションエミュレートレジスタ４９６を含む。
【００２８】
トランザクション層、データリンク層及び物理層のそれぞれは実装されない（例えばヌル（null）ブロックである）が、ＰＣＩ Ｅｘｐｒｅｓｓとの準拠のためシミュレートされる。データリンク層４８２及び４８５のエミュレートのため、リンクのディスエーブル状態がアサートされたことに応答して、アダプタ４８０及び４８７がそれぞれディスエーブルにされる（いずれの新たなサイクルを生成することを禁止される）。
【００２９】
物理層４８３及び４８４のエミュレートのため、ＰＭＥ＿ＴＯ＿Ａｃｋメッセージが生成され、ハブが全てのＰＭＥ＿ＴＯ＿Ａｃｋを収集することを可能とすることを支援し、ソフトウェア図において表される階層において上方に該収集されたバージョンの返すことを完了する。該ＰＭＥ＿ＴＯ＿Ａｃｋメッセージを用いたエミュレートは、例えば該階層の最上位におけるプロセッサにより送信されたＭＰＥ＿Ｔｕｒｎ＿Ｏｆｆメッセージによって起動されるシャットダウン処理を含んでも良い。各エンドポイント装置は、スイッチオフの準備ができた場合に、ＰＭＥ＿ＴＯ＿Ａｃｋメッセージを生成することにより、ＰＭＥ＿Ｔｕｒｎ＿Ｏｆｆメッセージに応答する。これらのＰＭＥ＿ＴＯ＿Ａｃｋメッセージは前記ハブにおいて収集され、該ハブは、該ハブの下位にある全ての装置がＰＭＥ＿ＴＯ＿Ａｃｋメッセージを用いて応答した場合に、単一のＰＭＥ＿ＴＯ＿Ａｃｋメッセージにより前記プロセッサ（又は他の上位の装置）に応答する。
【００３０】
一実施例においては、ＰＣＩ Ｅｘｐｒｅｓｓハブ（例えば図１で実装される場合バス１３２を含む）は、仮想ポートが応答せず該ポートへの依存性が除去されるという仮定により機能する。例えば、特定のポートが非機能的装置用のものである場合、該非機能的装置がスイッチオフされる準備ができることを待つ必要はない。なぜなら、該装置は常にスイッチオフされる準備ができているからである。本例においては、前記ハブは、前段で議論されたように、上位装置に対してＰＭＥ＿ＴＯ＿Ａｃｋメッセージを生成する前に当該仮想ポートが応答することを待機しない。物理層は、任意である設定の概要において提示される定数の多くを持つ準備状態及び設定された状態へと電力を上げる。これに関し、一般的なＰＣＩ Ｅｘｐｒｅｓｓ実装に関連するＬＩ出口時間関数（物理層が低電力状態から回復するのに要する時間）は、一般に仮想装置のために利用されない。実際のトレーニング時間はゼロであるため、物理層はいずれの遅延もなく遷移する。ソフトウェアは自律的なアクティブ状態電力管理の観点を持たないため、アクティブ状態の状況は非実用的である。従って、アクティブ状態の状況は無視され、構成４７０の振舞には影響を与えない。ＰＣＩ Ｅｘｐｒｅｓｓの「Ｄ」状態（「Ｌ」ハードウェア状態を設定したソフトウェア状態）は、読み取り／書き込みレジスタとして実装され、要求される状態が即座に選択される（Ｄ０及びＤ３状態がサポートされる）。加えて、ＰＣＩ Ｅｘｐｒｅｓｓ型の要求「ＰＭ＿Ａｃｔｉｖｅ＿Ｓｔａｔｅ＿Ｒｅｑｕｅｓｔ＿Ｌ１」は一般に生成されない。
【００３１】
図５は、本発明の他の実施例による、（例えば図４に示された図に類似する）仮想リンク４１０の他のソフトウェア実装図を示す。アダプタ５９０及びＩＰ５９８が仮想リンク設定レジスタ５７６と共に機能し、仮想リンク４１０が分離するダウンストリームポート４４６及びＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置４２１をエミュレートする。アップリンク及びダウンリンクエミュレート状態機械５９２及び５９４が、トランザクション層、データリンク層及び物理層の機能をエミュレートするために設定ビットと相互作用する。幾つかの例において、アップリンク及びダウンリンクエミュレート状態機械５９２及び５９４は、全ての層について単一のエミュレーションブロックへと結合される。
【００３２】
以上の図に示され議論されたレジスタは、１以上の種々の構成を用いて実装される。本発明の一実施例においては、１以上の設定レジスタが組み合わせられる。例えば図４Ｂを参照すると、トランザクション層４８１用のレジスタとデータリンク層４８２用のレジスタとが組み合わせられる。シミュレーションの目的のため実装される非機能的レジスタ及びビットは設計によりゼロであり、実装されないレジスタは設計によりゼロを返す。
【００３３】
一実施例においては、レジスタ及び付随する回路は、選択が為されていない場合にはゼロ結果が生成される（即ち、定義されていない場合又は１が選択されていない場合）ように設定される。本手法は例えば、各多重通信回路において入力を０専用にすることにより、又はより単純には、レジスタを選択するために標準的な「ＡＮＤ」「ＯＲ」木を利用することにより実装されることができる。該「ＡＮＤ」「ＯＲ」木においては、１つのレジスタは、ＡＮＤゲートを介して選択された出力部を持つ。全てのレジスタ出力は「ＯＲ」をとられ、その結果が選択されたゲートである。どのゲートも選択されていな場合、全ての「ＯＲ」入力が０であり、実装されていないいずれのレジスタものゼロ結果を保証する。同様に、実装されたレジスタ中の全ての非実装ビットは「０」を返す。
【００３４】
実装されるべきレジスタ（例えば共有レジスタ、スイッチポートレジスタ、又は装置レジスタ）は、１以上の種々の態様で選択される。例えば、幾つかのレジスタは、スイッチポート用の一意的なレジスタと、装置用の一意的なレジスタとを持つ。スイッチポートレジスタは、設定サイクルがタイプ０であり、宛先アドレスが前記スイッチポートの装置番号と合致する場合に選択される。装置レジスタは、設定サイクルがタイプ１であり、スイッチポートのプログラムされたバス範囲内にあり、装置の識別情報（ＩＤ）に合致する場合に選択される。タイプ１のサイクルからタイプ０のサイクルへは、ＰＣＩ要件に合致する態様で遷移する。共有レジスタは、スイッチポート及び装置レジスタを含む上述の２つのメカニズムを用いて「ＯＲ」を実装することにより選択される。
【００３５】
以上に議論された手法に類似する手法を利用して実装されることができる共有レジスタの１つのタイプは、ベンダ（vendor）ＩＤレジスタである。該レジスタは、スイッチポートレジスタ又は装置レジスタのいずれかが読み取られる場合に選択される。このことは、レジスタテーブルにおいてＤスイッチ列及び装置列の両方にＸを持つ単一のエントリによって示される。種々の他のタイプの共有レジスタが同様に実装されても良い。
【００３６】
図６は、本発明による他の実施例による、コマンドレジスタ構成６００を示す。コマンドレジスタは、２つの別個の仮想レジスタ（別個の仮想レジスタを含む同様な態様で容易に実装される他のタイプのレジスタと共に）の例として利用される。ＰＣＩ Ｅｘｐｒｅｓｓについては、ビット１５乃至１１、９、７、及び５乃至２が読み取り専用ビットであり実装されない。それ故、これらのビットは常に全てゼロを返す。ビット１０（割り込み許可）は、割り込みの伝搬をディスエーブル又はイネーブルにするために利用されることができる。いずれかのビットをディスエーブルにすることは、割り込みの伝搬をディスエーブルにする。これらのビット実装に関する更なる情報については、以上に議論したＰＣＩ Ｅｘｐｒｅｓｓベース規定を参照されたい。
【００３７】
コマンドレジスタ６１０及び６２０のそれぞれについて、ＲＯ０（読み取り専用固定０出力）ビットがハードウェア中に（実装された利用されるビットと共に）実装されない。本例においては、４８ビットが示され、１０ビットのみが実装される。図上部のレジスタ６１０及び６２０は、同じ位置にある２つの別個のレジスタを表すレジスタを示す。割り込み禁止機能が実装される場合、ＰＣＩ Ｅｘｐｒｅｓｓ装置のコマンドレジスタ中のＩＮＴ ＤＩＳビットか、又はスイッチのダウンストリームポートのコマンドレジスタ中の同じビットが、ＩＮＴ信号をブロックするように設定される。一実施例においては、このことは以上に議論されたＯＲゲートを利用し、２つのディスエーブル信号を組み合わせて、ディスエーブルビットのいずれか又は両方がアサートされた場合にＩＮＴがブロックされるようにすることにより実現される。ＯＲゲートに続くＡＮＤゲートは、ＩＮＴ ＤＩＳビットのいずれか又は両方が設定されている場合にＩＮＴをディスエーブルにする。バスマスタ許可は、両方のレジスタにおいてバスマスタ許可ビットの両方が設定されている場合、該装置のバスマスタをイネーブルにする（２つの入力ＮＡＮＤゲートが図示されている）。バス制御レジスタ６２０は、実装されるべき２つのビットを実装し、そのうち１つＳＥＲＲがまた、他の２つの図示された制御レジスタ中の制御ビットを持つ。これらのビットのいずれか１つが、当該仮想的な階層中のどこでＳＥＲＲがディスエーブルとされたかにかかわらず、信号システムのエラー出力をブロックすることができる。
【００３８】
以下の表１は、本発明の他の実施例による、共有レジスタのセットを利用した手法を示す。表１に示された情報は、例えば以上に議論された図６に関連して実装されても良い。
【表１】
2007529813.tif 000003
2007529813.tif 000004
2007529813.tif 000005
2007529813.tif 000006
2007529813.tif 000007
【図面の簡単な説明】
【００３９】
【図１】本発明の実施例による、ＰＣＩ Ｅｘｐｒｅｓｓ内部バスに関連するエンドポイント装置を実装するための構成を示すブロック図である。
【図２】本発明の実施例による、ＰＣＩ Ｅｘｐｒｅｓｓ内部バスに関連するエンドポイント装置を実装するための構成を示すブロック図である。
【図３】本発明の実施例による、ＰＣＩ Ｅｘｐｒｅｓｓ内部バスに関連するエンドポイント装置を実装するための構成を示すブロック図である。
【図４（Ａ）】結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置のソフトウェア図であり、本発明の実施例による、仮想リンクを介して結合された２つのブロックをシミュレートする単一の結合された装置のブロックレベルのソフトウェア図である。
【図４（Ｂ）】結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置のソフトウェア図であり、本発明の他の実施例による、図４（Ａ）に示された装置についての種々のレイヤ及びレジスタの詳細なソフトウェア図である。
【図４（Ｃ）】結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置のソフトウェア図であり、本発明の他の実施例による、図４（Ａ）に示された装置についての仮想リンク設定レジスタの実装図を示す。
【図５】本発明の他の実施例による、図４（Ａ）に示された装置についてのエミュレート状態機械を利用する仮想リンクの実装図を示す。
【図６】本発明の他の実施例による、結合されたＰＣＩ Ｅｘｐｒｅｓｓエンドポイント装置についてのレジスタ構成を示す。
【図１】
2007529813.tif 000008
【図２】
2007529813.tif 000009
【図３】
2007529813.tif 000010
【図４Ａ】
2007529813.tif 000011
【図４Ｂ】
2007529813.tif 000012
【図４Ｃ】
2007529813.tif 000013
【図５】
2007529813.tif 000014
【図６】
2007529813.tif 000015
【国際調査報告】
2007529813.tif 000016
2007529813.tif 000017
2007529813.tif 000018