(57)【要約】【課題】大規模なマルチホストシステムにおいて多種のデバイスとアクセスできる環境を構築するのは容易でない【解決手段】第１プロセッサユニット１２ａが管理するデバイスツリーにおいて、外部バス１４ａが形成するエンドポイント１８ａと、第２プロセッサユニット１２ｂが管理するデバイスツリーにおいて、外部バス１４ｂが形成するエンドポイント１８ｅとを中継するエンドポイントブリッジ３０を導入する。エンドポイントブリッジ３０の変換部３１は、例えばエンドポイント１８ａに到達したアクセス要求パケットに含まれる要求元ＩＤを、ホストブリッジ２２ａのＩＤからエンドポイント１８ｅのＩＤに付け替える。ホストブリッジ２２ａのＩＤはパケットのタグと対応付けてメモリ３２に保存しておき、当該要求に対する応答パケットがエンドポイント１８ｅに到達した際、要求元ＩＤを戻すのに用いる。【選択図】図２
2007188446.tif 000002
【特許請求の範囲】
【請求項１】
２つのプロセッサユニットと、
前記２つのプロセッサユニットのそれぞれが管理する２つのデバイスツリーと、
前記２つのデバイスツリーがそれぞれ形成する２つのエンドポイント間の信号伝送を中継するブリッジと、
を備え、
前記ブリッジは、一方のエンドポイントからの出力信号に含まれる、前記一方のエンドポイントが属するデバイスツリーにおいて有効な情報を、他方のエンドポイントが属するデバイスツリーにおいて有効な情報に変換した信号を、前記他方のエンドポイントに入力することを特徴とする情報処理装置。
【請求項２】
前記ブリッジは、前記一方のエンドポイントからの出力信号に含まれる、前記一方のエンドポイントが属するデバイスツリーにおける当該出力信号の送信元の識別情報を、前記他方のエンドポイントの識別情報に書き換えた信号を、前記他方のエンドポイントに入力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ブリッジは、前記一方のエンドポイントからの出力信号に含まれる、前記送信元の識別情報を保存するメモリを備え、前記出力信号に対応して生成された応答信号が前記他方のエンドポイントから出力された際、前記応答信号に含まれる前記他方のエンドポイントの識別情報を、前記メモリに保存した前記送信元の識別情報に書き換えた信号を、前記一方のエンドポイントに入力することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
第１プロセッサユニットが第２プロセッサユニットに対する信号を発信するステップと、
前記信号を前記第１プロセッサユニットが管理する第１デバイスツリーに属する第１エンドポイントへ伝送するステップと、
前記第１エンドポイントから出力された前記信号に含まれる、前記第１デバイスツリーにおいて有効な情報を、前記第２プロセッサユニットが管理する第２デバイスツリーにおいて有効な情報に変換するステップと、
変換された信号を前記第２デバイスツリーに属する第２エンドポイントへ入力するステップと、
前記変換された信号を前記第２プロセッサユニットへ伝送するステップと、
を含むことを特徴とする信号伝送方法。
【請求項５】
前記変換するステップは、前記第１デバイスツリーにおいて有効な情報をメモリに保存するステップを含み、
前記信号伝送方法は、
前記第２プロセッサユニットに対する信号に対する応答信号を、前記第２プロセッサユニットが発信するステップと、
前記応答信号を前記第２エンドポイントへ伝送するステップと、
前記第２エンドポイントから出力された前記応答信号に含まれる、前記第２デバイスツリーにおいて有効な情報を、前記メモリに保存した前記第１デバイスツリーにおいて有効な情報に変換するステップと、
変換された前記応答信号を前記第１エンドポイントへ入力するステップと、
前記変換された応答信号を前記第１プロセッサユニットへ伝送するステップと、
をさらに含むことを特徴とする請求項４に記載の信号伝送方法。
【請求項６】
異なるプロセッサユニットが管理するデバイスツリーに属する２つのエンドポイントに対して信号を入出力する入出力部と、
前記２つのエンドポイントのうち一方のエンドポイントから出力された信号に含まれる、前記一方のエンドポイントが属するデバイスツリーにおいて有効な情報を、他方のエンドポイントが属するデバイスツリーにおいて有効な情報に変換した信号を生成して前記他方のエンドポイントへ入力する変換部と、
を備えることを特徴とするブリッジ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関し、特に複数の演算処理ユニットを有する情報処理装置、およびその装置における信号伝送方法と実装されるブリッジに関する。
【背景技術】
【０００２】
近年のコンピュータはその機能が多様化し、それとともに接続されるデバイスも多岐に渡るようになった。これらのデバイスはバスを介してＣＰＵと相互に信号のやり取りを行う。ＣＰＵと直接接続するバスと、デバイス接続のためのポートを形成するバスを中継して、異種のバスの互換性を確保するためにはバスブリッジが用いられる。さらにバスブリッジを階層的に接続していくことにより同種のバスによるデバイスツリーを形成し、デバイスが接続できるポート数を増やすことができる。
【０００３】
一方、演算処理の高速化の要求に対応するために近年ではプロセッサを複数備えたマルチプロセッサ構成や、マルチプロセッサの構成を複数備えたマルチホスト構成を有する情報処理装置が一般的に用いられるようになっている。これらの並列処理技術においては、１つのアプリケーションを複数のプロセッサまたは複数のホストに分散させて処理することによって、処理の高速化を図っている。マルチホスト構成の構造例としてはファットツリー構造が挙げられる（例えば、非特許文献１参照）。
【非特許文献１】C. E. Leiserson. Fat-Trees: Universal Networks for Hardware-Efficient Supercomputing. IEEE Transactions on Computer, Vol. 34, No. 10, pp. 892.901, 1985
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えばマルチホスト構成を有する情報処理装置において、１つのアプリケーションを複数のホストに分散させて処理を行う場合、ホストごとに管理するバスが異なるため、異なるデバイスツリー相互のアクセスが複雑となる。またポート数を増やすためにデバイスツリーの階層を増加させると、管理すべきバスの数が増大し、プロセッサにおけるバス管理の面や、接続したデバイスとの信号送受信の速度の面で不利となることも多い。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は接続デバイスの多種多様化に対応することのできる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は情報処理装置に関する。この情報処理装置は、２つのプロセッサユニットと、２つのプロセッサユニットのそれぞれが管理する２つのデバイスツリーと、２つのデバイスツリーがそれぞれ形成する２つのエンドポイント間の信号伝送を中継するブリッジと、を備え、ブリッジは、一方のエンドポイントからの出力信号に含まれる、一方のエンドポイントが属するデバイスツリーにおいて有効な情報を、他方のエンドポイントが属するデバイスツリーにおいて有効な情報に変換した信号を、他方のエンドポイントに入力することを特徴とする。
【０００７】
デバイスツリーはプロセッサユニットが位置するルートノードを起点として、ブリッジを多段にツリー状に接続し、ツリーの末端、すなわちエンドポイントに位置するデバイスへのアクセスを可能とする構成をいう。このデバイスツリー構造において、ツリーを構成するブリッジ、バス、エンドポイントは、ルートノードにあるプロセッサユニットによってそれぞれが識別され、管理される。「デバイスツリーにおいて有効な情報」とは、ルートノードに位置するプロセッサユニットが、管理するデバイスツリー内での信号伝送を制御するためなどに必要なローカルな情報であり、例えばブリッジ、バス、およびエンドポイントなどに個別に付与した識別番号など、１つのデバイスツリー内での位置の識別を行うための情報などである。
【０００８】
本発明の別の態様は信号伝送方法に関する。この信号伝送方法は、第１プロセッサユニットが第２プロセッサユニットに対する信号を発信するステップと、その信号を第１プロセッサユニットが管理する第１デバイスツリーに属する第１エンドポイントへ伝送するステップと、第１エンドポイントから出力された信号に含まれる、第１デバイスツリーにおいて有効な情報を、第２プロセッサユニットが管理する第２デバイスツリーにおいて有効な情報に変換するステップと、変換された信号を第２デバイスツリーに属する第２エンドポイントへ入力するステップと、変換された信号を前記第２プロセッサユニットへ伝送するステップと、を含むことを特徴とする。
【０００９】
本発明の別の態様はブリッジに関する。このブリッジは、異なるプロセッサユニットが管理するデバイスツリーに属する２つのエンドポイントに対して信号を入出力する入出力部と、その２つのエンドポイントのうち一方のエンドポイントから出力された信号に含まれる、一方のエンドポイントが属するデバイスツリーにおいて有効な情報を、他方のエンドポイントが属するデバイスツリーにおいて有効な情報に変換した信号を生成して他方のエンドポイントへ入力する変換部と、を備えることを特徴とする。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、接続デバイスの多様化に対応した情報処理技術を実現することができる。
【発明を実施するための最良の形態】
【００１２】
まず本実施の形態において用いられるデバイスツリーの構造について説明する。図１は単一のプロセッサユニットを含む情報処理装置におけるデバイスツリーの構成例を示している。この構成は、例えばＰＣＩ（Peripheral Component Interconnect）のバスアーキテクチャを用いて実現できる。情報処理装置１０は演算処理を行うプロセッサユニット１２、プロセッサユニット１２と他のユニットとの間の信号授受を中継するブリッジチップ１６、ブリッジチップ１６が出力する信号の経路を分岐し、適宜経路を選択して伝送させるスイッチチップ１７ａおよび１７ｂ、スイッチチップ１７ａおよび１７ｂに対して入出力を行うデバイスとのインターフェースを提供するエンドポイント１８ａ、１８ｂ、１８ｃ、および１８ｄを含む。プロセッサユニット１２、ブリッジチップ１６、スイッチチップ１７ａまたは１７ｂ、エンドポイント１８ａ、１８ｂ、１８ｃ、または１８ｄは、それぞれ外部バス１４ａ〜１４ｇを介して信号の送受信を行う。
【００１３】
プロセッサユニット１２は例えば複数のプロセッサからなるマルチプロセッサ構造を有する。またプロセッサユニット１２は図示しないメインメモリやＩ／Ｏインターフェースなどを適宜含んでよい。ブリッジチップ１６は、プロセッサユニット１２のローカルなバス１４ａと周辺機器を接続するためのＰＣＩなどのバスとを中継するホストブリッジ２２を含む。ホストブリッジ２２は内部バス２０ａによってバスブリッジ２４ａ、２４ｂと接続される。バスブリッジ２４ａ、２４ｂは例えばＰＣＩｔｏＰＣＩブリッジのように、同種のバスによる信号伝送を中継する。以後説明するバスブリッジ２４も同様である。
【００１４】
スイッチチップ１７ａはバスブリッジ２４ｃ、２４ｄ、２４ｅを、スイッチチップ１７ｂはバスブリッジ２４ｆ、２４ｇ、２４ｈを含む。ブリッジチップ１６における２つのバスブリッジ２４ａ、２４ｂはそれぞれ、スイッチチップ１７ａのバスブリッジ２４ｃおよびスイッチチップ１７ｂのバスブリッジ２４ｆに、外部バス１４ｂ、１４ｃを介して接続されている。
【００１５】
スイッチチップ１７ａにおいて、バスブリッジ２４ｃは他のバスブリッジ２４ｄ、２４ｅと内部バス２０ｂで接続されている。そしてバスブリッジ２４ｄ、２４ｅは、それぞれ、外部バス１４ｄ、１４ｅに接続し、それらの外部バス１４ｄ、１４ｅがエンドポイント１８ａ、１８ｂを形成する。スイッチチップ１７ｂも同様の構成を有し、バスブリッジ２４ｆと内部バス２０ｃで接続されたバスブリッジ２４ｇ、２４ｈが外部バス１４ｆ、１４ｇに接続し、それらの外部バス１４ｆ、１４ｇがエンドポイント１８ｃ、１８ｄを形成する。
【００１６】
このようにバスブリッジ２４を接続していき、外部バス１４の数をツリー状に増加させていくことにより、エンドポイント１８の数を増加させていくことができる。なおブリッジチップ１６、スイッチチップ１７において備えられるブリッジの数は、図１では簡単のために３つとしたが、それに限られない。また、スイッチチップ１７は２つに限らず、多段階に外部バス１４を分岐して、エンドポイント１８の数を適宜増加させてよい。さらに分岐した２つのバスブリッジ２４のうち一方をスイッチチップ１７に接続してさらに分岐させ、他方をエンドポイント１８とすることもできる。
【００１７】
エンドポイント１８に接続されたデバイスは、外部バス１４のそれぞれに与えられた識別番号であるバス番号、および、同一のバスが形成するエンドポイント１８に接続されたデバイスを識別するデバイス番号との組み合わせによって、デバイスツリー中で識別される。プロセッサユニット１２やそれに含まれるメモリと、各デバイスとの間のアクセスは、バス番号およびデバイス番号の組み合わせに基づき要求および確立がなされる。
【００１８】
本実施の形態における情報処理装置は、図１に示した情報処理装置１０を複数組み合わせることにより、複数のプロセッサユニット１２を有する構成とする。そして、あるプロセッサユニット１２配下にある外部バス１４等を伝送する信号が、エンドポイント１８を経由して、他のプロセッサユニット１２配下にある外部バス１４等を伝送できるようにする。図２は２つのプロセッサユニットのデバイスツリー間で信号の送受信を行うための構成を模式的に示している。同図では簡単のために、プロセッサユニット１２配下のホストブリッジ２２とエンドポイント１８のみを示しているが、図１において述べたとおり、ホストブリッジ２２からエンドポイント１８までの経路にはバスブリッジ２４が介在していてよい。したがってエンドポイント１８も図１に示すとおり複数形成されるが、ここでは省略する。
【００１９】
まず第１プロセッサユニット１２ａが管理するデバイスツリーは、ホストブリッジ２２ａ、外部バス１４ａなどを介在させてエンドポイント１８ａを形成している。同様に、第２プロセッサユニット１２ｂが管理するデバイスツリーは、ホストブリッジ２２ｂ、外部バス１４ｂなどを介在させてエンドポイント１８ｅ、１８ｆを形成している。ここで第１プロセッサユニット１２ａ配下にあるエンドポイント１８ａと、第２プロセッサユニット１２ｂ配下にあるエンドポイント１８ｅとの間の信号伝送を中継するエンドポイントブリッジ３０を導入する。
【００２０】
エンドポイントブリッジ３０は、エンドポイント１８ａまたはエンドポイント１８ｅから出力された信号を変換して他方のエンドポイントへ入力する変換部３１と、変換部３１における変換に必要なデータを記憶するメモリ３２とを含む。例えば第１プロセッサユニット１２ａから第２プロセッサユニット１２ｂへ送信する信号は、まずエンドポイント１８ａに送信される。そしてエンドポイントブリッジ３０の変換部３１において信号の変換を行い、エンドポイント１８ｅから第２プロセッサユニット１２ｂへ送信される。以後、第１プロセッサユニット１２ａから第２プロセッサユニット１２ｂ、または第２プロセッサユニット配下のデバイスへのアクセス要求を行うパケットを例に伝送の手法を説明する。
【００２１】
上述したようにアクセスの要求および確立はバス番号とデバイス番号に基づき行われる。したがってエンドポイント１８ａに到達したパケットには、要求元のバス番号およびデバイス番号からなる要求元ＩＤが含まれる。上記の例ではホストブリッジ２２ａのバス番号およびデバイス番号が要求元ＩＤとなる。これを変換部３１において変換し、要求元ＩＤをエンドポイント１８ｅのバス番号およびデバイス番号とする。これにより、第２プロセッサユニット１２ｂ配下のデバイスツリー内で有効なパケットが生成され、パケットを同ツリー内の所望のユニット、デバイスへ到達させることができる。第２プロセッサユニット１２ｂのデバイスツリーから第１プロセッサユニット１２ａのデバイスツリーに向けたパケット送信も同様である。
【００２２】
ここで、送信された要求パケットを受け付けた第２プロセッサユニット１２ｂが、要求に対する応答パケットを送信する場合を考える。まず第２プロセッサユニット１２ｂのデバイスツリー内では、要求パケットに含まれる要求元ＩＤがエンドポイント１８ｅのバス番号およびデバイス番号であるため、応答パケットはエンドポイント１８ｅに対して送信される。そこでエンドポイントブリッジ３０の変換部３１は、当該応答パケットを変換し、第１プロセッサユニット１２ａのデバイスツリー内で有効な応答パケットを生成する。
【００２３】
このとき、本来の要求元である第１プロセッサユニット１２ａのホストブリッジ２２ａが応答パケットを受け取るためには、応答パケットに含まれる要求元ＩＤを第１プロセッサユニット１２ａのホストブリッジ２２ａのバス番号およびデバイス番号に戻す必要がある。そこで本実施の形態では、変換部３１において先に要求パケットを変換する際、本来の要求元であるホストブリッジ２２ａのバス番号およびデバイス番号を、同パケットに与えられたタグと対応づけて要求元ＩＤテーブルとしてメモリ３２に保存しておく。タグはあるアクセス確立のための要求および応答に対し一意に定められる識別番号である。
【００２４】
そして、応答パケットがエンドポイント１８ｅに到達したら、変換部３１は応答パケットに含まれるタグに基づき要求元ＩＤテーブルを参照して、第１プロセッサユニット１２ａのツリーにおける要求元ＩＤ、すなわち本来の要求元であるホストブリッジ２２ａのＩＤを取得する。そして応答パケットに含まれる要求元ＩＤを、取得したＩＤとすることにより、第１プロセッサユニット１２ａのデバイスツリー内で有効な応答パケットが生成される。生成された応答パケットはエンドポイント１８ａからホストブリッジ２２ａへ送信され、第１プロセッサユニット１２ａによるアクセス要求に対する応答が完了する。
【００２５】
図３は以上の処理手順を示すフローチャートである。まず第２プロセッサユニット１２ｂに対する第１プロセッサユニット１２ａのアクセス要求を、ホストブリッジ２２ａが要求パケットとして配下のエンドポイント１８ａに発信する（Ｓ１０）ここで要求元ＩＤはホストブリッジ２２ａのバス番号、デバイス番号で構成される。要求パケットがエンドポイント１８ａに到達すると、エンドポイントブリッジ３０の変換部３１は、要求パケットに含まれるタグおよび要求元ＩＤをメモリ３２内の要求元ＩＤテーブルに保存する（Ｓ１２）。そして要求元ＩＤをエンドポイント１８ｅのバス番号およびデバイス番号に付け替えて、第２プロセッサユニット１２ｂのデバイスツリー内へ送信する（Ｓ１４）。
【００２６】
要求パケットが第２プロセッサユニット１２ｂのホストブリッジ２２ｂに到達し、第２プロセッサユニット１２ｂが当該要求を認識すると、ホストブリッジ２２ｂを介して応答パケットが適宜発信される（Ｓ１６）。このときのタグは要求パケットに含まれるタグと同一であり、送信先は配下のエンドポイント１８ｅである。応答パケットがエンドポイント１８ｅに到達すると、変換部３１は、メモリ３２内に保存した要求元ＩＤテーブルからタグに対応づけられた本来の要求元ＩＤを取得し、応答パケットの要求元ＩＤを付け替える。そしてその信号をエンドポイント１８ａへ入力することにより、第１プロセッサユニット１２ａのデバイスツリー内へ送信する（Ｓ１８）。そして第１プロセッサユニット１２ａはホストブリッジ２２ａを介して当該応答パケットを受信する（Ｓ２０）。これにより２つのプロセッサユニット１２ａ、１２ｂ間のアクセス要求および応答が完了する。
【００２７】
図４はエンドポイントブリッジ３０の内のメモリ３２に記憶される要求元ＩＤテーブルのデータ構造例を示している。要求元ＩＤテーブル４０は要求元ＩＤ欄４２およびタグ欄４４を含む。要求元ＩＤ欄４２には、要求パケットに含まれる要求元ＩＤ、すなわち本来の要求元であるブリッジやデバイスなどのバス番号およびデバイス番号が記憶され、タグ欄４４には、要求元パケットに含まれる当該アクセス確立のためのタグが記憶される。タグ欄４４に記憶されたタグによって、双方向のパケット伝送を管理することができる。
【００２８】
図５は本実施の形態を、２つのプロセッサユニット１２ａ、１２ｂが形成するファットツリー構造を有する情報処理装置に適用した場合の構成を模式的に示している。ここではブリッジチップ１６ａ、１６ｂと、４レーンのバスに接続するスイッチチップ１７ａ、１７ｃが導入されている。情報処理装置５０において、第１プロセッサユニット１２ａ配下のスイッチチップ１７ａはエンドポイントブリッジ３０ａを含み、下段に示されるエンドポイント１８ａを第１プロセッサユニット１２ａが管理する。エンドポイントブリッジ３０ａに含まれる他方のエンドポイント１８ｅは第２プロセッサユニット１２ｂが管理する。また、スイッチチップ１７ｃのエンドポイントブリッジ３０ｃに含まれるエンドポイント１８ｇは第１プロセッサユニット１２ａが管理し、エンドポイント１８ｈは第２プロセッサユニット１２ｂが管理する。
【００２９】
同図において内部バス２０ａ、外部バス１４ｂ、内部バス２０ｂに対して、例えばバス番号はそれぞれ「０」、「１」、「２」と付与される。そして例えば内部バス２０ｂに接続されているバスブリッジ２４ｄ、２４ｅ、およびエンドポイント１８ａに対して、デバイス番号が「０」、「１」、「２」とつけられる。したがってエンドポイント１８ａは第１プロセッサユニット１２ａのデバイスツリーにおいて、「バス：２、デバイス：２」というＩＤによって識別される。一方、同じエンドポイントブリッジ３０ａに含まれるエンドポイント１８ｅは、例えば外部バス１４ｈが第２プロセッサユニット１２ｂのデバイスツリーにおいてバス番号３であるとすると、「バス：３、デバイス０」というＩＤによって識別される。当然、異なる２つのデバイスツリーには同一のＩＤを有するブリッジまたはエンドポイントがあってよい。
【００３０】
上述の例では、第１プロセッサユニット１２ａのホストブリッジ２２ａを要求元とする要求パケットには、要求元ＩＤとして当該ホストブリッジ２２ａのＩＤ、「バス：０、デバイス：０」が設定されている。エンドポイントブリッジ３０ａにおいて、エンドポイント１８ａからエンドポイント１８ｅへその要求パケットが中継される際に、変換部３１において要求元ＩＤが「バス：３、デバイス：０」に付け替えられ、第２プロセッサユニット１２ｂへ送信される。そして応答パケットに対しては、要求元ＩＤ、すなわち応答パケットの送信先のＩＤが、「バス：３、デバイス：０」から「バス：０、デバイス：０」へ戻され、第１プロセッサユニット１２ａへと送信される。
【００３１】
以上の動作によって、単一のプロセッサユニットが形成するデバイスツリーにおいて用いられるパケットを、そのフォーマットを何ら変更することなく、複数のプロセッサユニットが構成する複数のデバイスツリーに適用することができる。またデバイスツリーを確立する際のバス番号やデバイス番号の採番や、デバイス検出などの初期化動作も、単一のプロセッサユニットに対して一般的に行われるのと同様に行うことができるため、容易に複数のプロセッサユニットを有するシステムを構築することができる。
【００３２】
また、本実施の形態のように要求パケットに含まれる本来の要求元ＩＤを他方のエンドポイントの識別情報に完全に置き換えることにより、要求パケットに本来の要求元ＩＤが含まれたままの場合と比較して、要求パケットおよび応答パケットのサイズを節約することができる。さらに、プロセッサユニットを異にする３つ以上のデバイスツリーを介してパケットを送受信する場合であっても、そのフォーマットを何ら変更することなく、かつパケットサイズを大きくする必要がない。
【００３３】
これまでの例では、２つのプロセッサユニット１２ａ、１２ｂ間のパケット送受信について述べたが、同様のエンドポイントブリッジにおける変換を繰り返すことにより、あるデバイスツリーを中継してまた別のデバイスツリーへとパケットを送信することもできる。これにより、１つのプロセッサユニットが管理するバスの数を増加させずとも、アクセスできるバスの数を増加させることができ、大規模なシステムを効率のよいリソース使用によって容易に実現することができる。
【００３４】
図６は上述の態様を適用して実現できる、４つのプロセッサユニットによって構成されるファットツリー構造を有する情報処理装置を模式的に示している。情報処理装置６０は第１プロセッサユニット１２ａ、第２プロセッサユニット１２ｂ、第３プロセッサユニット１２ｃ、および第４プロセッサユニット１２ｄを備える。第１プロセッサユニット１２ａはブリッジチップ１６ａおよびスイッチチップ１７ａ、１７ｄを管理する。各チップ内の３つまたは４つの矩形はそれぞれブリッジを示しており、スイッチチップ１７ａ、１７ｄにおいて斜線を施した矩形はそれぞれエンドポイントブリッジ３０ａ、３０ｄである。第２プロセッサユニット１２ｂ、第３プロセッサユニット１２ｃ、および第４プロセッサユニット１２ｄも同様の構造を有する。
【００３５】
エンドポイントブリッジ３０ａは、第１プロセッサユニット１２ａの配下にあるエンドポイントと第２プロセッサユニット１２ｂの配下にあるエンドポイントとの間の信号伝送を中継する。エンドポイントブリッジ３０ｄは、第１プロセッサユニット１２ａの配下にあるエンドポイントと第３プロセッサユニット１２ｃの配下にあるエンドポイントとの間の信号伝送を中継する。さらにエンドポイントブリッジ３０ｅおよびエンドポイントブリッジ３０ｆによって中継されるエンドポイントの一端も、第１プロセッサユニット１２ａの配下にある。このような構成にすることにより、各プロセッサユニット１２から他の全てのデバイスツリーへのアクセスが可能になる。
【００３６】
図７は同様に、８つのプロセッサユニットによって構成されるファットツリー構造を有する情報処理装置を模式的に示している。情報処理装置７０は第１から第８のプロセッサユニット１２ａ〜１２ｈを含み、例えば第１プロセッサユニット１２ａはブリッジチップ１６ａおよび３つのスイッチチップ１７ａ、１７ｄ、１７ｅを管理する。同様に第２から第８のプロセッサユニット１２ｂ〜１２ｈも、ブリッジチップの他に３つのスイッチチップを管理する。図６同様、図７においても斜線を施した矩形はエンドポイントブリッジ（例えば３０ａ、３０ｄ、３０ｅ）を示している。このような構成とすることにより、図６の場合と同様に、各プロセッサユニット１２から他の全てのデバイスツリーへのアクセスが可能になる。
【００３７】
以上述べたように本実施の形態によれば、複数のプロセッサユニットを有する情報処理装置において、各プロセッサユニットのデバイスツリーに属するエンドポイントを接続するエンドポイントブリッジを導入する。そしてエンドポイントブリッジを通過する信号を変換することにより、送信先のデバイスツリー内で有効な信号を生成する。これにより、送信先のデバイスツリー内のプロセッサユニットやデバイスは、信号がどのデバイスツリーから送信されたかに関わらず、単一のプロセッサユニットの構成と同様に信号の伝送を行うことができる。
【００３８】
また単一のプロセッサユニットの場合と同様にデバイスツリーを構築することができる。したがって、プロセッサユニットと多種の接続デバイスとのアクセスを容易に実現できる。さらに、他のプロセッサユニットのデバイスツリーを利用できるため、各プロセッサユニットが管理するスイッチチップの数を増大させずとも、プロセッサユニットの数に応じて利用可能なデバイス数を飛躍的に増加させることができる。本実施の形態はスイッチチップにブリッジを組み込むことにより実現できるため、大規模システムの構築が容易になる。
【００３９】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００４０】
【図１】単一のプロセッサユニットを含む情報処理装置におけるデバイスツリーの構成例を示す図である。
【図２】２つのプロセッサユニット間で信号を送受するための構成を模式的に示す図ある。
【図３】２つのプロセッサユニット間で信号を送受する処理手順を示すフローチャートである。
【図４】要求元ＩＤテーブルのデータ構造例を示す図である。
【図５】本実施の形態を適用したファットツリー構造を有する情報処理装置の構成を示す図である。
【図６】本実施の形態を適用したファットツリー構造を有する情報処理装置の構成を模式的に示す図である。
【図７】本実施の形態を適用したファットツリー構造を有する情報処理装置の構成を模式的に示す図である。
【符号の説明】
【００４１】
１０  情報処理装置、  １２  プロセッサユニット、  １４  外部バス、  １６  ブリッジチップ、  １７  スイッチチップ、  １８  エンドポイント、  ２０  内部バス、  ２２  ホストブリッジ、  ２４  バスブリッジ、  ３０  エンドポイントブリッジ、  ４０  要求元ＩＤテーブル、  ５０  情報処理装置。
【図１】
2007188446.tif 000003
【図２】
2007188446.tif 000004
【図３】
2007188446.tif 000005
【図４】
2007188446.tif 000006
【図５】
2007188446.tif 000007
【図６】
2007188446.tif 000008
【図７】
2007188446.tif 000009