(57)【要約】  送信装置は、データを入力する第１の入力部と、データを入力する第２の入力部と、第１の入力部が入力したデータ又は第２の入力部が入力したデータに対して情報処理を行ったデータを出力する第１の情報処理部とを有する。さらに、この送信装置は、第１の情報処理部が出力したデータを保持する第１の保持部と、第１の情報処理部が出力したデータを保持する第２の保持部と、制御情報を保持する制御情報保持部と、を有する。さらにまた、この送信装置は、制御情報保持部が保持した制御情報に基づき、第１の保持部が保持したデータと第２の保持部が保持したデータのいずれかを選択する第１の選択部と、制御情報保持部が保持した制御情報に基づき、第１の選択部が選択したデータを第１の入力部に折り返す第１の出力部を有する。
2012127692.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と、前記送信装置に接続された第１の受信装置を有する情報処理装置において、
前記送信装置は、
データを入力する第１の入力部と、
データを入力する第２の入力部と、
前記第１の入力部が入力したデータ又は前記第２の入力部が入力したデータに対して情報処理を行ったデータを出力する第１の情報処理部と、
前記第１の情報処理部が出力したデータを保持する第１の保持部と、
前記第１の情報処理部が出力したデータを保持する第２の保持部と、
制御情報を保持する制御情報保持部と、
前記制御情報保持部が保持した制御情報に基づき、前記第１の保持部が保持したデータと前記第２の保持部が保持したデータのいずれかを選択する第１の選択部と、
前記制御情報保持部が保持した制御情報に基づき、前記第１の選択部が選択したデータを前記第１の入力部に折り返す第１の出力部を有することを特徴とする情報処理装置。
【請求項２】
前記送信装置はさらに、
前記制御情報保持部が保持した制御情報に基づき、前記第１の保持部が保持したデータと前記第２の保持部が保持したデータのいずれかを選択する第２の選択部と、
前記第２の選択部が選択したデータを第２の受信装置に出力する第２の出力部を有し、
前記第２の受信装置は、
前記送信装置の前記第１の出力部から入力されるデータに対して情報処理を行う第２の情報処理部を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記送信装置において、
前記第１の選択部は、前記制御情報保持部が保持した制御情報に基づき、前記第２の保持部が保持したデータを選択し、
前記第２の選択部は、前記制御情報保持部が保持した制御情報に基づき、前記第２の保持部が保持したデータを選択し、
前記第１の出力部は、前記制御情報保持部が保持した制御情報に基づき、前記第１の選択部が選択したデータを前記第１の入力部に折り返す折り返し部を有することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記送信装置において、
前記第２の出力部は、
前記制御情報保持部が保持した制御情報に基づき、前記第２の選択部が選択したデータを前記第２の入力部に折り返すことを特徴とする請求項２記載の情報処理装置。
【請求項５】
前記情報処理装置において、
前記制御情報保持部が保持した制御情報に基づき、前記送信装置の前記第１の出力部から入力されるデータを無効化する無効化部を有することを特徴とする請求項２〜４のいずれか１項に記載の情報処理装置。
【請求項６】
情報処理装置が有する第１の受信装置に接続される送信装置において、
データを入力する第１の入力部と、
データを入力する第２の入力部と、
前記第１の入力部が入力したデータ又は前記第２の入力部が入力したデータに対して情報処理を行ったデータを出力する第１の情報処理部と、
前記第１の情報処理部が出力したデータを保持する第１の保持部と、
前記第１の情報処理部が出力したデータを保持する第２の保持部と、
制御情報を保持する制御情報保持部と、
前記制御情報保持部が保持した制御情報に基づき、前記第１の保持部が保持したデータと前記第２の保持部が保持したデータのいずれかを選択する第１の選択部と、
前記制御情報保持部が保持した制御情報に基づき、前記第１の選択部が選択したデータを前記第１の入力部に折り返す第１の出力部を有することを特徴とする送信装置。
【請求項７】
前記送信装置はさらに、
前記制御情報保持部が保持した制御情報に基づき、前記第１の保持部が保持したデータと前記第２の保持部が保持したデータのいずれかを選択する第２の選択部と、
前記第２の選択部が選択したデータを第２の受信装置に出力する第２の出力部を有することを特徴とする請求項６記載の送信装置。
【請求項８】
前記送信装置において、
前記第１の選択部は、前記制御情報保持部が保持した制御情報に基づき、前記第２の保持部が保持したデータを選択し、
前記第２の選択部は、前記制御情報保持部が保持した制御情報に基づき、前記第２の保持部が保持したデータを選択し、
前記第１の出力部は、前記制御情報保持部が保持した制御情報に基づき、前記第１の選択部が選択したデータを前記第１の入力部に折り返す折り返し部を有することを特徴とする請求項７記載の送信装置。
【請求項９】
前記送信装置において、
前記第２の出力部は、
前記制御情報保持部が保持した制御情報に基づき、前記第２の選択部が選択したデータを前記第２の入力部に折り返すことを特徴とする請求項７記載の送信装置。
【請求項１０】
送信装置と、前記送信装置に接続された第１の受信装置を有する情報処理装置の制御方法において、
前記送信装置が有する第１の入力部が、データを入力するステップと、
前記送信装置が有する第２の入力部が、データを入力するステップと、
前記送信装置が有する第１の情報処理部が、前記第１の入力部が入力したデータ又は前記第２の入力部が入力したデータに対して情報処理を行ったデータを出力するステップと、
前記送信装置が有する第１の保持部に、前記第１の情報処理部が出力したデータを保持するステップと、
前記送信装置が有する第２の保持部に、前記第１の情報処理部が出力したデータを保持するステップと、
前記送信装置が有する制御情報保持部が、制御情報を保持するステップと、
前記送信装置が有する第１の選択部が、前記制御情報保持部が保持した制御情報に基づき、前記第１の保持部が保持したデータと前記第２の保持部が保持したデータのいずれかを選択するステップと、
前記送信装置が有する第１の出力部が、前記制御情報保持部が保持した制御情報に基づき、前記第１の選択部が選択したデータを前記第１の入力部に折り返すステップを有することを特徴とする情報処理装置の制御方法。
【請求項１１】
前記情報処理装置の制御方法はさらに、
前記送信装置が有する第２の選択部が、前記制御情報保持部が保持した制御情報に基づき、前記第１の保持部が保持したデータと前記第２の保持部が保持したデータのいずれかを選択するステップと、
前記送信装置が有する第２の出力部が、前記第２の選択部が選択したデータを第２の受信装置に出力するステップを有する
ことを特徴とする請求項１０記載の情報処理装置の制御方法。
【請求項１２】
前記情報処理装置の制御方法において、
前記第１の選択部は、前記制御情報保持部が保持した制御情報に基づき、前記第２の保持部が保持したデータを選択し、
前記第２の選択部は、前記制御情報保持部が保持した制御情報に基づき、前記第２の保持部が保持したデータを選択し、
前記第１の出力部は、前記制御情報保持部が保持した制御情報に基づき、前記第１の選択部が選択したデータを前記第１の入力部に折り返すことを特徴とする請求項１１記載の情報処理装置の制御方法。
【請求項１３】
前記情報処理装置の制御方法において、
前記第２の出力部は、
前記制御情報保持部が保持した制御情報に基づき、前記第２の選択部が選択したデータを前記第２の入力部に折り返すことを特徴とする請求項１１記載の制御方法。
【請求項１４】
前記情報処理装置の制御方法において、
前記制御情報保持部が保持した制御情報に基づき、前記送信装置が有する無効化部が前記送信装置の前記第１の出力部から入力されるデータを無効化するステップを有することを特徴とする請求項１０〜１３のいずれか１項に記載の情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、送信装置、および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
情報処理装置には、種々のニーズに応じて、搭載する演算処理装置であるＣＰＵ（Central Processing Unit）の種類、個数、あるいは基板の種類、枚数等で規定されるシステム構成を変えて製品出荷されるものがある。このようなシステム構成が多様な情報処理装置の試験、例えば、製品出荷のため試験、あるいは、量産試験においては、構成部品、例えば、ＣＰＵ等のチップの不良、あるいは、基板の不良を摘出するために、システム構成に含まれる回路を活性化させた上で動作確認することが求められる。【０００３】
図１から図３に情報処理装置のシステム構成を例示する。図１から図３に示す情報処理装置は、ＣＰＵの増設、あるいは、基板の増設によりシステム構成を変えることができる製品の例である。図１では、基板（ｂｏａｒｄ０）上に、ＣＰＵ００と、ＣＰＵ０１という２つのＣＰＵが搭載されている。ＣＰＵ００と、ＣＰＵ０１とは、例えば、複数のインターフェースを持ち、相互に接続されている。【０００４】
図２では、基板（ｂｏａｒｄ０）上に、ＣＰＵ００からＣＰＵ０３という４つのＣＰＵが搭載されている。ＣＰＵ００からＣＰＵ０３のそれぞれは、例えば、複数のインターフェースを持ち、他のＣＰＵと接続されている。【０００５】
図３の情報処理装置は、複数の基板（ｂｏａｒｄ０、ｂｏａｒｄ１）を有する。基板（ｂｏａｒｄ０）上には、ＣＰＵ００からＣＰＵ０３という４つのＣＰＵが搭載されている。ＣＰＵ００からＣＰＵ０３のそれぞれは、例えば、複数のインターフェースを持ち、他のＣＰＵと接続されている。また、基板（ｂｏａｒｄ１）上にも、ＣＰＵ１０からＣＰＵ１３という４つのＣＰＵが搭載されている。ＣＰＵ１０からＣＰＵ１３のそれぞれは、例えば、複数のインターフェースを持ち、他のＣＰＵと接続されている。さらに、基板（ｂｏａｒｄ０）上のＣＰＵ００からＣＰＵ０３と、基板（ｂｏａｒｄ１）上のＣＰＵ１０からＣＰＵ１３とは、クロスバースイッチ（ＸＢ０、ＸＢ１）を介して、相互に接続される。例えば、クロスバースイッチ（ＸＢ０）は、ＣＰＵ００およびＣＰＵ０２の組みとＣＰＵ１０およびＣＰＵ１２の組みとの間で、接続を切り替えることによりデータ転送を行なう。また、クロスバースイッチ（ＸＢ１）は、ＣＰＵ０１およびＣＰＵ０３の組みとＣＰＵ１１およびＣＰＵ１３の組みとの間で、接続を切り替えることによりデータ転送を行なう。【０００６】
したがって、図３の例では、８個のＣＰＵが、相互に接続可能となっている。図１、図２の情報処理装置は、図３の情報処理装置の部分的な構成を有する。ここでは、例えば、図３の構成が最大構成であると仮定する。【０００７】
図１から３のようなシステム構成の情報処理装置を試験する場合、それぞれのＣＰＵに含まれるインターフェースの回路を活性化させた上で、情報処理装置の動作確認をすることが求められる。ところで、図１、図２のような最大構成ではない情報処理装置では、使用されない回路が含まれることがある。例えば、図１の情報処理装置が図２の構成を採ることが可能な場合に、図１の構成のＣＰＵ００、あるいは、ＣＰＵ０１は、ＣＰＵ０２、ＣＰＵ０３等と通信するための未使用のインターフェースを有している。また、例えば、図２の構成では、ＣＰＵ００からＣＰＵ０３はそれぞれ、クロスバースイッチ（ＸＢ０、ＸＢ１）と通信するための未使用のインターフェースを有している。【０００８】
情報処理装置の出荷時の構成が最大構成でない場合であっても、出荷後にＣＰＵあるいは基板が増設される場合がある。例えば、図１の情報処理装置が図２のように拡張される場合がある。また、図１、図２の情報処理装置が図３のように拡張される場合もある。増設の結果、増設前に使用されていなかったインターフェース回路が使用されるようになる。このような場合に、未使用であったインターフェース回路の使用開始に伴って、情報処理装置の不良が顕在化する可能性がある。【０００９】
そのような増設時の不良低減のため、量産試験では一般的に、極力最大構成に近い状態で試験が実行される。ただし、最大構成での量産試験等で不良を検出した場合には、解析、修理等の手間とコストが増加する。そのため、ＣＰＵ等の部品は、極力、部品単体に近い検査によって可能な限り多くの不良品を摘出することが望ましい。この場合の検査では、短期間で効率的に検査を行う必要があるため、極力簡易な構成で検査を実施することが望まれる。一方、極力簡易な構成での情報処理装置の検査であっても、増設後の複雑な構成での情報処理装置と同等に近い動作確認が実施できることが望まれる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−２２２９２１号公報
【特許文献２】特開平１０−１３２９０２号公報
【特許文献３】特開平９−１２８３４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
開示の技術の課題は、増設可能な情報処理装置において、極力簡易な構成での検査を可能にするとともに、実際に使用するインターフェース以外のインタ−フェースに対しても動作確認が実施できるようにすることである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、開示の技術の一態様は、情報処理装置が有する第１の受信装置に接続される送信装置として例示できる。この送信装置は、データを入力する第１の入力部と、データを入力する第２の入力部と、第１の入力部が入力したデータ又は第２の入力部が入力したデータに対して情報処理を行なったデータを出力する第１の情報処理部とを有する。さらに、この送信装置は、第１の情報処理部が出力したデータを保持する第１の保持部と、第１の情報処理部が出力したデータを保持する第２の保持部と、制御情報を保持する制御情報保持部と、を有する。さらにまた、この送信装置は、制御情報保持部が保持した制御情報に基づき、第１の保持部が保持したデータと第２の保持部が保持したデータのいずれかを選択する第１の選択部と、制御情報保持部が保持した制御情報に基づき、第１の選択部が選択したデータを第１の入力部に折り返す第１の出力部を有する。
【発明の効果】
【００１３】
本情報処理装置によれば、極力簡易な構成での検査を可能にするとともに、実際に使用されるインターフェース以外のインタ−フェースの部分に対しても動作確認が実施できる。
【図面の簡単な説明】
【００１４】
【図１】情報処理装置のシステム構成を例示する図である。
【図２】情報処理装置のシステム構成を例示する図である。
【図３】情報処理装置のシステム構成を例示する図である。
【図４】第１実施例に係る情報処理装置の構成を例示する図である。
【図５】データ転送部の詳細を例示する図である。
【図６】信号を無効化する構成を例示する図である。
【図７】第２実施例に係る情報処理装置の構成を例示する図である。
【図８】ＣＰＵ内のルータの詳細構成を周辺回路とともに例示する図である。
【図９】TEST_MODE[0:3]の設定に対応する論理的な接続関係を例示する図である。
【図１０】送信制御部の処理シーケンスを例示する図である。
【図１１】受信制御部の処理シーケンスを例示する図である。
【図１２】バスセレクタのバス選択論理を例示する図である。
【図１３】バスセレクタのバス選択論理を例示する図である。
【図１４】バスセレクタのバス選択論理を例示する図である。
【図１５】バスセレクタのバス選択論理を例示する図である。
【図１６】パケット伝送時のタイムチャートを例示する図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。本実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
【００１６】
＜第１実施例＞
図４に、第１実施例に係る情報処理装置１の構成を例示する。情報処理装置１は、例えば、コンピュータ、サーバ等の様々な装置として例示できる。図４の例では、情報処理装置１は、処理部１０−１と処理部１０−２を有している。処理部１０−１、１０−２を総称する場合には、処理部１０という。処理部１０は、コンピュータ、サーバに含まれるプロセッサ、プロセッサを含むシステムボード等の基板等として例示できる。ただし、処理部１０は、コンピュータ、サーバ等の装置であってもよい。処理部１０がコンピュータ、サーバ等のである場合には、情報処理装置１は、複数のコンピュータ、サーバを含むシステムとなる。
【００１７】
また、処理部１０−１は、データ処理部１１−１、データ転送部１２Ａ−１、１２Ｂ−１、制御情報保持部１３−１を有している。処理部１０−２の構成も、処理部１０−１と同様である。処理部１０−２は、データ処理部１１−２、データ転送部１２Ａ−２、１２Ｂ−２、制御情報保持部１３−２を有している。データ処理部１１−１、１１−２を総称する場合には、データ処理部１１という。また、データ転送部１２Ａ−１、１２Ｂ−１、１２Ａ−２、１２Ｂ−２等を総称する場合には、データ転送部１２という。制御情報保持部１３−１、１３−２を総称する場合には、制御情報保持部１３という。
【００１８】
処理部１０−１が送信装置の一例である。また、処理部１０−２が受信装置の一例である。また、データ転送部１２Ａ−１が第１の出力部の一例である。また、データ転送部１２Ｂ−１が第２の出力部の一例である。さらに、データ処理部１１−１が第１の情報処理部の一例である。さらにまた、データ処理部１１−２が第２の情報処理部の一例である。
【００１９】
データ処理部１１は、例えば、演算処理装置としてのプロセッサ、あるいはプロセッサを含む基板等におけるデータ処理を実行する回路部分、あるいは部品として例示できる。データ処理部１１は、例えば、ＣＰＵ（Central Processing Unit）、主記憶装置等の部品を含む。
【００２０】
また、データ転送部１２は、例えば、データ転送装置としてのクロスバースイッチ、プロセッサ、あるいはプロセッサを含む基板等におけるデータ転送を実行する回路部分、あるいは部品として例示できる。データ転送部１２は、例えば、転送されるデータを一時的に保持するバッファ、レジスタ等を含む。また、データ転送部１２は、バッファあるいはレジスタ上のデータを、伝送路を通じて送信するための駆動回路を含む。また、データ転送部１２は、データを一時的に保持するバッファ、レジスタ、あるいはデータを転送する駆動回路等を制御する制御回路を含む。制御回路は、例えば、スイッチのようなデータの切り替え回路を含む。
【００２１】
図４の構成では、処理部１０−１と処理部１０−２とは、データ転送部１２Ａ−１とデータ転送部１２Ａ−２とを通じて伝送路Ｌ１で接続される。なお、伝送路Ｌ１は、有線の伝送路でも、無線の伝送路でもよい。また、伝送路Ｌ１は、パラレルの伝送路でもよいし、シリアルの伝送路でもよい。また、図１４の構成では、データ転送部１２Ｂ−１は、処理部１０−１の外部の装置と接続されていない。同様に、データ転送部１２Ｂ−２は、処理部１０−２の外部の装置と接続されていない。すなわち、図４で、データ転送部１２Ｂ−１、１２Ｂ−２は、例えば、予備のために備えられている。データ転送部１２Ｂ−１、１２Ｂ−２は、いずれも情報処理装置１にさらなる処理部１０が増設されるときに使用されることなる。
【００２２】
制御情報保持部１３は、データ転送部１２を制御するための制御情報を記憶する。制御情報保持部１３は、ラッチ、レジスタ等と呼ばれる記憶回路を含む。データ転送部１２は、制御情報保持部１２が記憶する情報にしたがって、データ転送を実行する。
【００２３】
なお、図４では、２つの処理部１０−１、１０−２が例示されているが、処理部の数に限定がある訳ではない。また、図４では、処理部１０−１に、２つのデータ転送部１２Ａ−１、１２Ｂ−１が設けられている。また、処理部１０−２に、２つのデータ転送部１２Ａ−２、１２Ｂ−２が設けられている。しかし、処理部１０内のデータ転送部１２の数に限定がある訳ではない。すなわち、処理部１０内に、３以上のデータ転送部１２を設けてもよい。
【００２４】
図５に、データ転送部１２Ａ−１の詳細を例示する。ここでは、処理部１０−１に含まれるデータ転送部１２Ａ−１の構成を例にして説明するが、他のデータ転送部１２の構成も、データ転送部１２Ａ−１と同様である。
【００２５】
データ転送部１２Ａ−１は、他の処理部（１０−２等）から受信したデータを保持するデータバッファＤＢ１、ＤＢ３を有する。ここで、他の処理部とは、図４に示した処理部１０−２の他、さらに１以上の処理部を含めてもよい。すなわち、データ転送部１２Ａ−１には、図５の他の処理部が複数接続されてもよい。例えば、データバッファＤＢ１は、処理部１０−２からの受信データを受信し、一方、データバッファＤＢ３は、製品出荷後の将来の増設のために用意されている。ただし、図５では、データバッファＤＢ１、ＤＢ３は、スイッチＳＷ２、ＳＷ３を介して他の処理部１０−２等と接続される。
【００２６】
さらに、データ転送部１２Ａ−１は、データバッファＤＢ１、ＤＢ３のデータをデータ処理部１１−１に入力するためにデータを一時保持するデータバッファＤＢ２、ＤＢ４を有する。ただし、データバッファＤＢ２は、データバッファＤＢ１と兼用されてもよい。また、データバッファＤＢ４は、データバッファＤＢ３と兼用されてもよい。
【００２７】
また、データ転送部１２Ａ−１は、データ処理部１１−１で処理されたデータを一時的に保持するデータバッファＤＢ５、ＤＢ７を有する。また、データ転送部１２Ａ−１は、データバッファＤＢ５、ＤＢ７のデータを他の処理部１０−２等に転送するためにデータを一時保持するデータバッファＤＢ６、ＤＢ８を有する。ただし、図５では、データバッファＤＢ６、ＤＢ８は、スイッチＳＷ１を介してデータバッファＤＢ５、ＤＢ７と接続される。
【００２８】
スイッチＳＷ１は、データバッファＤＢ５、ＤＢ７のいずれか一方をデータバッファＤＢ６に接続する。また、スイッチＳＷ１は、データバッファＤＢ５、ＤＢ７のうちの一方をデータバッファＤＢ８にも接続する。例えば、第１の接続として、スイッチＳＷ１は、データバッファＤＢ５をデータバッファＤＢ６に接続するとともに、データバッファＤＢ７をデータバッファＤＢ８に接続する。データ処理部１１−１がデータバッファＤＢ５、ＤＢ７のそれぞれに、他の処理部１０−２等へ転送されるデータを出力する構成では、第１の接続が適用される。
【００２９】
また、第２の接続として、スイッチＳＷ１は、データバッファＤＢ５をデータバッファＤＢ６、ＤＢ８の両方に接続する。データ処理部１１−１が他の処理部１０−２等へ転送されるデータをデータバッファＤＢ５に出力し、データ処理部１１−１がデータバッファＤＢ７にデータを出力しない構成では、情報処理装置１の試験時に第２の接続が適用される。すなわち、第２の接続の場合には、データバッファＤＢ５のデータがデータバッファＤＢ６に転送されるとともに、複製されて、データバッファＤＢ８にも転送される。すなわち、図５では、スイッチＳＷ１は、信号の複製機能を提供する。スイッチＳＷ１が第１の選択部の一例である。また、データバッファＤＢ５が第１の保持部の一例である。さらに、データバッファＤＢ７が第２の保持部の一例である。
【００３０】
なお、図示しないが、データ転送部１２Ｂ−１の構成は、データ転送部１２Ａ−１の構成と同様である。例えば、データ転送部１２Ｂ−１も、スイッチＳＷ１、データバッファＤＢ５、およびデータバッファＤＢ７と同様の構成を有する。そして、データ転送部１２Ｂ−１のスイッチＳＷ１に相当するスイッチが第２の選択部の一例である。
【００３１】
また、第３の接続として、スイッチＳＷ１は、データバッファＤＢ７をデータバッファＤＢ６、ＤＢ８の両方に接続する。データ処理部１１−１が他の処理部１０−２等へ転送されるデータをデータバッファＤＢ７に出力し、データ処理部１１−１がデータバッファＤＢ５にデータを出力しない構成では、情報処理装置１の試験時に第３の接続が適用される。すなわち、第２の接続の場合には、データバッファＤＢ７のデータがデータバッファＤＢ８に転送されるとともに、複製されて、データバッファＤＢ６にも転送される。すなわち、スイッチＳＷ１は、信号の複製機能を提供する。
【００３２】
さらに、データ転送部１２Ａ−１において、データバッファＤＢ６、ＤＢ７から出力されるデータは、他の処理部１０−２等に転送されるとともに、折り返しラインＬ２、Ｌ３で分岐されて、それぞれスイッチＳＷ２、ＳＷ３に入力される。スイッチＳＷ２は、他の処理部１０−２等からのデータと折り返しラインＬ２（データバッファＤＢ６）からのデータのうち、いずれか一方をデータバッファＤＢ１に出力する。また、スイッチＳＷ２は、他の処理部１０−２等からのデータと折り返しラインＬ３（データバッファＤＢ８）からのデータのうち、いずれか一方をデータバッファＤＢ３に出力する。
【００３３】
制御情報処理部１３−１は、スイッチＳＷ１、ＳＷ２、ＳＷ３の切り替えを制御する指示ビットを保持する。図５の例では、制御情報処理部１３−１は、指示ビットとして４ビットのビットパターンを保持すればよい。例えば、第１の指示ビットは、スイッチＳＷ１に対して、データバッファＤＢ６への出力信号を制御するビットである。第１のビットに応じて、スイッチＳＷ１は、データバッファ５およびデータバッファ７のいずれか一方からのデータをデータバッファＤＢ６に出力する。
【００３４】
また、第２の指示ビットは、スイッチＳＷ１に対して、データバッファＤＢ８への出力信号を制御するビットである。第２のビットに応じて、スイッチＳＷ１は、データバッファ５およびデータバッファ７のいずれか一方からのデータをデータバッファＤＢ８に出力する。
【００３５】
また、第３の指示ビットは、スイッチＳＷ２に対して、データバッファＤＢ１への出力信号を制御するビットである。第３のビットに応じて、スイッチＳＷ２は、他の処理部１０−２等およびデータバッファ６のいずれか一方からのデータをデータバッファＤＢ１に出力する。
【００３６】
また、第４の指示ビットは、スイッチＳＷ３に対して、データバッファＤＢ３への出力信号を制御するビットである。第４のビットに応じて、スイッチＳＷ３は、他の処理部１０−２等およびデータバッファ８のいずれか一方からのデータをデータバッファＤＢ３に出力する。
【００３７】
このような構成によって、処理部１０−１は、制御情報保持部１３−１の指示ビットの設定により、データ転送部１２Ａ−１は次のように動作する。
（１）処理部が最大構成の場合；
最大構成の場合とは、データバッファＤＢ１、ＤＢ３のいずれもが、他の処理部からデータを入力され、データバッファＤＢ６、ＤＢ８のいずれもが、他の処理部にデータを出力する場合である。図５では、データ入力用に、２つのデータバッファＤＢ１、ＤＢ３を設けているが、もちろん、データ入力用に、３以上のデータバッファを設けてもよい。また、図５では、データ出力用に、２つのデータバッファＤＢ６、ＤＢ８を設けているが、もちろん、データ出力用に、３以上のデータバッファを設けてもよい。ただし、基本的には、データ入力用のデータバッファの数とデータ出力用のデータバッファの数は同数である。
【００３８】
最大構成の場合には、データ入力用のデータバッファとデータ出力用のデータバッファは、いずれも他の処理部１０−２等と接続されることになる。この場合には、スイッチＳＷ１は、データバッファＤＢ５をデータバッファＤＢ６に接続すればよい。また、スイッチＳＷ１は、データバッファＤＢ７をデータバッファＤＢ８に接続すればよい。また、スイッチＳＷ２は、他の処理部１０−２からのデータをデータバッファＤＢ１に入力すればよい。また、スイッチＳＷ３は、他の処理部１０−２からのデータをデータバッファＤＢ３に入力すればよい。したがって、この場合には、折り返しラインＬ２、Ｌ３で分岐されたデータはスイッチＳＷ２、ＳＷ３で廃棄され、使用されない。
（２）処理部の数が最大構成の数よりも少ない場合；
処理部の数が最大構成の数よりも少ない場合には、データ入力用のデータバッファＤＢ１、ＤＢ３の少なくとも１つが他の処理部１０−２等と接続されないことなる。図５では、データ入力用に、２つのデータバッファＤＢ１、ＤＢ３を設けているが、もちろん、データ入力用に、３以上のデータバッファを設けている場合も同様である。さらに、処理部の数が最大構成の数よりも少ない場合には、データ出力用のデータバッファＤＢ６、ＤＢ８の少なくとも１つが他の処理部１０−２と接続されないことなる。図５では、データ出力用に、２つのデータバッファＤＢ６、ＤＢ８を設けているが、もちろん、データ入力用に、３以上のデータバッファを設けている場合も同様である。  
【００３９】
ここでは、一例として、データ入力用のデータバッファＤＢ３およびデータ出力用のデータバッファＤＢ８が他の処理部１０−２等と接続されない場合について説明する。この場合には、データバッファＤＢ３、ＤＢ４を含むデータ入力用の経路が使用されないことになる。また、例えば、データバッファＤＢ５、スイッチＳＷ１、データバッファＤＢ６を含む経路がデータ出力用として使用されるとする。この場合には、データバッファＤＢ７、スイッチＳＷ１、データバッファＤＢ８を含む経路が使用されないことになる。
【００４０】
この場合に、情報処理装置１を試験する際に、制御情報保持部１３−１の第１の指示ビットは、データバッファＤＢ５をデータバッファＤＢ７に接続するように設定される。さらに、第２の指示ビットは、データバッファＤＢ５をデータバッファＤＢ８に接続するように設定される。すなわち、データバッファＤＢ５のデータが複製されてデータバッファＤＢ８に出力される。
【００４１】
また、第３の指示ビットは、他の処理部１０−２からのデータをデータバッファＤＢ１に入力するように設定される。また、第４の指示ビットは、データバッファＤＢ８からのデータをデータバッファＤＢ３に入力するように設定される。したがって、データバッファＤＢ５に保持されたデータは、データバッファＤＢ６を通じて他の処理部１０−２に転送されるとともに、スイッチＳＷ１によって複製され、ＳＷ３を通じてデータバッファＤＢ３に折り返される。データバッファＤＢ８およびスイッチＳＷ３が第１の出力部の一例である。
【００４２】
すでに述べたように、データ転送部１２Ｂ−１の構成は、データ転送部１２Ａ−１の構成と同様である。したがって、例えば、データ転送部１２Ｂ−１も、データバッファＤＢ８およびスイッチＳＷ３と同様の構成を有する。そして、データ転送部１２Ｂ−１のデータバッファＤＢ８およびスイッチＳＷ３に相当するスイッチが第２の出力部の一例である。
【００４３】
したがって、データバッファＤＢ３、ＤＢ４を含む経路は、他の処理部１０−２等に接続されない場合であっても、データ処理部１１−１で処理され、データバッファＤＢ５に出力されるデータを用いて、模擬的又は擬似的にデータを入力することができる。データバッファＤＢ３、ＤＢ４を含む経路に入力されたデータは、既存のデータ検証部、例えば、ＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）用チェッカ、パリティチェッカ、プロトコルチェッカ等によって、検証される。
【００４４】
また、データ出力用のデータバッファＤＢ８に保持されるデータも、上記データバッファＤＢ３、ＤＢ４を含む経路の既存のデータ検証部によって検証される。さらに、データバッファＤＢ７については、データバッファＤＢ５の代わりに、他の処理部１０−２等に接続するように、制御情報保持部１３−１の設定を変更することにより、上記データバッファＤＢ５の場合と同様に、他の処理部１０−２等との間で試験できる。
【００４５】
以上は、データ入力用のデータバッファＤＢ３およびデータ出力用のデータバッファＤＢ８が他の処理部１０−２等と接続されない場合について説明した。しかし、データ入力用のデータバッファＤＢ１およびデータ出力用のデータバッファＤＢ６が他の処理部１０−２等と接続されない場合についても、上記と同様の試験を実行できる。
【００４６】
また、以上は、主として、データ転送部１２Ａ−１を例に説明した。しかし、第２の出力部としてのデータ転送部１２Ｂ−１の処理、機能、作用もデータ転送部１２Ａ−１と同様である。また、以上は、主として、送信装置として処理部１０−１を例に説明した。しかし、受信装置としての処理部１０−２の処理、機能、作用も処理部１０−１と同様である。例えば、処理部１０−２は、第２の情報処理部として、データ処理部１１−２を有し、処理部１０−１と同様の機能を提供する。
【００４７】
図６は、信号を無効化する構成を例示する図である。第１実施例では、図５のように、処理部１０の数が最大構成時の処理部１０の数よりも少ない場合に、データバッファＤＢ５等の他の処理部１０−２等に出力されるデータを折り返して、データバッファＤＢ３を含む経路に入力する。しかし、このような処理を行うと、データ処理部１１−１は、データバッファＤＢ３を含む経路から本来受け取らないデータを入力されることなる。その結果、試験実行時に、データ処理部１１−１の処理が矛盾を生じる可能性がある。そこで、折り返した経路から受信したデータをデータ処理部１１−１の手前で無効化する機構を用いる。
【００４８】
図６の例では、制御情報保持部１３−１の信号がデータバッファＤＢ２、データバッファＤＢ４にも入力される。制御情報保持部１３−１には、上記第１の指示ビットから第４の指示ビットに加えて、さらに、第５、第６の指示ビットを設ける。
【００４９】
第５の指示ビットは、例えば、データバッファＤＢ２の出力をイネーブルまたはディスエーブルに制御する。例えば、第５の指示ビットは、データバッファＤＢ２の入出力間を高インピーダンス状態で遮断するトライステートバッファやＡＮＤゲート等の遮断回路を制御するようにすればよい。あるいは、第５の指示ビットは、例えば、データバッファＤＢ２の出力の有効／無効を指示するバリッドフラッグとして機能させてもよい。
【００５０】
同様に、第６の指示ビットは、例えば、データバッファＤＢ４の出力をイネーブルまたはディスエーブルに制御する。また、第６の指示ビットは、例えば、データバッファＤＢ４の出力の有効／無効を指示するバリッドフラッグとして機能させてもよい。
【００５１】
このような構成によって、例えば、データバッファＤＢ５、ＤＢ７等のデータを折り返して、データバッファＤＢ３を含む経路に入力した場合に、第６の指示ビットによってデータバッファＤＢ４のデータを無効化すればよい。同様に、例えば、データバッファＤＢ５、ＤＢ７等のデータを折り返して、データバッファＤＢ１を含む経路に入力した場合に、第５の指示ビットによってデータバッファＤＢ３のデータを無効化すればよい。
【００５２】
データバッファＤＢ２あるいはＤＢ４等の入出力間を高インピーダンス状態で遮断する遮断回路、あるいは、データバッファＤＢ２、ＤＢ４等の出力の有効／無効を指示するバリッドフラッグ等が無効化部の例である。
【００５３】
以上述べたように、第１実施例に係る情報処理装置１は、処理部１０の数が最大構成の数ではない構成で、未使用のインターフェース回路、例えば、図５のデータバッファＤＢ３、ＤＢ７、ＤＢ８等を含む場合であっても、処理部の増設なしに処理部が増設した場合に近い状態の試験を行うことができる。例えば、データ入力用として、データバッファＤＢ１、ＤＢ２が使用され、データ出力用としてデータバッファＤＢ５、ＤＢ６が使用される場合には、データバッファＤＢ５のデータを複製する。そして、複製されたデータは、未使用のデータバッファＤＢ８に出力され、さらに、転送先となる処理部１０−２への経路から分岐した折り返し経路Ｌ２を通じて、未使用のデータバッファＤＢ３に入力される。その結果、データバッファＤＢ３、ＤＢ４を含む未使用の経路を通じて転送されたデータを既存のデータ検証部によって、検証すればよい。さらに、折り返されたデータは、例えば、データ処理部１１−１に入力前に、データバッファＤＢ４において無効化することによって、データ処理部１１−１内での矛盾の発生を抑制できる。
【００５４】
このような構成は、図４に示したそれぞれの処理部１０−１、１０−２のそれぞれのデータ転送部１２Ａ−１、１２Ｂ−１、１２Ａ−２、１２Ｂ−２等に備えられている。したがって、情報処理装置１、送信装置としての処理部１０−１、受信装置としての処理部１０−２は、最大構成ではない将来の増設可能な構成、あるいは、極力単体に近い構成で、極力多数の部分を活性化した試験を実行することが可能となる。
【００５５】
さらに、以上のような試験は、制御情報保持部１３−１の指示ビットの設定によって、スイッチＳＷ１からＳＷ３の切り替え、およびデータバッファＤＢ２、ＤＢ４等の無効化等を通じて簡易に制御できる。
【００５６】
（変形例）
上記第１実施例では、図５、図６において、スイッチの接続を示す第１の指示ビット〜第６の指示ビットによってスイッチＳＷ１〜３の切り替え、およびデータバッファＤＢ２、ＤＢ４等の無効化の有無を制御情報保持部１３が指示する例を示した。第１実施例の構成では、いわば、スイッチＳＷ１〜３等、あるいは、データバッファＤＢ２等のような指示対象ごとに制御情報が設定された。このような構成に代えて、接続先の他の処理部１０−２等に応じて制御情報保持部１３に指示ビットを保持するようにしてもよい。例えば、処理部１０−１に対して、他の処理部１０が合計４個接続可能である場合に、４個の他の処理部１０と接続されているか否かを４個の指示ビットとして、IEEE1149.1のＪＴＡＧ（Joint Test Architecture Group）規格に規定される試験状態を表す制御信号であるTEST_MODE[0:3]に設定してもよい。例えば、TEST_MODE[i]=0は、処理部１０−１が他の処理部１０−ｉと接続されていることを示し、TEST_MODE[i]=1は、処理部１０−１が他の処理部１０−ｉと接続されていないことを示す。図４、図５、図６では、処理部１０−１と１０−２とが例示されているが、以下の説明では、処理部１０の数は２以上として説明する。また、データバッファＤＢ５とＤＢ６とを含む出力信号のライン、データバッファＤＢ７とＤＢ８とを含む出力信号のライン以外に、さらに出力信号のラインがあるとして説明する。また、スイッチＳＷ２、データバッファＤＢ１、ＤＢ２を含む入力信号のライン、スイッチＳＷ３、データバッファＤＢ３、ＤＢ４を含む入力信号のライン以外にさらに入力信号のラインがあるとして説明する。さらに、出力信号のライン、および入力信号のラインに対応して、折り返しラインＬ２、Ｌ３以外にも、折り返しラインがあるとして説明する。
【００５７】
このような制御情報保持部１３の指示ビットにしたがって、スイッチＳＷ１〜３の切り替え、およびデータバッファＤＢ２、ＤＢ４等の無効化の有無を制御情報保持部１３が予め定められた試験を実行するようにすればよい。例えば、TEST_MODE[0:3]のすべてが０の場合、処理部１０−１は、他の処理部１０−ｉ（ｉ＝２，３、４、５）すべてと接続されていることを示す。この場合には、スイッチＳＷ１は、信号の複製を行わず、データＤＢ５をそのままデータバッファＢ６に、そしてデータバッファＤＢ７をそのままデータバッファＤＢ８に接続すればよい。
【００５８】
また、スイッチＳＷ２、ＳＷ３等は、折り返しラインＬ２、Ｌ３等からの信号ではなく、他のデータ処理部１０からの信号をそのままデータバッファＤＢ１、ＤＢ３等に接続すればよい。また、データバッファＤＢ２、ＤＢ４等では、信号の無効化を行わないようにすればよい。
【００５９】
一方、例えば、TEST_MODE[0:3]のいずれか１以上のビットが１の場合、データ処理部１０−１は、いずれか１以上の他のデータ処理部１０と接続されないことになる。その場合、データ出力側のデータバッファＤＢ６、ＤＢ８等のいずれかは、他のデータ処理部１０とは接続されない。また、データ入力側のデータバッファＤＢ１、ＤＢ３等のいずれかは、他のデータ処理部１０とは接続されない。この場合には、スイッチＳＷ１は、TEST_MODE[0]からTEST_MODE[3]までの間で、ビット０が設定されているビット位置に対応するデータバッファの信号を複製して、ビット０が設定されているビット位置に対応するデータバッファに複製すればよい。例えば、TEST_MODE[0]=0で、TEST_MODE[1:3]がいずれも１の場合には、TEST_MODE[0]のビットに対応するデータバッファＤＢ５の信号をデータバッファＤＢ６に入力する他、さらに他のデータバッファＤＢ８等にも複製するようにすればよい。
【００６０】
一方、TEST_MODE[1:3]等に対応するスイッチＳＷ３等は、折り返しラインＬ２等の信号を選択すればよい。また、TEST_MODE[1:3]等に対応するデータバッファＤＢ４等は、信号の無効化を行えばよい。以上のように、他のデータ処理部１０と接続されているかいないかを示すTEST_MODE[i]によって、（１）他のデータ処理部１０からの信号を受信するか（２）信号の複製、折り返し、無効化という一連の経路からの信号を用いるかを切り替えるようにすればよい。
【００６１】
＜第２実施例＞
図７から図１６を参照して第２実施例に係る情報処理装置１について説明する。第２実施例においても、情報処理装置１の構成は、基本的には、第１実施例と同様である。そこで、第２実施例において、第１実施例と同一の構成要素には同一の符号を付してその説明を省略する。
【００６２】
図７は、第２実施例に係る情報処理装置１の構成を例示する図である。第２実施例に係る情報処理装置１は、最大構成では、例えば、図３に示したように、ＣＰＵ００からＣＰＵ０３、ＣＰＵ１０からＣＰＵ１３、クロスバースイッチＸＢ０、ＸＢ１を含む。図７では、最大構成の情報処理装置１のうち、ＣＰＵ００からＣＰＵ０３、およびクロスバースイッチＸＢ０が例示されている。また、ＣＰＵ００に対して、ＤＩＭＭ（Dual Inline Memory Module）３０が接続されている。ＤＩＭＭ３０は、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。ＤＩＭＭ３０は、ＣＰＵ００内のＤＩＭＭ  コントローラ２３を介して、ＭＣ（Memory Controller）２２に接続されている。ＤＩＭＭ３０は、ＣＰＵ００内の主記憶装置の容量をさらに増設するためのメモリとして用いられる。
【００６３】
図７のように、ＣＰＵ００は、例えば、２つのコア、すなわちＣＰＵ  ＣＯＲＥ０、ＣＰＵ  ＣＯＲＥ１を有する。ただし、ＣＰＵ００の有するコアが２つに限定される訳ではない。以下、複数のコアを単にＣＰＵ  ＣＯＲＥ０等という。
また、図７に示すように、ＣＰＵ００等は、ＭＣ２２、ルータ２１、ＤＩＭＭコントローラ２３を有する。
【００６４】
ＣＰＵ  ＣＯＲＥ０等は、主記憶装置あるいはＤＩＭＭ３０に実行可能に展開されたコンピュータプログラムによりＣＰＵ００におけるデータ処理を実行する。データ処理において、ＣＰＵ  ＣＯＲＥ０等は、ＭＣ２２を通じて主記憶装置にアクセスする。例えば、ＣＰＵ  ＣＯＲＥ０等は、図示しないキャッシュ上に処理対象のデータが存在しない場合に、ＭＣ２２にデータの取得を要求する。
【００６５】
ＭＣ２２は、取得要求されたデータの格納先を保持している。そこで、ＭＣ２２は、取得要求されたデータの格納先をデータ取得要求先としてデータの読み出し処理を実行する。例えば、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等のからのデータ取得要求先が、ＣＰＵ００内の主記憶装置あるいはＤＩＭＭ３０である場合には、取得要求されたアドレスからデータを読み出し、要求元のＣＰＵ  ＣＯＲＥ０等に引き渡す。また、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等のからのデータ取得要求先が、他のＣＰＵ０１からＣＰＵ０３あるいはＸＢ０を介して接続される他のＣＰＵである場合には、データ所得要求をルータ２１に引き渡す。  
【００６６】
ルータ２１は、ＭＣからのデータ取得要求中でデータ所得先として指定されたＣＰＵの論理情報を基に、指定されたＣＰＵに接続される入出力インターフェースを特定する。例えば、データ取得先としてＣＰＵ１が指定されている場合には、ルータ２１は、出力インターフェースＤＬＯＵＴ０に、ＣＰＵ１宛のデータ取得要求を出力する。データ取得要求されるデータは、例えば、ＣＰＵ０１から入力インターフェースＤＬＩＮ０に入力されるので、ルータ２１は、入力インターフェースＤＬＩＮ０に入力されたデータをＭＣ２２に引き渡す。
【００６７】
また、例えば、ＣＰＵ  ＣＯＲＥ０等は、処理したデータの主記憶装置あるいは他のＣＰＵの主記憶装置への保存をＭＣ２２に要求する。ＭＣ２２は、保存を要求されたデータの格納先を保持している。そこで、ＭＣ２２は、保存を要求されたデータの格納先をデータ書き込み要求先としてデータの書き込み処理を実行する。例えば、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等のからのデータ書き込み要求先が、ＣＰＵ００内の主記憶装置あるいはＤＩＭＭ３０である場合には、書き込み要求されたアドレスにデータを書き込む。また、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等のからのデータ書き込み要求先が、他のＣＰＵ０１からＣＰＵ０３あるいはＸＢ０を介して接続される他のＣＰＵである場合には、データ書き込み要求をルータ２１に引き渡す。  
【００６８】
ルータ２１は、ＭＣからのデータ書き込み要求中で指定されたＣＰＵの論理情報を基に、指定されたＣＰＵに接続される入出力インターフェースを特定する。例えば、データ書き込み要求先としてＣＰＵ１が指定されている場合には、ルータ２１は、出力インターフェースＤＬＯＵＴ０に、ＣＰＵ１宛のデータ書き込み対象のデータを出力する。
【００６９】
他の入力インターフェースＤＬＩＮ１からＤＬＩＮ３、出力インターフェースＤＬＯＵＴ１からＤＬＯＵＴ３についても、処理は、ＤＬＩＮ０、ＤＬＯＵＴ０と同様である。出力インターフェースＤＬＯＵＴ０からＤＬＯＵＴ３、入力インターフェースＤＬＩＮ０からＤＬＩＮ３は、例えば、通信プロトコル階層のデータリンク層の機能に相当する。
【００７０】
図７では、出力インターフェースＤＬＯＵＴ０からＤＬＯＵＴ３、入力インターフェースＤＬＩＮ０からＤＬＩＮ３には、それぞれパラレル／シリアル変換部（以下、単に変換部という）ＳｅｒＤｅｓ０からＳｅｒＤｅｓ３が接続されている。変換部ＳｅｒＤｅｓ０等は、出力インターフェースＤＬＯＵＴ０等からパラレル信号を受けて、シリアル信号に変換し、他のＣＰＵ０１等に転送する。また、変換部ＳｅｒＤｅｓ０等は、他のＣＰＵ０１等からシリアル信号を受信し、パラレル信号に変換し、入力インターフェースＤＬＩＮ０等に入力する。変換部ＳｅｒＤｅｓ０等は、例えば、２分の１の周波数にクロックを分周して１：２の周波数比の２種類のクロックを生成する回路と、２：１にデータを多重化するマルチプレクサとを複数段組み合わせた構成を有する。ただし、変換部ＳｅｒＤｅｓ０等の構成については省略する。
【００７１】
図８に、ＣＰＵ００内のルータ２１の詳細構成をルータ２１の周辺回路とともに例示する。以下、第２実施例では、ＣＰＵ００からＣＰＵ０３、ＣＰＵ１０からＣＰＵ１３等の間で授受されるデータをパケットと呼ぶ。以下、ＣＰＵ００からＣＰＵ０３をＣＰＵ００〜０３のように記述する。ＣＰＵ１０からＣＰＵ１３も同様に、ＣＰＵ１０〜１３のように記述する。ＳｅｒＤｅｓ、ＤＬＩＮ、ＤＬＯＵＴ等も同様である。
【００７２】
すでに、図７で説明したように、例えば、ＣＰＵ００は、変換部ＳｅｒＤｅｓ０〜３、入力インターフェースＤＬＩＮ０〜３、および出力インターフェースＤＬＯＵＴ０〜３を有する。なお、入力インターフェースＤＬＩＮ０〜３、および出力インターフェースＤＬＯＵＴ０〜３は、変換部ＳｅｒＤｅｓ０〜３とルータ２１とのインターフェース制御を担当する。
【００７３】
図８では、入力インターフェースＤＬＩＮ０、出力インターフェースＤＬＯＵＴ０、および変換部ＳｅｒＤｅｓ０の詳細が例示されている。入力インターフェースＤＬＩＮ０は、例えば、入力バッファＤＩ０およびＣＲＣチェッカ（CRC Checker）を有する。したがって、入力バッファＤＬＩＮ０は、入力バッファＤＩ０に格納された入力データにＣＲＣチェックを実行する。入力バッファＤＬＩＮ０は、ハードウェア回路であってもよいし、あるいは、ＤＳＰがコンピュータプログラムを実行して提供する処理部であってもよい。
【００７４】
出力インターフェースＤＬＯＵＴ０〜３は、バッファを含むハードウェア回路であってもよいし、ＤＳＰがコンピュータプログラムを実行することによって提供する機能であってもよい。図８では、例えば、出力インターフェースＤＬＯＵＴ０は、リトライバッファＤＯ０を有する。リトライバッファＤｏ０のパケットは、変換部ＳｅｒＤｅｓ０に引き渡される。
【００７５】
変換部ＳｅｒＤｅｓ０は、スイッチＳＷ２０と、他のＣＰＵに転送される出力データＯＤをスイッチＳＷ２０に分岐して折り返す折り返しラインＬ２０を有する。すなわち、変換部ＳｅｒＤｅｓ０は、図７ですでに説明したパラレルシリアル変換を実行する他、折り返し線Ｌ２０を介して、出力データＯＤを折り返す。
【００７６】
また、スイッチＳＷ２０は、他のＣＰＵから入力される入力データＩＤおよび折り返しラインＬ２０からの折り返しデータＯＤのいずれかを選択し、入力インターフェースＤＬＩＮ０に引き渡す。変換部ＳｅｒＤｅｓ０が第１の出力部の一例である。同様に、変換部ＳｅｒＤｅｓ１が第２の出力部の一例である。
【００７７】
他の入力インターフェースＤＬＩＮ１〜３、出力インターフェースＤＬＯＵＴ１〜３、変換部ＳｅｒＤｅｓ１〜３の処理は、入力インターフェースＤＬＩＮ０、出力インターフェースＤＬＯＵＴ０、変換部ＳｅｒＤｅｓ０と同様である。
【００７８】
図８のように、ルータ２１はパケットの発行を制御するＭＣ２２から外部、例えば、他のＣＰＵに発行するパケットを受信するための出力バッファＯＢ０〜３、出力バッファＯＢ０〜３のそれぞれからパケットを読み出し、出力インターフェースＤＬＯＵＴ０〜３に対してパケットを送信するための送信制御部ＳＥＮＤ−ＣＴＲＬ０〜３を有する。また、ルータ２１は、出力バッファＯＢ０〜３のそれぞれから読み出したパケットを格納するレジスタＲ０〜３、テストモード時にバスを選択するためのバスセレクタＳ０〜３を含む。バスセレクタＳ０が、第１の選択部の一例である。また、バスセレクタＳ１が、第２の選択部の一例である。
【００７９】
さらにまた、ルータ２１は、入力インターフェースＤＬＩＮ０〜３からのパケットを受信するレジスタＲ４〜７、受信したパケットを書き込む為のバッファＩＢＵＦ０〜３、ＩＢＵＦへのパケット書き込み、およびＭＣ２２へのパケット送信を制御するための受信制御部ＲＣＶ−ＣＴＲＬ０〜３、ＩＢＵＦ０〜３からのパケットの読み出しの競合を処理する調停回路ＡＲを有する。さらに、ルータ２１は、テストモードか否かを設定するための制御情報保持部１３を有する。制御情報保持部１３は、テストモードビットTEST_MODE[0:3]を格納したラッチを含む。
【００８０】
レジスタＲ４〜７は、入力インターフェースＤＬＩＮ０〜３に対してそれぞれ設けられ、入力インターフェースＤＬＩＮ０〜３からのデータをそれぞれ保持する。レジスタＲ４〜７は、いずれも例えば、１パケット分のデータを保持するラッチである。
【００８１】
さらに、例えば、レジスタＲ４に対して次段にバッファＩＢＵＦ０が接続される。レジスタＲ４が１パケット分のデータを保持し、一方、バッファＩＢＵＦ０は、複数パケットのデータを保持するようにすればよい。ここで、１パケットは、所定のビット数例えば、８ビット、１６ビット、３２ビット、６４ビット等のデータ部（ペイロード）を含む。
【００８２】
さらに、バッファＩＢＵＦ０の次段には、データ検証部ＰＣＣ（Parity & Protocol checker）が設けられている。データ検証部ＰＣＣは、バッファＩＢＵＦ０からＭＣ２２に引き渡されるデータのＣＲＣ、パリティ、所定のプロトコルにしたがったデータ形式及びデータ送信手順であるか否か等のチェック等を実行する。データ検証部ＰＣＣは、ＣＲＣ、パリティ、プロトコルチェック等の演算を実行するハードウェア回路として例示できる。ただし、ＤＳＰ（Data Signal Processor）等がコンピュータプログラムを実行し、データ検証部ＰＣＣとして機能してもよい。
【００８３】
さらに、図８のように、レジスタＲ４、バッファＩＢＵＦ０、およびデータ検証部ＰＣＣの経路と並んで受信制御部ＲＣＶ−ＣＴＲＬ０が設けられている。受信制御部ＲＣＶ−ＣＴＲＬ０は、バッファＩＢＵＦ０にデータが１パケット以上存在する場合に、アービタＡＲを通じて、ＭＣ２２にデータ入力を要求する。受信制御部ＲＣＶ−ＣＴＲＬ０の処理は、例えば、ラッチ、カウンタ等のハードウェア回路で実現されてもよいし、ＤＳＰがコンピュータプログラムを実行して提供してもよい。なお、受信制御部ＲＣＶ−ＣＴＲＬ０、レジスタＲ４、バッファＩＢＵＦ０、データ検証部ＰＣＣを含む回路部分は入力部と呼ばれ、第１の入力部の一例である。同様に、受信制御部ＲＣＶ−ＣＴＲＬ１、レジスタＲ５、バッファＩＢＵＦ１、データ検証部ＰＣＣを含む回路部分も入力部と呼ばれ、第２の入力部の一例である。なお、受信制御部ＲＣＶ−ＣＴＲＬ２等を含む回路部分、受信制御部ＲＣＶ−ＣＴＲＬ３等を含む回路部分も入力部と呼ばれる。
【００８４】
図８のアービタＡＲは、ＭＣ２２と、複数の入力部との間で、データの入力処理を調停する調停部である。すなわち、アービタＡＲは、受信制御部ＲＣＶ−ＣＴＲＬ０〜３のうちの複数からデータの入力要求があった場合に、どの入力要求を優先するかを所定の基準で決定する。入力要求の優先順の基準に特に限定はない。例えば、ラウンドロビンで入力要求を決定してもよい。また、例えば、それぞれの入力部がアービタＡＲに、保持するパケット数を通知するようにしてもよい。例えば、受信制御部ＲＣＶ−ＣＴＲＬ０〜３が、入力要求とともに、バッファＩＢＵＦ０〜３に保持するパケット数を通知すればよい。そして、アービタＡＲが、保持するパケット数の多い入力部を優先して、データの入力を調停すればよい。
【００８５】
また、図８のように、データ検証部ＰＣＣと受信制御部ＲＣＶ−ＣＴＲＬ０等からアービタＡＲに入力される伝送路には、ＡＮＤゲート列Ａ０〜７が設けられている。これらのＡＮＤゲート列Ａ０〜７は、受信制御部ＲＣＶ−ＣＴＲＬ０等からアービタＡＲへのデータ入力要求をイネーブルまたはディスエーブルにする。また、これらのＡＮＤゲート列Ａ０〜７は、データ検証部ＰＣＣから入力される検証済みデータのアービタＡＲへのデータの入力をイネーブルまたはディスエーブルにする。例えば、入力インターフェースＤＬＩＮ０のデータを有効にしてＭＣ２２に引き渡す場合には、受信制御部ＲＣＶ−ＣＴＲＬ０に接続されるＡＮＤゲートＡ０、および、レジスタＲ４、バッファＩＢＵＦ０、およびデータ検証部ＰＣＣに接続されるＡＮＤゲートＡ１に対して、制御情報保持部１３から、イネーブル信号、すなわち、ＡＮＤゲートＡ０、Ａ１に論理値０が供給される。また、入力インターフェースＤＬＩＮ０のデータを無効化してＭＣ２２に引き渡さない場合には、これらのＡＮＤゲートＡ０、Ａ１に対して、ディスエーブル信号、すなわち、ＡＮＤゲートＡ０、Ａ１に論理値１が供給される。
【００８６】
他のＡＮＤゲート、例えば、受信制御部ＲＣＶ−ＣＴＲＬ１に接続されるＡＮＤゲート２、およびレジスタＲ５、ＩＢＦ１、ＰＣＣを含む経路に接続されるＡＮＤゲート３についても同様である。また、受信制御部ＲＣＶ−ＣＴＲＬ２に接続されるＡＮＤゲート４、およびレジスタＲ６、ＩＢＦ２、ＰＣＣを含む経路に接続されるＡＮＤゲート５についても同様である。また、受信制御部ＲＣＶ−ＣＴＲＬ３を含むＡＮＤゲート６、およびレジスタＲ７、ＩＢＦ３、ＰＣＣを含む経路に接続されるＡＮＤゲート７についても同様である。図８においては、ＡＮＤゲートＡ０〜７が無効化部の一例である。ただし、ＡＮＤゲートに代えて、アービタＡＲへの入力を遮断可能なトランジスタを用いてもよい。
【００８７】
出力バッファＯＢ０〜３は、レジスタＲ０〜３に供給されるデータを保持する。そして、例えば、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、出力バッファＯＢ０に出力データが存在する場合に、レジスタＲ０に１パケット分のデータを読み出す制御を実行する。送信制御部ＳＥＮＤ−ＣＴＲＬ０の処理は、ハードウェア回路で実行されてもよいし、ＤＳＰがコンピュータプログラムによって実行してもよい。
【００８８】
バスセレクタＳ０からＳ３は、レジスタＲ０からＲ３のいずれかからのデータを選択し、それぞれ、出力インターフェースＤＬＯＵＴ０〜３に出力する。レジスタＲ０が第１の保持部の一例である。また、レジスタＲ１が第２の保持部の一例である。
【００８９】
次に、図８に示したＣＰＵ００の通常動作時におけるパケット伝送の処理を以下説明する。通常動作とは、試験時ではない、通常の運用時をいう。ＣＰＵ００からＣＰＵ０１に対してパケットを伝送する場合、ＣＰＵ０１のＭＣ２２から出力バッファＯＢ０にパケットが書き込まれる。次にＣＰＵ００のパケット送信制御部ＳＥＮＤ−ＣＴＲＬ０は、図１０に示されるフローにしたがい、パケットをＤＬＯＵＴ０に送出する。ＤＬＯＵＴ０に転送されたパケットはバッファＤＯ０、ＣＰＵ００のＳｅｒＤｅｓ０を通してＣＰＵ０１のＳｅｒＤｅｓ０に転送される。
【００９０】
ＣＰＵ１のＳｅｒＤｅｓ０で受け取ったパケットはＣＰＵ１のＤＬＩＮ０に転送され、ＣＲＣチェック等によりパケットが正常であることが確認されるとＣＰＵ１のＲ４に送信される。ＣＰＵ１のＲ４に送信されたパケットは図１１に示されるフローにしたがってＩＢＵＦ０に書き込まれ、ＭＣ２２に送信される。ＣＰＵ００からＣＰＵ０２、ＣＰＵ０３、ＸＢ０に対するパケット伝送も同様にして実行される。
【００９１】
次に、ＣＰＵ００の試験動作時におけるパケット伝送の処理を以下説明する。ＣＰＵ００の試験動作は、制御情報保持部１３のテストモードビット TEST_MODE[0:3]に値を設定することによって有効となる。TEST_MODE[0:3]の値はバスセレクタＳ０〜Ｓ３，ＳｅｒＤｅｓ０〜３，ＲＥＣＶ−ＣＴＲＬ０〜３に通知され、各機能ブロックはTEST_MODE[0:3]の値にしたがって動作を変更する。制御情報保持部１３に対する値の設定はＪＴＡＧやＩ２Ｃ（Inter-Integrated Circuit）等ＬＳＩに備わっている試験用機能のインターフェースを利用して外部から実施する。ただし、制御情報保持部１３に対する値の設定が、ＪＴＡＧやＩ２Ｃに限定される訳ではない。
【００９２】
ＪＴＡＧは、ＬＳＩチップの内部回路とＬＳＩチップ外の装置とが通信する規格である。ＪＴＡＧ規格にしたがったＬＳＩチップ内には、クロック、データ入力、データ出力、状態制御を指示する信号端子が用意され、この信号端子を通じてＬＳＩチップに対してバウンダリスキャンテスト（Boundary Scan Test）と呼ばれるテストが実行される。Ｉ２Ｃは、ＬＳＩ内部等とＬＳＩチップ外の装置等とがシリアル通信を行う規格である。なお、第２実施例では、制御情報保持部１３が保持するビット数として４ビットが例示される。しかし、制御情報保持部１３が保持するビット数が４ビットに限定される訳ではない。すなわち、ＣＰＵが接続される相手先ＣＰＵの数に応じて、TEST_MODEのビット数を定めればよい。
【００９３】
TEST_MODE[0:3]はインターフェースごとの設定値であり、接続先に実際にチップ（相手ＣＰＵ）が存在するインターフェースに対しては'0'、それ以外のインターフェースに対しては'1'を設定する。
【００９４】
通常動作時はTEST_MODE[0:3]=0000に設定する。今、例えば、ＤＬＩＮ０とＤＬＯＵＴ０を含むＣＰＵ０−ＣＰＵ１経路をインターフェース０と呼ぶ。また、一般的に、ＤＬＩＮｉとＤＬＯＵＴｉを含むＣＰＵ０−ＣＰＵｉ間の経路をインターフェースｉと呼ぶ。ここで、ｉは、１、２または３である。インターフェース０を通常動作にして残りのインターフェース１、２、３をテストモードに設定する場合TEST_MODE[0:3]=0111にする。ただし、インターフェースの数は、接続可能な相手ＣＰＵの数に依存するので、インターフェースの数が４に限定される訳ではない。
【００９５】
以下、TEST_MODE[0:3]=0111時の動作を例示する。TEST_MODE[0:3]=0111は、図１の構成で例示される。図１では、ＣＰＵ０、ＣＰＵ１を接続した状態で、他のＣＰＵ、および中継チップ（クロスバースイッチＸＢ０、ＸＢ１等）は接続されていない。したがって、情報処理装置１がＣＰＵ０、ＣＰＵ１を有し、他のＣＰＵとの通信を含めて試験を実行することを想定している。
【００９６】
図９に、TEST_MODE[0:3]=0111設定時の論理的な接続関係を例示する。TEST_MODE[0]=0であるので、ＣＰＵ００とＣＰＵ０１の両方において、レジスタＲ０の信号は、バスセレクタＳ０において、そのまま出力インターフェースＤＬＯＵＴ０に伝送される。また、ＣＰＵ００とＣＰＵ０１の間で、インターフェース０、すなわち、入力インターフェースＤＬＩＮ０、出力インターフェースＤＬＯＵＴ０の信号は、変換部ＳｅｒＤｅｓ０でパラレルシリアル変換され、相互に接続される。すなわち、ＣＰＵ００の出力インターフェースＤＬＯＵＴ０の信号がＣＰＵ０１の入力インターフェースＤＬＩＮ０に接続される。また、ＣＰＵ０１の出力インターフェースＤＬＯＵＴ０の信号がＣＰＵ００の入力インターフェースＤＬＩＮ０に接続される。
【００９７】
一方、TEST_MODE[1:3]=111であるので、バスセレクタＳ１、Ｓ２、およびＳ３では、レジスタＲ０の信号が複写され、出力インターフェースＤＬＯＵＴ１、ＤＬＯＵＴ２、ＤＬＯＵＴ３に引き渡される。さらに、出力インターフェースＤＬＯＵＴ１の信号は、変換部ＳｅｒＤｅｓ１において折り返されて入力インターフェースＤＬＩＮ１に戻される。同様に、出力インターフェースＤＬＯＵＴ２の信号は、変換部ＳｅｒＤｅｓ２において折り返されて入力インターフェースＤＬＩＮ２に戻される。同様に、出力インターフェースＤＬＯＵＴ３の信号は、変換部ＳｅｒＤｅｓ３において折り返されて入力インターフェースＤＬＩＮ３に戻される。
【００９８】
ＣＰＵ００からＣＰＵ０１に対してパケットを転送する場合、最初にＣＰＵ００のＭＣ２２から出力バッファＯＢ０にパケットが書き込まれる。次にＣＰＵ０のパケット送信制御部ＳＥＮＤ−ＣＴＲＬ０は図１０に示されるフローにしたがい、レジスタＲ０を通してパケットをＤＬＯＵＴ０に送出する。ここで、バスセレクタＳ０〜Ｓ３は、図１２−１５に示されるバス選択論理にしたがう。通常動作(TEST_MODE=0000)のときには、バスセレクタＳ０はレジスタＲ０を選択し、バスセレクタＳ１はレジスタＲ１を選択し、バスセレクタＳ２はレジスタＲ２を選択し、バスセレクタＳ３はレジスタＲ３を選択する。しかし、TEST_MODE[0:3]=0111のときには、上述のように、バスセレクタＳ０からＳ３のすべてがＲ０からの信号を選択する。結果として、ＤＬＯＵＴ０にＣＰＵ００からのパケットが転送されるとともに複製されたパケットがＤＬＯＵＴ１、ＤＬＯＵＴ２、ＤＬＯＵＴ３に転送される。
【００９９】
ＤＬＯＵＴ０〜３のそれぞれに転送されたパケットは、変換部ＳｅｒＤｅｓ０〜３に伝送される。上述のように、変換部ＳｅｒＤｅｓ０〜３は、TEST_MODE[0:3]の自身のインターフェース番号に対応するビットが'1'であるときは自身の送出信号を折り返すモードとなる。折り返し機能は一般的に備わっている変換部の回路を使用すればよい。ただし、折り返し機能の回路がない場合はテストモード時にＤＬＯＵＴからＤＬＩＮに折り返すための分岐と折り返し線を含む回路を組み込めばよい。結果として、ＣＰＵ００のＳｅｒＤｅｓ０に伝送されたパケットはＣＰＵ０１の変換部ＳｅｒＤｅｓ０に伝送される。一方、ＣＰＵ００の変換部ＳｅｒＤｅｓ１〜３に伝送されたパケットはＣＰＵ０１のＤＬＩＮ１〜３に伝送される。
【０１００】
ＣＰＵ０１の変換部ＳｅｒＤｅｓ０に伝送されたパケットは通常動作時と同様にＣＰＵ０１の入力インターフェースＤＬＩＮ０，バッファＩＢＵＦ０を通じてＭＣ２２に伝送される。ＣＰＵ００の入力インターフェースＤＬＩＮ１〜３に伝送されたパケットはＣＰＵ００のレジスタＲ５〜Ｒ７に伝送され、図１１のフローチャートにしたがいバッファＩＢＵＦ１〜３へ書き込まれる。
【０１０１】
このときバッファＩＢＵＦ１〜３に書き込まれたパケットは本来ＣＰＵ００がＣＰＵ０１に送信したパケットであるため、ＣＰＵ００からすれば受け取ることのないパケットである。そのままＣＰＵ００で処理しようとすれば動作異常と判定される可能性がある。そこで、TEST_MODE[1:3]=111にしたがい、図７のＭＣ２２の入り口側のＡＮＤゲートＡ２からＡ７がディスエーブルとされ、ＭＣ２２へのパケット送信は行われず処理が完了する。すなわち、制御情報保持部１３が保持するTEST_MODEの指定にしたがったＡＮＤゲートＡ０からＡ７の動作によって、不要なパケットのＭＣ２２への入力を抑止できる。なお、ＡＮＤゲートをイネーブル／ディスエーブルにする処理は、図１１によって後述する。
【０１０２】
（処理フロー）
以下、図７および図８で例示した試験実行時のハードウェア回路の動作シーケンスをフローチャートにしたがって説明する。図１０は、送信制御部ＳＥＮＤ−ＣＴＲＬ０の処理シーケンスを例示する図である。なお、他の送信制御部ＳＥＮＤ−ＣＴＲＬ１〜３についても、処理は、図１０と同様である。以下の送信制御部ＳＥＮＤ−ＣＴＲＬ０の処理シーケンスは、ハードウェア回路で実現してもよい。また、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジック回路のシーケンサで実現してもよい。また、ＤＳＰがコンピュータプログラムを実行することで実現してもよい。
【０１０３】
この処理では、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、出力バッファ（ＯＢ１等）に送信待ちパケットが存在するか否かを判定する（Ｓ１１）。出力バッファ（ＯＢ１等）に送信待ちパケットが存在する場合、リトライバッファおよび送信先のバッファＩＢＵＦの容量が十分か否かを判定する（Ｓ１２）。ここで、送信先のバッファＩＢＵＦは、例えば、ＣＰＵ００からＣＰＵ０１にデータを送信する場合に、図９に示したＣＰＵ０１のバッファＩＢＵＦ０の容量である。ここで、送信先のバッファＩＢＵＦの容量についての情報はクレジットと呼ばれ、図示しない信号線を通じて、接続されたＣＰＵ間（ＣＰＵ００〜０３、ＣＰＵ１０〜１３等の間）で授受される。
【０１０４】
Ｓ１１およびＳ１２の判定結果がいずれも真（ＹＥＳ）であった場合、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、レジスタＲ０にパケットを読み出し、出力インターフェースＤＬＯＵＴ０および変換部ＳｅｒＤｅｓ０を通じて、ＣＰＵ０１にパケットを送信する（Ｓ１３）。
【０１０５】
一方、Ｓ１１およびＳ１２の判定結果のいずれか一方が偽（ＮＯ）であった場合、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、Ｓ１３の処理を実行せずに終了する。
【０１０６】
図１１は、受信制御部ＲＣＶ−ＣＴＲＬ０の処理シーケンスを例示する図である。なお、他の受信制御部ＲＣＶ−ＣＴＲＬ１〜３についても、処理は、同様である。以下の受信制御部ＲＣＶ−ＣＴＲＬ０の処理シーケンスは、ハードウェア回路で実現してもよい。また、プログラマブルロジックコントローラ等のシーケンサで実現してもよい。また、ＤＳＰがコンピュータプログラムを実行することで実現してもよい。
【０１０７】
この処理では、受信制御部ＲＣＶ−ＣＴＲＬ０は、レジスタＲ４にパケットが到着したか否かを判定する（Ｓ２１）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、レジスタＲ５〜７が判定対象となる。
【０１０８】
レジスタＲ４にパケットが到着すると、受信制御部ＲＣＶ−ＣＴＲＬ０は、Ｒ４で受信したパケットをバッファＩＢＵＦ０に書き込む（Ｓ２２）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、バッファＩＢＵＦ１〜３が書き込み先となる。
【０１０９】
そして、受信制御部ＲＣＶ−ＣＴＲＬ０は、バッファＩＢＵＦ０にパケットが存在するか否かを判定する（Ｓ２３）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、バッファＩＢＵＦ１〜３が判定対象となる。
【０１１０】
バッファＩＢＵＦ０にパケットが存在する場合、受信制御部ＲＣＶ−ＣＴＲＬ０は、制御情報保持部１３のテストモードTEST_MODE[0]が１か否かを判定する（Ｓ２４）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、TEST_MODE[1:3]が判定対象となる。
【０１１１】
Ｓ２４の判定でTEST_MODE[0]が１の場合、受信制御部ＲＣＶ−ＣＴＲＬ０は、データ検証部ＰＣＣによってパケットを取り出し、正常かどうかをチェックする（Ｓ２６）。パケットが正常でない場合（Ｓ２７でＮ）、情報処理装置１での通常のエラー処理が実行される（Ｓ２８）。エラー処理では、例えば、受信制御部ＲＣＶ−ＣＴＲＬ０がＣＰＵ００のＪＴＡＧコマンドへの戻り値等を通じて、図示しないシステム制御用のコンピュータ等にエラーを通知する。また、正常な場合には、そのまま処理が終了する。この場合に、図８に示したように、受信制御部ＲＣＶ−ＣＴＲＬ０の出力側のＡＮＤゲートＡ０およびバッファＩＢＵＦ０からデータ検証部ＰＣＣを通ってアービタＡＲに至る経路のＡＮＤゲートＡ１に、TEST_MODE[0]=1が入力されている。したがって、受信制御部ＲＣＶ−ＣＴＲＬ０の出力は、ＡＮＤゲートＡ０で遮断される。また、バッファＩＢＵＦ０からの出力はＡＮＤゲートＡ１で遮断される。したがって、ＩＢＵＦ０のパケットがデータ検証部で検証された後に、アービタＡＲおよびＭＣ２２に入力されない。
【０１１２】
また、Ｓ２４の判定でTEST_MODE[0]が0の場合、図８のＡＮＤゲートＡ０およびＡ１に、TEST_MODE[0]=0が入力される。この場合、受信制御部ＲＣＶ−ＣＴＲＬ０からアービタＡＲへのアクセスが許容される。そこで、受信制御部ＲＣＶ−ＣＴＲＬ０は、アービタＡＲにデータ入力（パケット送信権）を要求する。そして、受信制御部ＲＣＶ−ＣＴＲＬ０は、アービタＡＲにおいてパケット送信権が獲得できたか否かを判定する（Ｓ２５）。
【０１１３】
そして、パケット送信権が獲得できた場合、受信制御部ＲＣＶ−ＣＴＲＬ０は、通常の手順にしたがって、ＩＢＵＦ０からパケットを取り出す。そして、受信制御部ＲＣＶ−ＣＴＲＬ０は、データ検証部ＰＣＣによって、取り出したパケットが正常かどうかをチェックする（Ｓ２９）。そして、パケットが正常であった場合には（Ｓ２ＡでＹ）、受信制御部ＲＣＶ−ＣＴＲＬ０は、アービタＡＲを通じてＭＣ２２にパケットを送信する（Ｓ２Ｂ）。パケットが正常でない場合（Ｓ２ＡでＮ）、情報処理装置１での通常のエラー処理が実行される（Ｓ２８）。
【０１１４】
図１２に、バスセレクタＳ０のバス選択論理を例示する。図１２は、例えば、ＣＰＵ００のバスセレクタＳ０内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。
【０１１５】
バスセレクタＳ０は、TEST_MODE[0]=0か否かを優先して判定する（Ｓ３１）。そして、TEST_MODE[0]=0の場合に（Ｓ３１でＹ）、バスセレクタＳ０は、レジスタＲ０からの経路を選択する（Ｓ３２）。この場合は、インターフェース０、すなわち、ＤＬＩＮ０およびＤＬＯＵＴ０を通じて、相手ＣＰＵ０１と接続されている場合である。
【０１１６】
一方、Ｓ３１の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ０は、TEST_MODE[1]=0か否かを判定する（Ｓ３３）。そして、TEST_MODE[1]=0の場合に（Ｓ３３でＹ）、バスセレクタＳ０は、レジスタＲ１からの経路を選択する（Ｓ３４）。この場合は、インターフェース１、すなわち、ＤＬＩＮ１およびＤＬＯＵＴ１を通じて、相手ＣＰＵ０１と接続されている場合である。
【０１１７】
さらに、Ｓ３３の判定でTEST_MODE[1]=0でない場合に、次に、バスセレクタＳ０は、TEST_MODE[2]=0か否かを判定する（Ｓ３５）。そして、TEST_MODE[2]=0の場合に（Ｓ３５でＹ）、バスセレクタＳ０は、レジスタＲ２からの経路を選択する（Ｓ３６）。この場合は、インターフェース２、すなわち、ＤＬＩＮ２およびＤＬＯＵＴ２を通じて、相手ＣＰＵ０２と接続されている場合である。
【０１１８】
さらに、Ｓ３５の判定でTEST_MODE[2]=0でない場合に、バスセレクタＳ０は、レジスタＲ３からの経路を選択する（Ｓ３７）。この場合は、インターフェース３、すなわち、ＤＬＩＮ３およびＤＬＯＵＴ３を通じて、相手ＣＰＵ０３と接続されている場合である。
【０１１９】
なお、図１２では、TEST_MODE[0]=0、TEST_MODE[1]=0、TEST_MODE[2]=0、TEST_MODE[3]=0の順で判定した。しかし、バスセレクタＳ０の選択論理は、TEST_MODE[0]=0の判定を優先すればよく、TEST_MODE[1]=0、TEST_MODE[2]=0、TEST_MODE[3]=0の３つの判定に関しては、図１２の通りでなくてもよい。
【０１２０】
図１３に、バスセレクタＳ１のバス選択論理を例示する。図１３は、例えば、ＣＰＵ００のバスセレクタＳ１内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。図１３に示すバスセレクタＳ１の論理は、TEST_MODE[1]=0か否かの判定を優先する点を除いて、図１２でのバスセレクタＳ０の論理と同様である。
【０１２１】
すなわち、バスセレクタＳ１は、TEST_MODE[1]=0か否かを優先して判定する（Ｓ４１）。そして、TEST_MODE[1]=0の場合に（Ｓ４１でＹ）、バスセレクタＳ１は、レジスタＲ１からの経路を選択する（Ｓ４２）。
【０１２２】
一方、Ｓ４１の判定でTEST_MODE[1]=0でない場合に、次に、バスセレクタＳ１は、TEST_MODE[0]=0か否かを判定する（Ｓ４３）。そして、TEST_MODE[0]=0の場合に（Ｓ４３でＹ）、バスセレクタＳ１は、レジスタＲ０からの経路を選択する（Ｓ４４）。
【０１２３】
さらに、Ｓ４３の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ１は、TEST_MODE[2]=0か否かを判定する（Ｓ４５）。そして、TEST_MODE[2]=0の場合に（Ｓ４５でＹ）、バスセレクタＳ１は、レジスタＲ２からの経路を選択する（Ｓ４６）。さらに、Ｓ４５の判定でTEST_MODE[2]=0でない場合に、バスセレクタＳ１は、レジスタＲ３からの経路を選択する（Ｓ４７）。
【０１２４】
図１４に、バスセレクタＳ２のバス選択論理を示す。図１４は、例えば、ＣＰＵ００のバスセレクタＳ２内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。図１４に示すバスセレクタＳ２の論理は、TEST_MODE[2]=0か否かの判定を優先する点を除いて、図１２でのバスセレクタＳ０の論理と同様である。
【０１２５】
すなわち、バスセレクタＳ２は、TEST_MODE[2]=0か否かを優先して判定する（Ｓ５１）。そして、TEST_MODE[2]=0の場合に（Ｓ５１でＹ）、バスセレクタＳ２は、レジスタＲ２からの経路を選択する（Ｓ５２）。
【０１２６】
一方、Ｓ５１の判定でTEST_MODE[2]=0でない場合に、次に、バスセレクタＳ２は、TEST_MODE[0]=0か否かを判定する（Ｓ５３）。そして、TEST_MODE[0]=0の場合に（Ｓ５３でＹ）、バスセレクタＳ２は、レジスタＲ０からの経路を選択する（Ｓ５４）。
【０１２７】
さらに、Ｓ５３の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ２は、TEST_MODE[1]=0か否かを判定する（Ｓ５５）。そして、TEST_MODE[1]=0の場合に（Ｓ５５でＹ）、バスセレクタＳ２は、レジスタＲ１からの経路を選択する（Ｓ５６）。さらに、Ｓ５５の判定でTEST_MODE[1]=0でない場合に、バスセレクタＳ２は、レジスタＲ３からの経路を選択する（Ｓ５７）。
【０１２８】
図１５に、バスセレクタＳ３のバス選択論理を示す。図１５は、例えば、ＣＰＵ００のバスセレクタＳ３内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。図１５に示すバスセレクタＳ３の論理は、TEST_MODE[3]=0か否かの判定を優先する点を除いて、図１２でのバスセレクタＳ０の論理と同様である。
【０１２９】
すなわち、バスセレクタＳ２は、TEST_MODE[3]=0か否かを優先して判定する（Ｓ６１）。そして、TEST_MODE[3]=0の場合に（Ｓ６１でＹ）、バスセレクタＳ３は、レジスタＲ３からの経路を選択する（Ｓ６２）。
【０１３０】
一方、Ｓ６１の判定でTEST_MODE[3]=0でない場合に、次に、バスセレクタＳ3は、TEST_MODE[0]=0か否かを判定する（Ｓ６３）。そして、TEST_MODE[0]=0の場合に（Ｓ６３でＹ）、バスセレクタＳ３は、レジスタＲ０からの経路を選択する（Ｓ６４）。
【０１３１】
さらに、Ｓ６３の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ３は、TEST_MODE[1]=0か否かを判定する（Ｓ６５）。そして、TEST_MODE[1]=0の場合に（Ｓ６５でＹ）、バスセレクタＳ３は、レジスタＲ１からの経路を選択する（Ｓ６６）。さらに、Ｓ６５の判定でTEST_MODE[1]=0でない場合に、バスセレクタＳ２は、レジスタＲ２からの経路を選択する（Ｓ６７）。    
【０１３２】
（動作シーケンス）
図１６に、TEST_MODE[0:3]=0111設定時におけるＣＰＵ００からＣＰＵ０１へのパケット伝送時のタイムチャートを例示する。ここで、図１６の横軸は、例えば、ＣＰＵ００−ＣＰＵ０３等を駆動するクロックのサイクルである。また、図１６の縦軸は、ＣＰＵ００の出力バッファＯＢ１、レジスタＲ０、リトライバッファＯＤ０、ＣＰＵ０１の入力バッファＤＩ０、レジスタＲ４、バッファＩＢＵＦ０、ＭＣ２２等である。さらに、図１６では、ＣＰＵ００のインターフェース１〜３の構成要素が列挙されている。すなわち、ＣＰＵ００のリトライバッファＤＯ１〜３、入力バッファＤＩ１〜３、レジスタＲ５〜７、バッファＩＢＵＦ１〜３が図１６の縦軸に示されている。
【０１３３】
図１６においては３サイクル目でパケットＡがレジスタＲ０からリトライバッファＤＯ０に伝送されるとともにリトライバッファＤＯ１，ＤＯ２，ＤＯ３に複製されていることが示されている。４サイクル目にはＤＯ１，ＤＯ２，ＤＯ３にあるパケットは折り返しによりＣＰＵ００のＤＩ１，ＤＩ２，ＤＩ３に転送される。ＣＰＵ１に転送されたパケットは１１サイクル目でＭＣに伝送されるがＣＰＵ０で折り返されたパケットは６サイクル目にて処理が完了する。
【０１３４】
折り返されたパケットや各機能ブロックの動作の正当性は（１）ＤＬＩＮ１〜３のもつＣＲＣチェッカ（２）ＩＢＵＦ１〜３や受信制御部ＲＣＶ−ＣＴＲＬ０〜３が持つパリティチェッカ、プロトコルチェッカ等によって実施される。これらのチェッカは通常動作時であってもハードが故障していないかのチェックをするため動作する。結果、ＣＰＵ００とＣＰＵ０１を接続して試験を実行した状態であってもＣＰＵ０２、ＣＰＵ０３、ＸＢ０、ＸＢ１等のインターフェース回路部を同時に試験することが可能となる。試験は、例えば、ＣＰＵ００とＣＰＵ０１間のデータ転送を実行するテストプログラムを用いて行えばよい。
【０１３５】
＜効果＞
以上の構成により、情報処理装置１が採り得る構成中で、簡易な構成であっても、実際に使用されるインターフェース以外のインタ−フェースの部分に対しても動作確認が実施できる。例えば、図９に示したように、ＣＰＵ００とＣＰＵ０１とが、インターフェース０を通じて接続され、ＣＰＵ００がＣＰＵ０１、ＣＰＵ０２に接続するためのインターフェースが未接続であっても、ＣＰＵ００からＣＰＵ０１への伝送される信号を用いて、未接続のインターフェースの試験が可能となる。
【０１３６】
例えば、図８に示したように、バスセレクタＳ１からＳ３が、ＣＰＵ００からＣＰＵ０１に伝送されるレジスタＲ０のパケットを複製し、変換部ＳｅｒＤｅｓ１〜３で折り返して、ＤＬＩＮ１〜３に入力すればよい。折り返された信号について、例えば、ＤＬＩＮ１〜３においてＣＲＣチェック等を実行すればよい。また、受信制御部ＲＣＶ−ＣＴＲＬ１〜３がデータ検証部ＰＣＣを用いて、折り返された信号のパリティチェック、プロトコルチェック等を実行すればよい。また、折り返された信号は、アービタＡＲ等への入力をディスエーブルにすることで、信号が折り返されるＣＰＵ００内での矛盾を回避すればよい。
【０１３７】
また、上記第２の実施例では、バスセレクタＳ０〜３の選択、変換部ＳＥｒＤｅｓ０〜３の折り返しの有無、およびアービタＡＲへの入力に対するイネーブル／ディスエーブルの設定等が、制御情報保持部１３のテストモードTEST_MODE[0:3]で指定した。したがって、情報処理装置１の試験を行うオペレータ等は、情報処理装置１を制御するシステム管理用のコンピュータから、例えば、ＪＴＡＧコマンド等によって、制御情報保持部１３のテストモードTEST_MODE[0:3]に制御情報を設定し、簡易に試験を実行できる。また、試験の結果をＪＴＡＧコマンド等で読み出し確認すればよい。  
【０１３８】
第２実施例で説明した情報処理装置１で伝送されるパケットはＣＰＵ上でテストプロラムを流した際にＣＰＵ間の実通信で使用されるパケットとなる。又、パケット発行タイミングはＣＰＵ上のキャッシュの状態、バッファのＢＵＳＹ、資源の競合といった各種ハードウェアの状態に影響される。そのため、実運用の環境に近いタイミングやデータパタンで試験を実施することができる。
【０１３９】
以上のような構成は、図７に示したＣＰＵ００〜０３、ＸＢ０を通じて接続される他のＣＰＵ、あるいは、図１の構成で例示されるＸＢ１等を通じて接続されるＣＰＵ１０〜１３等、情報処理装置１に含まれるそれぞれのＣＰＵに備えられる。したがって、情報処理装置１、送信装置としてのＣＰＵ００、受信装置としての他のＣＰＵは、最大構成ではない将来の増設可能な構成、あるいは、極力単体に近い構成で、極力多数の部分を活性化した試験を実行することが可能となる。
【符号の説明】
【０１４０】
１    情報処理装置
１０    処理部
１１    データ処理部
１２Ａ、１２Ｂ  データ転送部
１３    制御情報保持部
２１    ルータ
２２    メモリコントローラ
３０    ＤＩＭＭ
ＤＢ１、ＤＢ２、ＤＢ３、ＤＢ４ＤＢ５、ＤＢ６、ＤＢ７、ＤＢ８  データバッファ
Ｓ０、Ｓ１、Ｓ２、Ｓ３  バスセレクタ
ＳＷ１、ＳＷ２、ＳＷ３  スイッチ
【図１】
2012127692.tif 000003
【図２】
2012127692.tif 000004
【図３】
2012127692.tif 000005
【図４】
2012127692.tif 000006
【図５】
2012127692.tif 000007
【図６】
2012127692.tif 000008
【図７】
2012127692.tif 000009
【図８】
2012127692.tif 000010
【図９】
2012127692.tif 000011
【図１０】
2012127692.tif 000012
【図１１】
2012127692.tif 000013
【図１２】
2012127692.tif 000014
【図１３】
2012127692.tif 000015
【図１４】
2012127692.tif 000016
【図１５】
2012127692.tif 000017
【図１６】
2012127692.tif 000018
【手続補正書】
【提出日】平成25年9月26日(2013.9.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、送信装置、および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
情報処理装置には、種々のニーズに応じて、搭載する演算処理装置であるＣＰＵ（Central Processing Unit）の種類、個数、あるいは基板の種類、枚数等で規定されるシステ
ム構成を変えて製品出荷されるものがある。このようなシステム構成が多様な情報処理装置の試験、例えば、製品出荷のための試験、あるいは、量産試験においては、構成部品、例えば、ＣＰＵ等のチップの不良、あるいは、基板の不良を摘出するために、システム構成に含まれる回路を活性化させた上で動作確認することが求められる。
【０００３】
図１から図３に情報処理装置のシステム構成を例示する。図１から図３に示す情報処理装置は、ＣＰＵの増設、あるいは、基板の増設によりシステム構成を変えることができる製品の例である。図１では、基板（ｂｏａｒｄ０）上に、ＣＰＵ００と、ＣＰＵ０１という２つのＣＰＵが搭載されている。ＣＰＵ００と、ＣＰＵ０１とは、例えば、複数のインターフェースを持ち、相互に接続されている。
【０００４】
図２では、基板（ｂｏａｒｄ０）上に、ＣＰＵ００からＣＰＵ０３という４つのＣＰＵが搭載されている。ＣＰＵ００からＣＰＵ０３のそれぞれは、例えば、複数のインターフェースを持ち、他のＣＰＵと接続されている。
【０００５】
図３の情報処理装置は、複数の基板（ｂｏａｒｄ０、ｂｏａｒｄ１）を有する。基板（ｂｏａｒｄ０）上には、ＣＰＵ００からＣＰＵ０３という４つのＣＰＵが搭載されている。ＣＰＵ００からＣＰＵ０３のそれぞれは、例えば、複数のインターフェースを持ち、他のＣＰＵと接続されている。また、基板（ｂｏａｒｄ１）上にも、ＣＰＵ１０からＣＰＵ１３という４つのＣＰＵが搭載されている。ＣＰＵ１０からＣＰＵ１３のそれぞれは、例えば、複数のインターフェースを持ち、他のＣＰＵと接続されている。さらに、基板（ｂｏａｒｄ０）上のＣＰＵ００からＣＰＵ０３と、基板（ｂｏａｒｄ１）上のＣＰＵ１０からＣＰＵ１３とは、クロスバースイッチ（ＸＢ０、ＸＢ１）を介して、相互に接続される
。例えば、クロスバースイッチ（ＸＢ０）は、ＣＰＵ００およびＣＰＵ０２の組みとＣＰＵ１０およびＣＰＵ１２の組みとの間で、接続を切り替えることによりデータ転送を行なう。また、クロスバースイッチ（ＸＢ１）は、ＣＰＵ０１およびＣＰＵ０３の組みとＣＰＵ１１およびＣＰＵ１３の組みとの間で、接続を切り替えることによりデータ転送を行なう。
【０００６】
したがって、図３の例では、８個のＣＰＵが、相互に接続可能となっている。図１、図２の情報処理装置は、図３の情報処理装置の部分的な構成を有する。ここでは、例えば、図３の構成が最大構成であると仮定する。
【０００７】
図１から３のようなシステム構成の情報処理装置を試験する場合、それぞれのＣＰＵに含まれるインターフェースの回路を活性化させた上で、情報処理装置の動作確認をすることが求められる。ところで、図１、図２のような最大構成ではない情報処理装置では、使用されない回路が含まれることがある。例えば、図１の情報処理装置が図２の構成を採ることが可能な場合に、図１の構成のＣＰＵ００、あるいは、ＣＰＵ０１は、ＣＰＵ０２、ＣＰＵ０３等と通信するための未使用のインターフェースを有している。また、例えば、図２の構成では、ＣＰＵ００からＣＰＵ０３はそれぞれ、クロスバースイッチ（ＸＢ０、ＸＢ１）と通信するための未使用のインターフェースを有している。
【０００８】
情報処理装置の出荷時の構成が最大構成でない場合であっても、出荷後にＣＰＵあるいは基板が増設される場合がある。例えば、図１の情報処理装置が図２のように拡張される場合がある。また、図１、図２の情報処理装置が図３のように拡張される場合もある。増設の結果、増設前に使用されていなかったインターフェース回路が使用されるようになる。このような場合に、未使用であったインターフェース回路の使用開始に伴って、情報処理装置の不良が顕在化する可能性がある。
【０００９】
そのような増設時の不良低減のため、量産試験では一般的に、極力最大構成に近い状態で試験が実行される。ただし、最大構成での量産試験等で不良を検出した場合には、解析、修理等の手間とコストが増加する。そのため、ＣＰＵ等の部品は、極力、部品単体に近い検査によって可能な限り多くの不良品を摘出することが望ましい。この場合の検査では、短期間で効率的に検査を行う必要があるため、極力簡易な構成で検査を実施することが望まれる。一方、極力簡易な構成での情報処理装置の検査であっても、増設後の複雑な構成での情報処理装置と同等に近い動作確認が実施できることが望まれる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−２２２９２１号公報
【特許文献２】特開平１０−１３２９０２号公報
【特許文献３】特開平９−１２８３４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
開示の技術の課題は、増設可能な情報処理装置において、極力簡易な構成での検査を可能にするとともに、実際に使用するインターフェース以外のインタ−フェースに対しても動作確認が実施できるようにすることである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、開示の技術の一態様は、情報処理装置が有する第１の受信装置に接続される送信装置として例示できる。この送信装置は、データを入力する第１の入力部と、データを入力する第２の入力部と、第１の入力部が入力したデータ又は第２の
入力部が入力したデータに対して情報処理を行なったデータを出力する第１の情報処理部とを有する。さらに、この送信装置は、第１の情報処理部が出力したデータを保持する第１の保持部と、第１の情報処理部が出力したデータを保持する第２の保持部と、制御情報を保持する制御情報保持部と、を有する。さらにまた、この送信装置は、制御情報保持部が保持した制御情報に基づき、第１の保持部が保持したデータと第２の保持部が保持したデータのいずれかを選択する第１の選択部と、制御情報保持部が保持した制御情報に基づき、第１の選択部が選択したデータを第１の入力部に折り返す第１の出力部を有する。
【発明の効果】
【００１３】
本情報処理装置によれば、極力簡易な構成での検査を可能にするとともに、実際に使用されるインターフェース以外のインタ−フェースの部分に対しても動作確認が実施できる。
【図面の簡単な説明】
【００１４】
【図１】情報処理装置のシステム構成を例示する図である。
【図２】情報処理装置のシステム構成を例示する図である。
【図３】情報処理装置のシステム構成を例示する図である。
【図４】第１実施例に係る情報処理装置の構成を例示する図である。
【図５】データ転送部の詳細を例示する図である。
【図６】信号を無効化する構成を例示する図である。
【図７】第２実施例に係る情報処理装置の構成を例示する図である。
【図８】ＣＰＵ内のルータの詳細構成を周辺回路とともに例示する図である。
【図９】TEST_MODE[0:3]の設定に対応する論理的な接続関係を例示する図である。
【図１０】送信制御部の処理シーケンスを例示する図である。
【図１１】受信制御部の処理シーケンスを例示する図である。
【図１２】バスセレクタのバス選択論理を例示する図である。
【図１３】バスセレクタのバス選択論理を例示する図である。
【図１４】バスセレクタのバス選択論理を例示する図である。
【図１５】バスセレクタのバス選択論理を例示する図である。
【図１６】パケット伝送時のタイムチャートを例示する図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。本実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
【００１６】
＜第１実施例＞
図４に、第１実施例に係る情報処理装置１の構成を例示する。情報処理装置１は、例えば、コンピュータ、サーバ等の様々な装置として例示できる。図４の例では、情報処理装置１は、処理部１０−１と処理部１０−２を有している。処理部１０−１、１０−２を総称する場合には、処理部１０という。処理部１０は、コンピュータ、サーバに含まれるプロセッサ、プロセッサを含むシステムボード等の基板等として例示できる。ただし、処理部１０は、コンピュータ、サーバ等の装置であってもよい。処理部１０がコンピュータ、サーバ等である場合には、情報処理装置１は、複数のコンピュータ、サーバを含むシステムとなる。
【００１７】
また、処理部１０−１は、データ処理部１１−１、データ転送部１２Ａ−１、１２Ｂ−１、制御情報保持部１３−１を有している。処理部１０−２の構成も、処理部１０−１と同様である。処理部１０−２は、データ処理部１１−２、データ転送部１２Ａ−２、１２Ｂ−２、制御情報保持部１３−２を有している。データ処理部１１−１、１１−２を総称する場合には、データ処理部１１という。また、データ転送部１２Ａ−１、１２Ｂ−１、
１２Ａ−２、１２Ｂ−２等を総称する場合には、データ転送部１２という。制御情報保持部１３−１、１３−２を総称する場合には、制御情報保持部１３という。
【００１８】
処理部１０−１が送信装置の一例である。また、処理部１０−２が受信装置の一例である。また、データ転送部１２Ａ−１が第１の出力部の一例である。さらに、データ処理部１１−１が第１の情報処理部の一例である。さらにまた、データ処理部１１−２が第２の情報処理部の一例である。
【００１９】
データ処理部１１は、例えば、演算処理装置としてのプロセッサ、あるいはプロセッサを含む基板等におけるデータ処理を実行する回路部分、あるいは部品として例示できる。データ処理部１１は、例えば、ＣＰＵ（Central Processing Unit）、主記憶装置等の部
品を含む。
【００２０】
また、データ転送部１２は、例えば、データ転送装置としてのクロスバースイッチ、プロセッサ、あるいはプロセッサを含む基板等におけるデータ転送を実行する回路部分、あるいは部品として例示できる。データ転送部１２は、例えば、転送されるデータを一時的に保持するバッファ、レジスタ等を含む。また、データ転送部１２は、バッファあるいはレジスタ上のデータを、伝送路を通じて送信するための駆動回路を含む。また、データ転送部１２は、データを一時的に保持するバッファ、レジスタ、あるいはデータを転送する駆動回路等を制御する制御回路を含む。制御回路は、例えば、スイッチのようなデータの切り替え回路を含む。
【００２１】
図４の構成では、処理部１０−１と処理部１０−２とは、データ転送部１２Ａ−１とデータ転送部１２Ａ−２とを通じて伝送路Ｌ１で接続される。なお、伝送路Ｌ１は、有線の伝送路でも、無線の伝送路でもよい。また、伝送路Ｌ１は、パラレルの伝送路でもよいし、シリアルの伝送路でもよい。また、図４の構成では、データ転送部１２Ｂ−１は、処理部１０−１の外部の装置と接続されていない。同様に、データ転送部１２Ｂ−２は、処理部１０−２の外部の装置と接続されていない。すなわち、図４で、データ転送部１２Ｂ−１、１２Ｂ−２は、例えば、予備のために備えられている。データ転送部１２Ｂ−１、１２Ｂ−２は、いずれも情報処理装置１にさらなる処理部１０が増設されるときに使用されることなる。
【００２２】
制御情報保持部１３は、データ転送部１２を制御するための制御情報を記憶する。制御情報保持部１３は、ラッチ、レジスタ等と呼ばれる記憶回路を含む。データ転送部１２は、制御情報保持部１３が記憶する情報にしたがって、データ転送を実行する。
【００２３】
なお、図４では、２つの処理部１０−１、１０−２が例示されているが、処理部の数に限定がある訳ではない。また、図４では、処理部１０−１に、２つのデータ転送部１２Ａ−１、１２Ｂ−１が設けられている。また、処理部１０−２に、２つのデータ転送部１２Ａ−２、１２Ｂ−２が設けられている。しかし、処理部１０内のデータ転送部１２の数に限定がある訳ではない。すなわち、処理部１０内に、３以上のデータ転送部１２を設けてもよい。
【００２４】
図５に、データ転送部１２Ａ−１の詳細を例示する。ここでは、処理部１０−１に含まれるデータ転送部１２Ａ−１の構成を例にして説明するが、他のデータ転送部１２の構成も、データ転送部１２Ａ−１と同様である。
【００２５】
データ転送部１２Ａ−１は、他の処理部（１０−２等）から受信したデータを保持するデータバッファＤＢ１、ＤＢ３を有する。ここで、他の処理部とは、図４に示した処理部１０−２の他、さらに１以上の処理部を含めてもよい。すなわち、データ転送部１２Ａ−
１には、図５の他の処理部が複数接続されてもよい。例えば、データバッファＤＢ１は、処理部１０−２からの受信データを受信し、一方、データバッファＤＢ３は、製品出荷後の将来の増設のために用意されている。ただし、図５では、データバッファＤＢ１、ＤＢ３は、スイッチＳＷ２、ＳＷ３を介して他の処理部１０−２等と接続される。
【００２６】
さらに、データ転送部１２Ａ−１は、データバッファＤＢ１、ＤＢ３のデータをデータ処理部１１−１に入力するためにデータを一時保持するデータバッファＤＢ２、ＤＢ４を有する。ただし、データバッファＤＢ２は、データバッファＤＢ１と兼用されてもよい。また、データバッファＤＢ４は、データバッファＤＢ３と兼用されてもよい。
【００２７】
また、データ転送部１２Ａ−１は、データ処理部１１−１で処理されたデータを一時的に保持するデータバッファＤＢ５、ＤＢ７を有する。また、データ転送部１２Ａ−１は、データバッファＤＢ５、ＤＢ７のデータを他の処理部１０−２等に転送するためにデータを一時保持するデータバッファＤＢ６、ＤＢ８を有する。ただし、図５では、データバッファＤＢ６、ＤＢ８は、スイッチＳＷ１を介してデータバッファＤＢ５、ＤＢ７と接続される。
【００２８】
スイッチＳＷ１は、データバッファＤＢ５、ＤＢ７のいずれか一方をデータバッファＤＢ６に接続する。また、スイッチＳＷ１は、データバッファＤＢ５、ＤＢ７のうちの一方をデータバッファＤＢ８にも接続する。例えば、第１の接続として、スイッチＳＷ１は、データバッファＤＢ５をデータバッファＤＢ６に接続するとともに、データバッファＤＢ７をデータバッファＤＢ８に接続する。データ処理部１１−１がデータバッファＤＢ５、ＤＢ７のそれぞれに、他の処理部１０−２等へ転送されるデータを出力する構成では、第１の接続が適用される。
【００２９】
また、第２の接続として、スイッチＳＷ１は、データバッファＤＢ５をデータバッファＤＢ６、ＤＢ８の両方に接続する。データ処理部１１−１が他の処理部１０−２等へ転送されるデータをデータバッファＤＢ５に出力し、データ処理部１１−１がデータバッファＤＢ７にデータを出力しない構成では、情報処理装置１の試験時に第２の接続が適用される。すなわち、第２の接続の場合には、データバッファＤＢ５のデータがデータバッファＤＢ６に転送されるとともに、複製されて、データバッファＤＢ８にも転送される。すなわち、図５では、スイッチＳＷ１は、信号の複製機能を提供する。また、データバッファＤＢ５が第１の保持部の一例である。さらに、データバッファＤＢ７が第２の保持部の一例である。
【００３０】
なお、図示しないが、データ転送部１２Ｂ−１の構成は、データ転送部１２Ａ−１の構成と同様である。例えば、データ転送部１２Ｂ−１も、スイッチＳＷ１、データバッファＤＢ５、およびデータバッファＤＢ７と同様の構成を有する。
【００３１】
また、第３の接続として、スイッチＳＷ１は、データバッファＤＢ７をデータバッファＤＢ６、ＤＢ８の両方に接続する。データ処理部１１−１が他の処理部１０−２等へ転送されるデータをデータバッファＤＢ７に出力し、データ処理部１１−１がデータバッファＤＢ５にデータを出力しない構成では、情報処理装置１の試験時に第３の接続が適用される。すなわち、第３の接続の場合には、データバッファＤＢ７のデータがデータバッファＤＢ８に転送されるとともに、複製されて、データバッファＤＢ６にも転送される。すなわち、スイッチＳＷ１は、信号の複製機能を提供する。
【００３２】
さらに、データ転送部１２Ａ−１において、データバッファＤＢ６、ＤＢ８から出力されるデータは、他の処理部１０−２等に転送されるとともに、折り返しラインＬ２、Ｌ３で分岐されて、それぞれスイッチＳＷ２、ＳＷ３に入力される。スイッチＳＷ２は、他の
処理部１０−２等からのデータと折り返しラインＬ２（データバッファＤＢ６）からのデータのうち、いずれか一方をデータバッファＤＢ１に出力する。また、スイッチＳＷ３は、他の処理部１０−２等からのデータと折り返しラインＬ３（データバッファＤＢ８）からのデータのうち、いずれか一方をデータバッファＤＢ３に出力する。
【００３３】
制御情報処理部１３−１は、スイッチＳＷ１、ＳＷ２、ＳＷ３の切り替えを制御する指示ビットを保持する。図５の例では、制御情報処理部１３−１は、指示ビットとして４ビットのビットパターンを保持すればよい。例えば、第１の指示ビットは、スイッチＳＷ１に対して、データバッファＤＢ６への出力信号を制御するビットである。第１のビットに応じて、スイッチＳＷ１は、データバッファＤＢ５およびデータバッファＤＢ７のいずれか一方からのデータをデータバッファＤＢ６に出力する。
【００３４】
また、第２の指示ビットは、スイッチＳＷ１に対して、データバッファＤＢ８への出力信号を制御するビットである。第２のビットに応じて、スイッチＳＷ１は、データバッファ５およびデータバッファＤＢ７のいずれか一方からのデータをデータバッファＤＢ８に出力する。
【００３５】
また、第３の指示ビットは、スイッチＳＷ２に対して、データバッファＤＢ１への出力信号を制御するビットである。第３のビットに応じて、スイッチＳＷ２は、他の処理部１０−２等およびデータバッファＤＢ６のいずれか一方からのデータをデータバッファＤＢ１に出力する。
【００３６】
また、第４の指示ビットは、スイッチＳＷ３に対して、データバッファＤＢ３への出力信号を制御するビットである。第４のビットに応じて、スイッチＳＷ３は、他の処理部１０−２等およびデータバッファＤＢ８のいずれか一方からのデータをデータバッファＤＢ３に出力する。
【００３７】
このような構成によって、処理部１０−１においては、制御情報保持部１３−１の指示ビットの設定により、データ転送部１２Ａ−１は次のように動作する。
（１）処理部が最大構成の場合；
最大構成の場合とは、データバッファＤＢ１、ＤＢ３のいずれもが、他の処理部からデータを入力され、データバッファＤＢ６、ＤＢ８のいずれもが、他の処理部にデータを出力する場合である。図５では、データ入力用に、２つのデータバッファＤＢ１、ＤＢ３を設けているが、もちろん、データ入力用に、３以上のデータバッファを設けてもよい。また、図５では、データ出力用に、２つのデータバッファＤＢ６、ＤＢ８を設けているが、もちろん、データ出力用に、３以上のデータバッファを設けてもよい。ただし、基本的には、データ入力用のデータバッファの数とデータ出力用のデータバッファの数は同数である。
【００３８】
最大構成の場合には、データ入力用のデータバッファとデータ出力用のデータバッファは、いずれも他の処理部１０−２等と接続されることになる。この場合には、スイッチＳＷ１は、データバッファＤＢ５をデータバッファＤＢ６に接続すればよい。また、スイッチＳＷ１は、データバッファＤＢ７をデータバッファＤＢ８に接続すればよい。また、スイッチＳＷ２は、他の処理部１０−２等からのデータをデータバッファＤＢ１に入力すればよい。また、スイッチＳＷ３は、他の処理部１０−２等からのデータをデータバッファＤＢ３に入力すればよい。したがって、この場合には、折り返しラインＬ２、Ｌ３で分岐されたデータはスイッチＳＷ２、ＳＷ３で廃棄され、使用されない。
（２）処理部の数が最大構成の数よりも少ない場合；
処理部の数が最大構成の数よりも少ない場合には、データ入力用のデータバッファＤＢ１、ＤＢ３の少なくとも１つが他の処理部１０−２等と接続されないことなる。図５では
、データ入力用に、２つのデータバッファＤＢ１、ＤＢ３を設けているが、もちろん、データ入力用に、３以上のデータバッファを設けている場合も同様である。さらに、処理部の数が最大構成の数よりも少ない場合には、データ出力用のデータバッファＤＢ６、ＤＢ８の少なくとも１つが他の処理部１０−２と接続されないことなる。図５では、データ出力用に、２つのデータバッファＤＢ６、ＤＢ８を設けているが、もちろん、データ入力用に、３以上のデータバッファを設けている場合も同様である。
【００３９】
ここでは、一例として、データ入力用のデータバッファＤＢ３およびデータ出力用のデータバッファＤＢ８が他の処理部１０−２等と接続されない場合について説明する。この場合には、データバッファＤＢ３、ＤＢ４を含むデータ入力用の経路が使用されないことになる。また、例えば、データバッファＤＢ５、スイッチＳＷ１、データバッファＤＢ６を含む経路がデータ出力用として使用されるとする。この場合には、データバッファＤＢ７、スイッチＳＷ１、データバッファＤＢ８を含む経路が使用されないことになる。
【００４０】
この場合に、情報処理装置１を試験する際に、制御情報保持部１３−１の第１の指示ビットは、データバッファＤＢ５をデータバッファＤＢ６に接続するように設定される。さらに、第２の指示ビットは、データバッファＤＢ５をデータバッファＤＢ８に接続するように設定される。すなわち、データバッファＤＢ５のデータが複製されてデータバッファＤＢ８に出力される。
【００４１】
また、第３の指示ビットは、他の処理部１０−２からのデータをデータバッファＤＢ１に入力するように設定される。また、第４の指示ビットは、データバッファＤＢ８からのデータをデータバッファＤＢ３に入力するように設定される。したがって、データバッファＤＢ５に保持されたデータは、データバッファＤＢ６を通じて他の処理部１０−２に転送されるとともに、スイッチＳＷ１によって複製され、ＳＷ３を通じてデータバッファＤＢ３に折り返される。データバッファＤＢ８およびスイッチＳＷ３が第１の出力部の一例である。
【００４２】
すでに述べたように、データ転送部１２Ｂ−１の構成は、データ転送部１２Ａ−１の構成と同様である。したがって、例えば、データ転送部１２Ｂ−１も、データバッファＤＢ８およびスイッチＳＷ３と同様の構成を有する。
【００４３】
したがって、データバッファＤＢ３、ＤＢ４を含む経路は、他の処理部１０−２等に接続されない場合であっても、データ処理部１１−１で処理され、データバッファＤＢ５に出力されるデータを用いて、模擬的又は擬似的にデータを入力することができる。データバッファＤＢ３、ＤＢ４を含む経路に入力されたデータは、既存のデータ検証部、例えば、ＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）用チェッカ、パリティチェッカ、
プロトコルチェッカ等によって、検証される。
【００４４】
また、データ出力用のデータバッファＤＢ８に保持されるデータも、上記データバッファＤＢ３、ＤＢ４を含む経路の既存のデータ検証部によって検証される。さらに、データバッファＤＢ７については、データバッファＤＢ５の代わりに、他の処理部１０−２等に接続するように、制御情報保持部１３−１の設定を変更することにより、上記データバッファＤＢ５の場合と同様に、他の処理部１０−２等との間で試験できる。
【００４５】
以上は、データ入力用のデータバッファＤＢ３およびデータ出力用のデータバッファＤＢ８が他の処理部１０−２等と接続されない場合について説明した。しかし、データ入力用のデータバッファＤＢ１およびデータ出力用のデータバッファＤＢ６が他の処理部１０−２等と接続されない場合についても、上記と同様の試験を実行できる。
【００４６】
また、以上は、主として、データ転送部１２Ａ−１を例に説明した。しかし、第２の出力部としてのデータ転送部１２Ｂ−１の処理、機能、作用もデータ転送部１２Ａ−１と同様である。また、以上は、主として、送信装置として処理部１０−１を例に説明した。しかし、受信装置としての処理部１０−２の処理、機能、作用も処理部１０−１と同様である。例えば、処理部１０−２は、第２の情報処理部として、データ処理部１１−２を有し、処理部１０−１と同様の機能を提供する。
【００４７】
図６は、信号を無効化する構成を例示する図である。第１実施例では、図５のように、処理部１０の数が最大構成時の処理部１０の数よりも少ない場合に、データバッファＤＢ５等の他の処理部１０−２等に出力されるデータを折り返して、データバッファＤＢ３を含む経路に入力する。しかし、このような処理を行うと、データ処理部１１−１は、データバッファＤＢ３を含む経路から本来受け取らないデータを入力されることなる。その結果、試験実行時に、データ処理部１１−１の処理が矛盾を生じる可能性がある。そこで、折り返した経路から受信したデータをデータ処理部１１−１の手前で無効化する機構を用いる。
【００４８】
図６の例では、制御情報保持部１３−１の信号がデータバッファＤＢ２、データバッファＤＢ４にも入力される。制御情報保持部１３−１には、上記第１の指示ビットから第４の指示ビットに加えて、さらに、第５、第６の指示ビットを設ける。
【００４９】
第５の指示ビットは、例えば、データバッファＤＢ２の出力をイネーブルまたはディスエーブルに制御する。例えば、第５の指示ビットは、データバッファＤＢ２の入出力間を高インピーダンス状態で遮断するトライステートバッファやＡＮＤゲート等の遮断回路を制御するようにすればよい。あるいは、第５の指示ビットは、例えば、データバッファＤＢ２の出力の有効／無効を指示するバリッドフラッグとして機能させてもよい。
【００５０】
同様に、第６の指示ビットは、例えば、データバッファＤＢ４の出力をイネーブルまたはディスエーブルに制御する。また、第６の指示ビットは、例えば、データバッファＤＢ４の出力の有効／無効を指示するバリッドフラッグとして機能させてもよい。
【００５１】
このような構成によって、例えば、データバッファＤＢ５、ＤＢ７等のデータを折り返して、データバッファＤＢ３を含む経路に入力した場合に、第６の指示ビットによってデータバッファＤＢ４のデータを無効化すればよい。同様に、例えば、データバッファＤＢ５、ＤＢ７等のデータを折り返して、データバッファＤＢ１を含む経路に入力した場合に、第５の指示ビットによってデータバッファＤＢ２のデータを無効化すればよい。
【００５２】
データバッファＤＢ２あるいはＤＢ４等の入出力間を高インピーダンス状態で遮断する遮断回路、あるいは、データバッファＤＢ２、ＤＢ４等の出力の有効／無効を指示するバリッドフラッグ等が無効化部の例である。
【００５３】
以上述べたように、第１実施例に係る情報処理装置１は、処理部１０の数が最大構成の数ではない構成で、未使用のインターフェース回路、例えば、図５のデータバッファＤＢ３、ＤＢ７、ＤＢ８等を含む場合であっても、処理部の増設なしに処理部が増設した場合に近い状態の試験を行うことができる。例えば、データ入力用として、データバッファＤＢ１、ＤＢ２が使用され、データ出力用としてデータバッファＤＢ５、ＤＢ６が使用される場合には、データバッファＤＢ５のデータを複製する。そして、複製されたデータは、未使用のデータバッファＤＢ８に出力され、さらに、転送先となる処理部１０−２への経路から分岐した折り返し経路Ｌ３を通じて、未使用のデータバッファＤＢ３に入力される。その結果、データバッファＤＢ３、ＤＢ４を含む未使用の経路を通じて転送されたデータを既存のデータ検証部によって、検証すればよい。さらに、折り返されたデータは、例
えば、データ処理部１１−１に入力前に、データバッファＤＢ４において無効化することによって、データ処理部１１−１内での矛盾の発生を抑制できる。
【００５４】
このような構成は、図４に示したそれぞれの処理部１０−１、１０−２のそれぞれのデータ転送部１２Ａ−１、１２Ｂ−１、１２Ａ−２、１２Ｂ−２等に備えられている。したがって、情報処理装置１、送信装置としての処理部１０−１、受信装置としての処理部１０−２は、最大構成ではない将来の増設可能な構成、あるいは、極力単体に近い構成で、極力多数の部分を活性化した試験を実行することが可能となる。
【００５５】
さらに、以上のような試験は、制御情報保持部１３−１の指示ビットの設定によって、スイッチＳＷ１からＳＷ３の切り替え、およびデータバッファＤＢ２、ＤＢ４等の無効化等を通じて簡易に制御できる。
【００５６】
（変形例）
上記第１実施例では、図５、図６において、スイッチの接続を示す第１の指示ビット〜第６の指示ビットによってスイッチＳＷ１〜３の切り替え、およびデータバッファＤＢ２、ＤＢ４等の無効化の有無を制御情報保持部１３が指示する例を示した。第１実施例の構成では、いわば、スイッチＳＷ１〜３等、あるいは、データバッファＤＢ２等のような指示対象ごとに制御情報が設定された。このような構成に代えて、接続先の他の処理部１０−２等に応じて制御情報保持部１３に指示ビットを保持するようにしてもよい。例えば、処理部１０−１に対して、他の処理部１０が合計４個接続可能である場合に、４個の他の処理部１０と接続されているか否かを４個の指示ビットとして、IEEE1149.1のＪＴＡＧ（Joint Test Architecture Group）規格に規定される試験状態を表す制御信号であるTEST_MODE[0:3]に設定してもよい。例えば、TEST_MODE[i]=0は、処理部１０−１が他の処理部１
０−ｉと接続されていることを示し、TEST_MODE[i]=1は、処理部１０−１が他の処理部１０−ｉと接続されていないことを示す。図４、図５、図６では、処理部１０−１と１０−２とが例示されているが、以下の説明では、処理部１０の数は２以上として説明する。また、データバッファＤＢ５とＤＢ６とを含む出力信号のライン、データバッファＤＢ７とＤＢ８とを含む出力信号のライン以外に、さらに出力信号のラインがあるとして説明する。また、スイッチＳＷ２、データバッファＤＢ１、ＤＢ２を含む入力信号のライン、スイッチＳＷ３、データバッファＤＢ３、ＤＢ４を含む入力信号のライン以外にさらに入力信号のラインがあるとして説明する。さらに、出力信号のライン、および入力信号のラインに対応して、折り返しラインＬ２、Ｌ３以外にも、折り返しラインがあるとして説明する。
【００５７】
このような制御情報保持部１３の指示ビットにしたがって、スイッチＳＷ１〜３の切り替え、およびデータバッファＤＢ２、ＤＢ４等の無効化の有無を制御情報保持部１３が予め定められた試験を実行するようにすればよい。例えば、TEST_MODE[0:3]のすべてが０の場合、処理部１０−１は、他の処理部１０−ｉ（ｉ＝２，３、４、５）すべてと接続されていることを示す。この場合には、スイッチＳＷ１は、信号の複製を行わず、データＤＢ５をそのままデータバッファＤＢ６に、そしてデータバッファＤＢ７をそのままデータバッファＤＢ８に接続すればよい。
【００５８】
また、スイッチＳＷ２、ＳＷ３等は、折り返しラインＬ２、Ｌ３等からの信号ではなく、他のデータ処理部１０からの信号をそのままデータバッファＤＢ１、ＤＢ３等に接続すればよい。また、データバッファＤＢ２、ＤＢ４等では、信号の無効化を行わないようにすればよい。
【００５９】
一方、例えば、TEST_MODE[0:3]のいずれか１以上のビットが１の場合、データ処理部１０−１は、いずれか１以上の他のデータ処理部１０と接続されないことになる。その場合
、データ出力側のデータバッファＤＢ６、ＤＢ８等のいずれかは、他のデータ処理部１０とは接続されない。また、データ入力側のデータバッファＤＢ１、ＤＢ３等のいずれかは、他のデータ処理部１０とは接続されない。この場合には、スイッチＳＷ１は、TEST_MODE[0]からTEST_MODE[3]までの間で、ビット０が設定されているビット位置に対応するデータバッファの信号を複製して、ビット１が設定されているビット位置に対応するデータバッファに複製すればよい。例えば、TEST_MODE[0]=0で、TEST_MODE[1:3]がいずれも１の場合には、TEST_MODE[0]のビットに対応するデータバッファＤＢ５の信号をデータバッファＤＢ６に入力する他、さらに他のデータバッファＤＢ８等にも複製するようにすればよい。
【００６０】
一方、TEST_MODE[1:3]等に対応するスイッチＳＷ３等は、折り返しラインＬ２等の信号を選択すればよい。また、TEST_MODE[1:3]等に対応するデータバッファＤＢ４等は、信号の無効化を行えばよい。以上のように、他のデータ処理部１０と接続されているかいないかを示すTEST_MODE[i]によって、（１）他のデータ処理部１０からの信号を受信するか（２）信号の複製、折り返し、無効化という一連の経路からの信号を用いるかを切り替えるようにすればよい。
【００６１】
＜第２実施例＞
図７から図１６を参照して第２実施例に係る情報処理装置１について説明する。第２実施例においても、情報処理装置１の構成は、基本的には、第１実施例と同様である。そこで、第２実施例において、第１実施例と同一の構成要素には同一の符号を付してその説明を省略する。
【００６２】
図７は、第２実施例に係る情報処理装置１の構成を例示する図である。第２実施例に係る情報処理装置１は、最大構成では、例えば、図３に示したように、ＣＰＵ００からＣＰＵ０３、ＣＰＵ１０からＣＰＵ１３、クロスバースイッチＸＢ０、ＸＢ１を含む。図７では、最大構成の情報処理装置１のうち、ＣＰＵ００からＣＰＵ０３、およびクロスバースイッチＸＢ０が例示されている。また、ＣＰＵ００に対して、ＤＩＭＭ（Dual Inline Memory Module）３０が接続されている。ＤＩＭＭ３０は、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。ＤＩＭＭ３０は、ＣＰＵ００内のＤＩＭＭ
コントローラ２３を介して、ＭＣ（Memory Controller）２２に接続されている。ＤＩ
ＭＭ３０は、ＣＰＵ００内の主記憶装置の容量をさらに増設するためのメモリとして用いられる。
【００６３】
図７のように、ＣＰＵ００は、例えば、２つのコア、すなわちＣＰＵ  ＣＯＲＥ０、ＣＰＵ  ＣＯＲＥ１を有する。ただし、ＣＰＵ００の有するコアが２つに限定される訳ではない。以下、複数のコアを単にＣＰＵ  ＣＯＲＥ０等という。
また、図７に示すように、ＣＰＵ００等は、ＭＣ２２、ルータ２１、ＤＩＭＭコントローラ２３を有する。
【００６４】
ＣＰＵ  ＣＯＲＥ０等は、主記憶装置あるいはＤＩＭＭ３０に実行可能に展開されたコンピュータプログラムによりＣＰＵ００におけるデータ処理を実行する。データ処理において、ＣＰＵ  ＣＯＲＥ０等は、ＭＣ２２を通じて主記憶装置にアクセスする。例えば、ＣＰＵ  ＣＯＲＥ０等は、図示しないキャッシュ上に処理対象のデータが存在しない場合に、ＭＣ２２にデータの取得を要求する。
【００６５】
ＭＣ２２は、取得要求されたデータの格納先を保持している。そこで、ＭＣ２２は、取得要求されたデータの格納先をデータ取得要求先としてデータの読み出し処理を実行する。例えば、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等からのデータ取得要求先が、ＣＰＵ００内の主記憶装置あるいはＤＩＭＭ３０である場合には、取得要求されたアドレスからデータ
を読み出し、要求元のＣＰＵ  ＣＯＲＥ０等に引き渡す。また、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等からのデータ取得要求先が、他のＣＰＵ０１からＣＰＵ０３あるいはＸＢ０を介して接続される他のＣＰＵである場合には、データ取得要求をルータ２１に引き渡す。
【００６６】
ルータ２１は、ＭＣからのデータ取得要求中でデータ取得先として指定されたＣＰＵの論理情報を基に、指定されたＣＰＵに接続される入出力インターフェースを特定する。例えば、データ取得先としてＣＰＵ０１が指定されている場合には、ルータ２１は、出力インターフェースＤＬＯＵＴ０に、ＣＰＵ０１宛のデータ取得要求を出力する。データ取得要求されるデータは、例えば、ＣＰＵ０１から入力インターフェースＤＬＩＮ０に入力されるので、ルータ２１は、入力インターフェースＤＬＩＮ０に入力されたデータをＭＣ２２に引き渡す。
【００６７】
また、例えば、ＣＰＵ  ＣＯＲＥ０等は、処理したデータの主記憶装置あるいは他のＣＰＵの主記憶装置への保存をＭＣ２２に要求する。ＭＣ２２は、保存を要求されたデータの格納先を保持している。そこで、ＭＣ２２は、保存を要求されたデータの格納先をデータ書き込み要求先としてデータの書き込み処理を実行する。例えば、ＭＣ２２は、ＣＰＵ
ＣＯＲＥ０等からのデータ書き込み要求先が、ＣＰＵ００内の主記憶装置あるいはＤＩＭＭ３０である場合には、書き込み要求されたアドレスにデータを書き込む。また、ＭＣ２２は、ＣＰＵ  ＣＯＲＥ０等からのデータ書き込み要求先が、他のＣＰＵ０１からＣＰＵ０３あるいはＸＢ０を介して接続される他のＣＰＵである場合には、データ書き込み要求をルータ２１に引き渡す。
【００６８】
ルータ２１は、ＭＣからのデータ書き込み要求中で指定されたＣＰＵの論理情報を基に、指定されたＣＰＵに接続される入出力インターフェースを特定する。例えば、データ書き込み要求先としてＣＰＵ０１が指定されている場合には、ルータ２１は、出力インターフェースＤＬＯＵＴ０に、ＣＰＵ０１宛のデータ書き込み対象のデータを出力する。
【００６９】
他の入力インターフェースＤＬＩＮ１からＤＬＩＮ３、出力インターフェースＤＬＯＵＴ１からＤＬＯＵＴ３についても、処理は、ＤＬＩＮ０、ＤＬＯＵＴ０と同様である。出力インターフェースＤＬＯＵＴ０からＤＬＯＵＴ３、入力インターフェースＤＬＩＮ０からＤＬＩＮ３は、例えば、通信プロトコル階層のデータリンク層の機能に相当する。
【００７０】
図７では、出力インターフェースＤＬＯＵＴ０からＤＬＯＵＴ３、入力インターフェースＤＬＩＮ０からＤＬＩＮ３には、それぞれパラレル／シリアル変換部（以下、単に変換部という）ＳｅｒＤｅｓ０からＳｅｒＤｅｓ３が接続されている。変換部ＳｅｒＤｅｓ０等は、出力インターフェースＤＬＯＵＴ０等からパラレル信号を受けて、シリアル信号に変換し、他のＣＰＵ０１等に転送する。また、変換部ＳｅｒＤｅｓ０等は、他のＣＰＵ０１等からシリアル信号を受信し、パラレル信号に変換し、入力インターフェースＤＬＩＮ０等に入力する。変換部ＳｅｒＤｅｓ０等は、例えば、２分の１の周波数にクロックを分周して１：２の周波数比の２種類のクロックを生成する回路と、２：１にデータを多重化するマルチプレクサとを複数段組み合わせた構成を有する。ただし、変換部ＳｅｒＤｅｓ０等の構成については省略する。
【００７１】
図８に、ＣＰＵ００内のルータ２１の詳細構成をルータ２１の周辺回路とともに例示する。以下、第２実施例では、ＣＰＵ００からＣＰＵ０３、ＣＰＵ１０からＣＰＵ１３等の間で授受されるデータをパケットと呼ぶ。以下、ＣＰＵ００からＣＰＵ０３をＣＰＵ００〜０３のように記述する。ＣＰＵ１０からＣＰＵ１３も同様に、ＣＰＵ１０〜１３のように記述する。ＳｅｒＤｅｓ、ＤＬＩＮ、ＤＬＯＵＴ等も同様である。
【００７２】
すでに、図７で説明したように、例えば、ＣＰＵ００は、変換部ＳｅｒＤｅｓ０〜３、
入力インターフェースＤＬＩＮ０〜３、および出力インターフェースＤＬＯＵＴ０〜３を有する。なお、入力インターフェースＤＬＩＮ０〜３、および出力インターフェースＤＬＯＵＴ０〜３は、変換部ＳｅｒＤｅｓ０〜３とルータ２１とのインターフェース制御を担当する。
【００７３】
図８では、入力インターフェースＤＬＩＮ０、出力インターフェースＤＬＯＵＴ０、および変換部ＳｅｒＤｅｓ０の詳細が例示されている。入力インターフェースＤＬＩＮ０は、例えば、入力バッファＤＩ０およびＣＲＣチェッカ（CRC Checker）を有する。したが
って、入力インターフェースＤＬＩＮ０は、入力バッファＤＩ０に格納された入力データにＣＲＣチェックを実行する。入力インターフェースＤＬＩＮ０は、ハードウェア回路であってもよいし、あるいは、ＤＳＰ（Digital Signal Processor）がコンピュータプログラムを実行して提供する処理部であってもよい。
【００７４】
出力インターフェースＤＬＯＵＴ０〜３は、バッファを含むハードウェア回路であってもよいし、ＤＳＰがコンピュータプログラムを実行することによって提供する機能であってもよい。図８では、例えば、出力インターフェースＤＬＯＵＴ０は、リトライバッファＤＯ０を有する。リトライバッファＤｏ０のパケットは、変換部ＳｅｒＤｅｓ０に引き渡される。
【００７５】
変換部ＳｅｒＤｅｓ０は、スイッチＳＷ２０と、他のＣＰＵに転送される出力データＯＤをスイッチＳＷ２０に分岐して折り返す折り返しラインＬ２０を有する。すなわち、変換部ＳｅｒＤｅｓ０は、図７ですでに説明したパラレルシリアル変換を実行する他、折り返し線Ｌ２０を介して、出力データＯＤを折り返す。
【００７６】
また、スイッチＳＷ２０は、他のＣＰＵから入力される入力データＩＤおよび折り返しラインＬ２０からの折り返しデータＯＤのいずれかを選択し、入力インターフェースＤＬＩＮ０に引き渡す。変換部ＳｅｒＤｅｓ０が第１の出力部の一例である。同様に、変換部ＳｅｒＤｅｓ１が第２の出力部の一例である。
【００７７】
他の入力インターフェースＤＬＩＮ１〜３、出力インターフェースＤＬＯＵＴ１〜３、変換部ＳｅｒＤｅｓ１〜３の処理は、入力インターフェースＤＬＩＮ０、出力インターフェースＤＬＯＵＴ０、変換部ＳｅｒＤｅｓ０と同様である。
【００７８】
図８のように、ルータ２１はパケットの発行を制御するＭＣ２２から外部、例えば、他のＣＰＵに発行するパケットを受信するための出力バッファＯＢ０〜３、出力バッファＯＢ０〜３のそれぞれからパケットを読み出し、出力インターフェースＤＬＯＵＴ０〜３に対してパケットを送信するための送信制御部ＳＥＮＤ−ＣＴＲＬ０〜３を有する。また、ルータ２１は、出力バッファＯＢ０〜３のそれぞれから読み出したパケットを格納するレジスタＲ０〜３、テストモード時にバスを選択するためのバスセレクタＳ０〜３を含む。バスセレクタＳ０が、第１の選択部の一例である。また、バスセレクタＳ１が、第２の選択部の一例である。
【００７９】
さらにまた、ルータ２１は、入力インターフェースＤＬＩＮ０〜３からのパケットを受信するレジスタＲ４〜７、受信したパケットを書き込む為のバッファＩＢＵＦ０〜３、ＩＢＵＦへのパケット書き込み、およびＭＣ２２へのパケット送信を制御するための受信制御部ＲＣＶ−ＣＴＲＬ０〜３、ＩＢＵＦ０〜３からのパケットの読み出しの競合を処理するアービタＡＲを有する。さらに、ルータ２１は、テストモードか否かを設定するための制御情報保持部１３を有する。制御情報保持部１３は、テストモードビットTEST_MODE[0:3]を格納したラッチを含む。
【００８０】
レジスタＲ４〜７は、入力インターフェースＤＬＩＮ０〜３に対してそれぞれ設けられ、入力インターフェースＤＬＩＮ０〜３からのデータをそれぞれ保持する。レジスタＲ４〜７は、いずれも例えば、１パケット分のデータを保持するラッチである。
【００８１】
さらに、例えば、レジスタＲ４に対して次段にバッファＩＢＵＦ０が接続される。レジスタＲ４が１パケット分のデータを保持し、一方、バッファＩＢＵＦ０は、複数パケットのデータを保持するようにすればよい。ここで、１パケットは、所定のビット数例えば、８ビット、１６ビット、３２ビット、６４ビット等のデータ部（ペイロード）を含む。
【００８２】
さらに、バッファＩＢＵＦ０の次段には、データ検証部ＰＣＣ（Parity & Protocol checker）が設けられている。データ検証部ＰＣＣは、バッファＩＢＵＦ０からＭＣ２２に
引き渡されるデータのＣＲＣ、パリティ、所定のプロトコルにしたがったデータ形式及びデータ送信手順であるか否か等のチェック等を実行する。データ検証部ＰＣＣは、ＣＲＣ、パリティ、プロトコルチェック等の演算を実行するハードウェア回路として例示できる。ただし、ＤＳＰ等がコンピュータプログラムを実行し、データ検証部ＰＣＣとして機能してもよい。
【００８３】
さらに、図８のように、レジスタＲ４、バッファＩＢＵＦ０、およびデータ検証部ＰＣＣの経路と並んで受信制御部ＲＣＶ−ＣＴＲＬ０が設けられている。受信制御部ＲＣＶ−ＣＴＲＬ０は、バッファＩＢＵＦ０にデータが１パケット以上存在する場合に、アービタＡＲを通じて、ＭＣ２２にデータ入力を要求する。受信制御部ＲＣＶ−ＣＴＲＬ０の処理は、例えば、ラッチ、カウンタ等のハードウェア回路で実現されてもよいし、ＤＳＰがコンピュータプログラムを実行して提供してもよい。なお、受信制御部ＲＣＶ−ＣＴＲＬ０、レジスタＲ４、バッファＩＢＵＦ０、データ検証部ＰＣＣを含む回路部分は入力部と呼ばれ、第１の入力部の一例である。同様に、受信制御部ＲＣＶ−ＣＴＲＬ１、レジスタＲ５、バッファＩＢＵＦ１、データ検証部ＰＣＣを含む回路部分も入力部と呼ばれ、第２の入力部の一例である。なお、受信制御部ＲＣＶ−ＣＴＲＬ２等を含む回路部分、受信制御部ＲＣＶ−ＣＴＲＬ３等を含む回路部分も入力部と呼ばれる。
【００８４】
図８のアービタＡＲは、ＭＣ２２と、複数の入力部との間で、データの入力処理を調停する調停部である。すなわち、アービタＡＲは、受信制御部ＲＣＶ−ＣＴＲＬ０〜３のうちの複数からデータの入力要求があった場合に、どの入力要求を優先するかを所定の基準で決定する。入力要求の優先順の基準に特に限定はない。例えば、ラウンドロビンで入力要求を決定してもよい。また、例えば、それぞれの入力部がアービタＡＲに、保持するパケット数を通知するようにしてもよい。例えば、受信制御部ＲＣＶ−ＣＴＲＬ０〜３が、入力要求とともに、バッファＩＢＵＦ０〜３に保持するパケット数を通知すればよい。そして、アービタＡＲが、保持するパケット数の多い入力部を優先して、データの入力を調停すればよい。
【００８５】
また、図８のように、データ検証部ＰＣＣと受信制御部ＲＣＶ−ＣＴＲＬ０等からアービタＡＲに入力される伝送路には、ＡＮＤゲート列Ａ０〜７が設けられている。これらのＡＮＤゲート列Ａ０〜７は、受信制御部ＲＣＶ−ＣＴＲＬ０等からアービタＡＲへのデータ入力要求をイネーブルまたはディスエーブルにする。また、これらのＡＮＤゲート列Ａ０〜７は、データ検証部ＰＣＣから入力される検証済みデータのアービタＡＲへのデータの入力をイネーブルまたはディスエーブルにする。例えば、入力インターフェースＤＬＩＮ０のデータを有効にしてＭＣ２２に引き渡す場合には、受信制御部ＲＣＶ−ＣＴＲＬ０に接続されるＡＮＤゲートＡ０、および、レジスタＲ４、バッファＩＢＵＦ０、およびデータ検証部ＰＣＣに接続されるＡＮＤゲートＡ１に対して、制御情報保持部１３から、イネーブル信号、すなわち、ＡＮＤゲートＡ０、Ａ１に論理値０が供給される。また、入力インターフェースＤＬＩＮ０のデータを無効化してＭＣ２２に引き渡さない場合には、こ
れらのＡＮＤゲートＡ０、Ａ１に対して、ディスエーブル信号、すなわち、ＡＮＤゲートＡ０、Ａ１に論理値１が供給される。
【００８６】
他のＡＮＤゲート、例えば、受信制御部ＲＣＶ−ＣＴＲＬ１に接続されるＡＮＤゲートＡ２、およびレジスタＲ５、ＩＢＵＦ１、ＰＣＣを含む経路に接続されるＡＮＤゲートＡ３についても同様である。また、受信制御部ＲＣＶ−ＣＴＲＬ２に接続されるＡＮＤゲートＡ４、およびレジスタＲ６、ＩＢＵＦ２、ＰＣＣを含む経路に接続されるＡＮＤゲートＡ５についても同様である。また、受信制御部ＲＣＶ−ＣＴＲＬ３を含むＡＮＤゲートＡ６、およびレジスタＲ７、ＩＢＵＦ３、ＰＣＣを含む経路に接続されるＡＮＤゲートＡ７についても同様である。図８においては、ＡＮＤゲートＡ０〜７が無効化部の一例である。ただし、ＡＮＤゲートに代えて、アービタＡＲへの入力を遮断可能なトランジスタを用いてもよい。
【００８７】
出力バッファＯＢ０〜３は、レジスタＲ０〜３に供給されるデータを保持する。そして、例えば、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、出力バッファＯＢ０に出力データが存在する場合に、レジスタＲ０に１パケット分のデータを読み出す制御を実行する。送信制御部ＳＥＮＤ−ＣＴＲＬ０の処理は、ハードウェア回路で実行されてもよいし、ＤＳＰがコンピュータプログラムによって実行してもよい。
【００８８】
バスセレクタＳ０からＳ３は、レジスタＲ０からＲ３のいずれかからのデータを選択し、それぞれ、出力インターフェースＤＬＯＵＴ０〜３に出力する。レジスタＲ０が第１の保持部の一例である。また、レジスタＲ１が第２の保持部の一例である。
【００８９】
次に、図８に示したＣＰＵ００の通常動作時におけるパケット伝送の処理を以下説明する。通常動作とは、試験時ではない、通常の運用時をいう。ＣＰＵ００からＣＰＵ０１に対してパケットを伝送する場合、ＣＰＵ００のＭＣ２２から出力バッファＯＢ０にパケットが書き込まれる。次にＣＰＵ００のパケット送信制御部ＳＥＮＤ−ＣＴＲＬ０は、図１０に示されるフローにしたがい、パケットをＤＬＯＵＴ０に送出する。ＤＬＯＵＴ０に転送されたパケットはバッファＤＯ０、ＣＰＵ００のＳｅｒＤｅｓ０を通してＣＰＵ０１のＳｅｒＤｅｓ０に転送される。
【００９０】
ＣＰＵ０１のＳｅｒＤｅｓ０で受け取ったパケットはＣＰＵ０１のＤＬＩＮ０に転送され、ＣＲＣチェック等によりパケットが正常であることが確認されるとＣＰＵ０１のＲ４に送信される。ＣＰＵ０１のＲ４に送信されたパケットは図１１に示されるフローにしたがってＩＢＵＦ０に書き込まれ、ＭＣ２２に送信される。ＣＰＵ００からＣＰＵ０２、ＣＰＵ０３、ＸＢ０に対するパケット伝送も同様にして実行される。
【００９１】
次に、ＣＰＵ００の試験動作時におけるパケット伝送の処理を以下説明する。ＣＰＵ００の試験動作は、制御情報保持部１３のテストモードビットTEST_MODE[0:3]に値を設定することによって有効となる。TEST_MODE[0:3]の値はバスセレクタＳ０〜Ｓ３，ＳｅｒＤｅｓ０〜３，ＲＣＶ−ＣＴＲＬ０〜３に通知され、各機能ブロックはTEST_MODE[0:3]の値にしたがって動作を変更する。制御情報保持部１３に対する値の設定はＪＴＡＧやＩ２Ｃ（Inter-Integrated Circuit）等ＬＳＩに備わっている試験用機能のインターフェースを利用して外部から実施する。ただし、制御情報保持部１３に対する値の設定が、ＪＴＡＧやＩ２Ｃに限定される訳ではない。
【００９２】
ＪＴＡＧは、ＬＳＩチップの内部回路とＬＳＩチップ外の装置とが通信する規格である。ＪＴＡＧ規格にしたがったＬＳＩチップ内には、クロック、データ入力、データ出力、状態制御を指示する信号端子が用意され、この信号端子を通じてＬＳＩチップに対してバウンダリスキャンテスト（Boundary Scan Test）と呼ばれるテストが実行される。Ｉ２Ｃ
は、ＬＳＩ内部等とＬＳＩチップ外の装置等とがシリアル通信を行う規格である。なお、第２実施例では、制御情報保持部１３が保持するビット数として４ビットが例示される。しかし、制御情報保持部１３が保持するビット数が４ビットに限定される訳ではない。すなわち、ＣＰＵが接続される相手先ＣＰＵの数に応じて、TEST_MODEのビット数を定めれ
ばよい。
【００９３】
TEST_MODE[0:3]はインターフェースごとの設定値であり、接続先に実際にチップ（相手ＣＰＵ）が存在するインターフェースに対しては'0'、それ以外のインターフェースに対
しては'1'を設定する。
【００９４】
通常動作時はTEST_MODE[0:3]=0000に設定する。今、例えば、ＤＬＩＮ０とＤＬＯＵＴ
０を含むＣＰＵ００−ＣＰＵ０１経路をインターフェース０と呼ぶ。また、一般的に、ＤＬＩＮｉとＤＬＯＵＴｉを含むＣＰＵ００−ＣＰＵ０ｉ間の経路をインターフェースｉと呼ぶ。ここで、ｉは、１、２または３である。インターフェース０を通常動作にして残りのインターフェース１、２、３をテストモードに設定する場合TEST_MODE[0:3]=0111にす
る。ただし、インターフェースの数は、接続可能な相手ＣＰＵの数に依存するので、インターフェースの数が４に限定される訳ではない。
【００９５】
以下、TEST_MODE[0:3]=0111時の動作を例示する。TEST_MODE[0:3]=0111は、図１の構成で例示される。図１では、ＣＰＵ００、ＣＰＵ０１を接続した状態で、他のＣＰＵ、および中継チップ（クロスバースイッチＸＢ０、ＸＢ１等）は接続されていない。したがって、情報処理装置１がＣＰＵ００、ＣＰＵ０１を有し、他のＣＰＵとの通信を含めて試験を実行することを想定している。
【００９６】
図９に、TEST_MODE[0:3]=0111設定時の論理的な接続関係を例示する。TEST_MODE[0]=0
であるので、ＣＰＵ００とＣＰＵ０１の両方において、レジスタＲ０の信号は、バスセレクタＳ０において、そのまま出力インターフェースＤＬＯＵＴ０に伝送される。また、ＣＰＵ００とＣＰＵ０１の間で、インターフェース０、すなわち、入力インターフェースＤＬＩＮ０、出力インターフェースＤＬＯＵＴ０の信号は、変換部ＳｅｒＤｅｓ０でパラレルシリアル変換され、相互に接続される。すなわち、ＣＰＵ００の出力インターフェースＤＬＯＵＴ０の信号がＣＰＵ０１の入力インターフェースＤＬＩＮ０に接続される。また、ＣＰＵ０１の出力インターフェースＤＬＯＵＴ０の信号がＣＰＵ００の入力インターフェースＤＬＩＮ０に接続される。
【００９７】
一方、TEST_MODE[1:3]=111であるので、バスセレクタＳ１、Ｓ２、およびＳ３では、レジスタＲ０の信号が複写され、出力インターフェースＤＬＯＵＴ１、ＤＬＯＵＴ２、ＤＬＯＵＴ３に引き渡される。さらに、出力インターフェースＤＬＯＵＴ１の信号は、変換部ＳｅｒＤｅｓ１において折り返されて入力インターフェースＤＬＩＮ１に戻される。同様に、出力インターフェースＤＬＯＵＴ２の信号は、変換部ＳｅｒＤｅｓ２において折り返されて入力インターフェースＤＬＩＮ２に戻される。同様に、出力インターフェースＤＬＯＵＴ３の信号は、変換部ＳｅｒＤｅｓ３において折り返されて入力インターフェースＤＬＩＮ３に戻される。
【００９８】
ＣＰＵ００からＣＰＵ０１に対してパケットを転送する場合、最初にＣＰＵ００のＭＣ２２から出力バッファＯＢ０にパケットが書き込まれる。次にＣＰＵ００のパケット送信制御部ＳＥＮＤ−ＣＴＲＬ０は図１０に示されるフローにしたがい、レジスタＲ０を通してパケットをＤＬＯＵＴ０に送出する。ここで、バスセレクタＳ０〜Ｓ３は、図１２−１５に示されるバス選択論理にしたがう。通常動作(TEST_MODE=0000)のときには、バスセレクタＳ０はレジスタＲ０を選択し、バスセレクタＳ１はレジスタＲ１を選択し、バスセレクタＳ２はレジスタＲ２を選択し、バスセレクタＳ３はレジスタＲ３を選択する。しかし
、TEST_MODE[0:3]=0111のときには、上述のように、バスセレクタＳ０からＳ３のすべて
がＲ０からの信号を選択する。結果として、ＤＬＯＵＴ０にＣＰＵ００からのパケットが転送されるとともに複製されたパケットがＤＬＯＵＴ１、ＤＬＯＵＴ２、ＤＬＯＵＴ３に転送される。
【００９９】
ＤＬＯＵＴ０〜３のそれぞれに転送されたパケットは、変換部ＳｅｒＤｅｓ０〜３に伝送される。上述のように、変換部ＳｅｒＤｅｓ０〜３は、TEST_MODE[0:3]の自身のインターフェース番号に対応するビットが'1'であるときは自身の送出信号を折り返すモードと
なる。折り返し機能は一般的に備わっている変換部の回路を使用すればよい。ただし、折り返し機能の回路がない場合はテストモード時にＤＬＯＵＴからＤＬＩＮに折り返すための分岐と折り返し線を含む回路を組み込めばよい。結果として、ＣＰＵ００のＳｅｒＤｅｓ０に伝送されたパケットはＣＰＵ０１の変換部ＳｅｒＤｅｓ０に伝送される。一方、ＣＰＵ００の変換部ＳｅｒＤｅｓ１〜３に伝送されたパケットはＣＰＵ００のＤＬＩＮ１〜３に伝送される。
【０１００】
ＣＰＵ０１の変換部ＳｅｒＤｅｓ０に伝送されたパケットは通常動作時と同様にＣＰＵ０１の入力インターフェースＤＬＩＮ０，バッファＩＢＵＦ０を通じてＭＣ２２に伝送される。ＣＰＵ００の入力インターフェースＤＬＩＮ１〜３に伝送されたパケットはＣＰＵ００のレジスタＲ５〜Ｒ７に伝送され、図１１のフローチャートにしたがいバッファＩＢＵＦ１〜３へ書き込まれる。
【０１０１】
このときバッファＩＢＵＦ１〜３に書き込まれたパケットは本来ＣＰＵ００がＣＰＵ０１に送信したパケットであるため、ＣＰＵ００からすれば受け取ることのないパケットである。そのままＣＰＵ００で処理しようとすれば動作異常と判定される可能性がある。そこで、TEST_MODE[1:3]=111にしたがい、図８のＭＣ２２の入り口側のＡＮＤゲートＡ２からＡ７がディスエーブルとされ、ＭＣ２２へのパケット送信は行われず処理が完了する。すなわち、制御情報保持部１３が保持するTEST_MODEの指定にしたがったＡＮＤゲートＡ
０からＡ７の動作によって、不要なパケットのＭＣ２２への入力を抑止できる。なお、ＡＮＤゲートをイネーブル／ディスエーブルにする処理は、図１１によって後述する。
【０１０２】
（処理フロー）
以下、図７および図８で例示した試験実行時のハードウェア回路の動作シーケンスをフローチャートにしたがって説明する。図１０は、送信制御部ＳＥＮＤ−ＣＴＲＬ０の処理シーケンスを例示する図である。なお、他の送信制御部ＳＥＮＤ−ＣＴＲＬ１〜３についても、処理は、図１０と同様である。以下の送信制御部ＳＥＮＤ−ＣＴＲＬ０の処理シーケンスは、ハードウェア回路で実現してもよい。また、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジック回路のシーケンサで実現してもよい。また、Ｄ
ＳＰがコンピュータプログラムを実行することで実現してもよい。
【０１０３】
この処理では、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、出力バッファ（ＯＢ１等）に送信待ちパケットが存在するか否かを判定する（Ｓ１１）。出力バッファ（ＯＢ１等）に送信待ちパケットが存在する場合、リトライバッファおよび送信先のバッファＩＢＵＦの容量が十分か否かを判定する（Ｓ１２）。ここで、送信先のバッファＩＢＵＦは、例えば、ＣＰＵ００からＣＰＵ０１にデータを送信する場合に、図９に示したＣＰＵ０１のバッファＩＢＵＦ０の容量である。ここで、送信先のバッファＩＢＵＦの容量についての情報はクレジットと呼ばれ、図示しない信号線を通じて、接続されたＣＰＵ間（ＣＰＵ００〜０３、ＣＰＵ１０〜１３等の間）で授受される。
【０１０４】
Ｓ１１およびＳ１２の判定結果がいずれも真（ＹＥＳ）であった場合、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、レジスタＲ０にパケットを読み出し、出力インターフェースＤＬＯ
ＵＴ０および変換部ＳｅｒＤｅｓ０を通じて、ＣＰＵ０１にパケットを送信する（Ｓ１３）。
【０１０５】
一方、Ｓ１１およびＳ１２の判定結果のいずれか一方が偽（ＮＯ）であった場合、送信制御部ＳＥＮＤ−ＣＴＲＬ０は、Ｓ１３の処理を実行せずに終了する。
【０１０６】
図１１は、受信制御部ＲＣＶ−ＣＴＲＬ０の処理シーケンスを例示する図である。なお、他の受信制御部ＲＣＶ−ＣＴＲＬ１〜３についても、処理は、同様である。以下の受信制御部ＲＣＶ−ＣＴＲＬ０の処理シーケンスは、ハードウェア回路で実現してもよい。また、プログラマブルロジックコントローラ等のシーケンサで実現してもよい。また、ＤＳＰがコンピュータプログラムを実行することで実現してもよい。
【０１０７】
この処理では、受信制御部ＲＣＶ−ＣＴＲＬ０は、レジスタＲ４にパケットが到着したか否かを判定する（Ｓ２１）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、レジスタＲ５〜７が判定対象となる。
【０１０８】
レジスタＲ４にパケットが到着すると、受信制御部ＲＣＶ−ＣＴＲＬ０は、Ｒ４で受信したパケットをバッファＩＢＵＦ０に書き込む（Ｓ２２）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、バッファＩＢＵＦ１〜３が書き込み先となる。
【０１０９】
そして、受信制御部ＲＣＶ−ＣＴＲＬ０は、バッファＩＢＵＦ０にパケットが存在するか否かを判定する（Ｓ２３）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、バッファＩＢＵＦ１〜３が判定対象となる。
【０１１０】
バッファＩＢＵＦ０にパケットが存在する場合、受信制御部ＲＣＶ−ＣＴＲＬ０は、制御情報保持部１３のテストモードTEST_MODE[0]が１か否かを判定する（Ｓ２４）。なお、受信制御部ＲＣＶ−ＣＴＲＬ１〜３においては、TEST_MODE[1:3]が判定対象となる。
【０１１１】
Ｓ２４の判定でTEST_MODE[0]が１の場合、受信制御部ＲＣＶ−ＣＴＲＬ０は、データ検証部ＰＣＣによってパケットを取り出し、正常かどうかをチェックする（Ｓ２６）。パケットが正常でない場合（Ｓ２７でＮ）、情報処理装置１での通常のエラー処理が実行される（Ｓ２８）。エラー処理では、例えば、受信制御部ＲＣＶ−ＣＴＲＬ０がＣＰＵ００のＪＴＡＧコマンドへの戻り値等を通じて、図示しないシステム制御用のコンピュータ等にエラーを通知する。また、正常な場合には、そのまま処理が終了する。この場合に、図８に示したように、受信制御部ＲＣＶ−ＣＴＲＬ０の出力側のＡＮＤゲートＡ０およびバッファＩＢＵＦ０からデータ検証部ＰＣＣを通ってアービタＡＲに至る経路のＡＮＤゲートＡ１に、TEST_MODE[0]=1が入力されている。したがって、受信制御部ＲＣＶ−ＣＴＲＬ０の出力は、ＡＮＤゲートＡ０で遮断される。また、バッファＩＢＵＦ０からの出力はＡＮＤゲートＡ１で遮断される。したがって、ＩＢＵＦ０のパケットがデータ検証部で検証された後に、アービタＡＲおよびＭＣ２２に入力されない。
【０１１２】
また、Ｓ２４の判定でTEST_MODE[0]が0の場合、図８のＡＮＤゲートＡ０およびＡ１に
、TEST_MODE[0]=0が入力される。この場合、受信制御部ＲＣＶ−ＣＴＲＬ０からアービタＡＲへのアクセスが許容される。そこで、受信制御部ＲＣＶ−ＣＴＲＬ０は、アービタＡＲにデータ入力（パケット送信権）を要求する。そして、受信制御部ＲＣＶ−ＣＴＲＬ０は、アービタＡＲにおいてパケット送信権が獲得できたか否かを判定する（Ｓ２５）。
【０１１３】
そして、パケット送信権が獲得できた場合、受信制御部ＲＣＶ−ＣＴＲＬ０は、通常の手順にしたがって、ＩＢＵＦ０からパケットを取り出す。そして、受信制御部ＲＣＶ−ＣＴＲＬ０は、データ検証部ＰＣＣによって、取り出したパケットが正常かどうかをチェッ
クする（Ｓ２９）。そして、パケットが正常であった場合には（Ｓ２ＡでＹ）、受信制御部ＲＣＶ−ＣＴＲＬ０は、アービタＡＲを通じてＭＣ２２にパケットを送信する（Ｓ２Ｂ）。パケットが正常でない場合（Ｓ２ＡでＮ）、情報処理装置１での通常のエラー処理が実行される（Ｓ２８）。
【０１１４】
図１２に、バスセレクタＳ０のバス選択論理を例示する。図１２は、例えば、ＣＰＵ００のバスセレクタＳ０内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。
【０１１５】
バスセレクタＳ０は、TEST_MODE[0]=0か否かを優先して判定する（Ｓ３１）。そして、TEST_MODE[0]=0の場合に（Ｓ３１でＹ）、バスセレクタＳ０は、レジスタＲ０からの経路を選択する（Ｓ３２）。この場合は、インターフェース０、すなわち、ＤＬＩＮ０およびＤＬＯＵＴ０を通じて、相手ＣＰＵ０１と接続されている場合である。
【０１１６】
一方、Ｓ３１の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ０は、TEST_MODE[1]=0か否かを判定する（Ｓ３３）。そして、TEST_MODE[1]=0の場合に（Ｓ３３でＹ）、バスセレクタＳ０は、レジスタＲ１からの経路を選択する（Ｓ３４）。この場合は、インターフェース１、すなわち、ＤＬＩＮ１およびＤＬＯＵＴ１を通じて、相手ＣＰＵ０１と接続されている場合である。
【０１１７】
さらに、Ｓ３３の判定でTEST_MODE[1]=0でない場合に、次に、バスセレクタＳ０は、TEST_MODE[2]=0か否かを判定する（Ｓ３５）。そして、TEST_MODE[2]=0の場合に（Ｓ３５でＹ）、バスセレクタＳ０は、レジスタＲ２からの経路を選択する（Ｓ３６）。この場合は、インターフェース２、すなわち、ＤＬＩＮ２およびＤＬＯＵＴ２を通じて、相手ＣＰＵ０２と接続されている場合である。
【０１１８】
さらに、Ｓ３５の判定でTEST_MODE[2]=0でない場合に、バスセレクタＳ０は、レジスタＲ３からの経路を選択する（Ｓ３７）。この場合は、インターフェース３、すなわち、ＤＬＩＮ３およびＤＬＯＵＴ３を通じて、相手ＣＰＵ０３と接続されている場合である。
【０１１９】
なお、図１２では、TEST_MODE[0]=0、TEST_MODE[1]=0、TEST_MODE[2]=0、TEST_MODE[3]=0の順で判定した。しかし、バスセレクタＳ０の選択論理は、TEST_MODE[0]=0の判定を優先すればよく、TEST_MODE[1]=0、TEST_MODE[2]=0、TEST_MODE[3]=0の３つの判定に関しては、図１２の通りでなくてもよい。
【０１２０】
図１３に、バスセレクタＳ１のバス選択論理を例示する。図１３は、例えば、ＣＰＵ００のバスセレクタＳ１内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。図１３に示すバスセレクタＳ１の論理は、TEST_MODE[1]=0か否かの判定を優先する点を除いて、図１２でのバスセレクタＳ０の論理と同様である。
【０１２１】
すなわち、バスセレクタＳ１は、TEST_MODE[1]=0か否かを優先して判定する（Ｓ４１）。そして、TEST_MODE[1]=0の場合に（Ｓ４１でＹ）、バスセレクタＳ１は、レジスタＲ１からの経路を選択する（Ｓ４２）。
【０１２２】
一方、Ｓ４１の判定でTEST_MODE[1]=0でない場合に、次に、バスセレクタＳ１は、TEST_MODE[0]=0か否かを判定する（Ｓ４３）。そして、TEST_MODE[0]=0の場合に（Ｓ４３でＹ）、バスセレクタＳ１は、レジスタＲ０からの経路を選択する（Ｓ４４）。
【０１２３】
さらに、Ｓ４３の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ１は、TE
ST_MODE[2]=0か否かを判定する（Ｓ４５）。そして、TEST_MODE[2]=0の場合に（Ｓ４５でＹ）、バスセレクタＳ１は、レジスタＲ２からの経路を選択する（Ｓ４６）。さらに、Ｓ４５の判定でTEST_MODE[2]=0でない場合に、バスセレクタＳ１は、レジスタＲ３からの経路を選択する（Ｓ４７）。
【０１２４】
図１４に、バスセレクタＳ２のバス選択論理を示す。図１４は、例えば、ＣＰＵ００のバスセレクタＳ２内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。図１４に示すバスセレクタＳ２の論理は、TEST_MODE[2]=0か否かの判定を優先する点を除いて、図１２でのバスセレクタＳ０の論理と同様である。
【０１２５】
すなわち、バスセレクタＳ２は、TEST_MODE[2]=0か否かを優先して判定する（Ｓ５１）。そして、TEST_MODE[2]=0の場合に（Ｓ５１でＹ）、バスセレクタＳ２は、レジスタＲ２からの経路を選択する（Ｓ５２）。
【０１２６】
一方、Ｓ５１の判定でTEST_MODE[2]=0でない場合に、次に、バスセレクタＳ２は、TEST_MODE[0]=0か否かを判定する（Ｓ５３）。そして、TEST_MODE[0]=0の場合に（Ｓ５３でＹ）、バスセレクタＳ２は、レジスタＲ０からの経路を選択する（Ｓ５４）。
【０１２７】
さらに、Ｓ５３の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ２は、TEST_MODE[1]=0か否かを判定する（Ｓ５５）。そして、TEST_MODE[1]=0の場合に（Ｓ５５でＹ）、バスセレクタＳ２は、レジスタＲ１からの経路を選択する（Ｓ５６）。さらに、Ｓ５５の判定でTEST_MODE[1]=0でない場合に、バスセレクタＳ２は、レジスタＲ３からの経路を選択する（Ｓ５７）。
【０１２８】
図１５に、バスセレクタＳ３のバス選択論理を示す。図１５は、例えば、ＣＰＵ００のバスセレクタＳ３内の論理回路のテストモードTEST_MODE[0:3]に応じた論理をフローチャートの形式で示したものである。図１５に示すバスセレクタＳ３の論理は、TEST_MODE[3]=0か否かの判定を優先する点を除いて、図１２でのバスセレクタＳ０の論理と同様である。
【０１２９】
すなわち、バスセレクタＳ３は、TEST_MODE[3]=0か否かを優先して判定する（Ｓ６１）。そして、TEST_MODE[3]=0の場合に（Ｓ６１でＹ）、バスセレクタＳ３は、レジスタＲ３からの経路を選択する（Ｓ６２）。
【０１３０】
一方、Ｓ６１の判定でTEST_MODE[3]=0でない場合に、次に、バスセレクタＳ3は、TEST_MODE[0]=0か否かを判定する（Ｓ６３）。そして、TEST_MODE[0]=0の場合に（Ｓ６３でＹ
）、バスセレクタＳ３は、レジスタＲ０からの経路を選択する（Ｓ６４）。
【０１３１】
さらに、Ｓ６３の判定でTEST_MODE[0]=0でない場合に、次に、バスセレクタＳ３は、TEST_MODE[1]=0か否かを判定する（Ｓ６５）。そして、TEST_MODE[1]=0の場合に（Ｓ６５でＹ）、バスセレクタＳ３は、レジスタＲ１からの経路を選択する（Ｓ６６）。さらに、Ｓ６５の判定でTEST_MODE[1]=0でない場合に、バスセレクタＳ２は、レジスタＲ２からの経路を選択する（Ｓ６７）。
【０１３２】
（動作シーケンス）
図１６に、TEST_MODE[0:3]=0111設定時におけるＣＰＵ００からＣＰＵ０１へのパケッ
ト伝送時のタイムチャートを例示する。ここで、図１６の横軸は、例えば、ＣＰＵ００−ＣＰＵ０３等を駆動するクロックのサイクルである。また、図１６の縦軸は、ＣＰＵ００の出力バッファＯＢ０、レジスタＲ０、リトライバッファＤＯ０、ＣＰＵ０１の入力バッ
ファＤＩ０、レジスタＲ４、バッファＩＢＵＦ０、ＭＣ２２等である。さらに、図１６では、ＣＰＵ００のインターフェース１〜３の構成要素が列挙されている。すなわち、ＣＰＵ００のリトライバッファＤＯ１〜３、入力バッファＤＩ１〜３、レジスタＲ５〜７、バッファＩＢＵＦ１〜３が図１６の縦軸に示されている。
【０１３３】
図１６においては３サイクル目でパケットＡがレジスタＲ０からリトライバッファＤＯ０に伝送されるとともにリトライバッファＤＯ１，ＤＯ２，ＤＯ３に複製されていることが示されている。４サイクル目にはＤＯ１，ＤＯ２，ＤＯ３にあるパケットは折り返しによりＣＰＵ００のＤＩ１，ＤＩ２，ＤＩ３に転送される。ＣＰＵ０１に転送されたパケットは１１サイクル目でＭＣに伝送されるがＣＰＵ００で折り返されたパケットは６サイクル目にて処理が完了する。
【０１３４】
折り返されたパケットや各機能ブロックの動作の正当性は（１）ＤＬＩＮ１〜３のもつＣＲＣチェッカ（２）ＩＢＵＦ１〜３や受信制御部ＲＣＶ−ＣＴＲＬ０〜３が持つパリティチェッカ、プロトコルチェッカ等によって実施される。これらのチェッカは通常動作時であってもハードが故障していないかのチェックをするため動作する。結果、ＣＰＵ００とＣＰＵ０１を接続して試験を実行した状態であってもＣＰＵ０２、ＣＰＵ０３、ＸＢ０、ＸＢ１等のインターフェース回路部を同時に試験することが可能となる。試験は、例えば、ＣＰＵ００とＣＰＵ０１間のデータ転送を実行するテストプログラムを用いて行えばよい。
【０１３５】
＜効果＞
以上の構成により、情報処理装置１が採り得る構成中で、簡易な構成であっても、実際に使用されるインターフェース以外のインタ−フェースの部分に対しても動作確認が実施できる。例えば、図９に示したように、ＣＰＵ００とＣＰＵ０１とが、インターフェース０を通じて接続され、ＣＰＵ００がＣＰＵ０１、ＣＰＵ０２に接続するためのインターフェースが未接続であっても、ＣＰＵ００からＣＰＵ０１への伝送される信号を用いて、未接続のインターフェースの試験が可能となる。
【０１３６】
例えば、図８に示したように、バスセレクタＳ１からＳ３が、ＣＰＵ００からＣＰＵ０１に伝送されるレジスタＲ０のパケットを複製し、変換部ＳｅｒＤｅｓ１〜３で折り返して、ＤＬＩＮ１〜３に入力すればよい。折り返された信号について、例えば、ＤＬＩＮ１〜３においてＣＲＣチェック等を実行すればよい。また、受信制御部ＲＣＶ−ＣＴＲＬ１〜３がデータ検証部ＰＣＣを用いて、折り返された信号のパリティチェック、プロトコルチェック等を実行すればよい。また、折り返された信号は、アービタＡＲ等への入力をディスエーブルにすることで、信号が折り返されるＣＰＵ００内での矛盾を回避すればよい。
【０１３７】
また、上記第２の実施例では、バスセレクタＳ０〜３の選択、変換部ＳｅｒＤｅｓ０〜３の折り返しの有無、およびアービタＡＲへの入力に対するイネーブル／ディスエーブルの設定等が、制御情報保持部１３のテストモードTEST_MODE[0:3]で指定した。したがって、情報処理装置１の試験を行うオペレータ等は、情報処理装置１を制御するシステム管理用のコンピュータから、例えば、ＪＴＡＧコマンド等によって、制御情報保持部１３のテストモードTEST_MODE[0:3]に制御情報を設定し、簡易に試験を実行できる。また、試験の結果をＪＴＡＧコマンド等で読み出し確認すればよい。
【０１３８】
第２実施例で説明した情報処理装置１で伝送されるパケットはＣＰＵ上でテストプロラムを流した際にＣＰＵ間の実通信で使用されるパケットとなる。又、パケット発行タイミングはＣＰＵ上のキャッシュの状態、バッファのＢＵＳＹ、資源の競合といった各種ハードウェアの状態に影響される。そのため、実運用の環境に近いタイミングやデータパタン
で試験を実施することができる。
【０１３９】
以上のような構成は、図７に示したＣＰＵ００〜０３、ＸＢ０を通じて接続される他のＣＰＵ、あるいは、図１の構成で例示されるＸＢ１等を通じて接続されるＣＰＵ１０〜１３等、情報処理装置１に含まれるそれぞれのＣＰＵに備えられる。したがって、情報処理装置１、送信装置としてのＣＰＵ００、受信装置としての他のＣＰＵは、最大構成ではない将来の増設可能な構成、あるいは、極力単体に近い構成で、極力多数の部分を活性化した試験を実行することが可能となる。
【符号の説明】
【０１４０】
１    情報処理装置
１０    処理部
１１    データ処理部
１２Ａ、１２Ｂ  データ転送部
１３    制御情報保持部
２１    ルータ
２２    メモリコントローラ
２３    ＤＩＭＭコントローラ
３０    ＤＩＭＭ
ＤＢ１、ＤＢ２、ＤＢ３、ＤＢ４ＤＢ５、ＤＢ６、ＤＢ７、ＤＢ８  データバッファ
Ｓ０、Ｓ１、Ｓ２、Ｓ３  バスセレクタ
ＳＷ１、ＳＷ２、ＳＷ３  スイッチ
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2012127692.tif 000019
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2012127692.tif 000020
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2012127692.tif 000021
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2012127692.tif 000022
【国際調査報告】
2012127692.tif 000023
2012127692.tif 000024
2012127692.tif 000025
2012127692.tif 000026