(57)【要約】【課題】  小型且つ低コストのクロスバースイッチを提供する。  【解決手段】  カスケード接続された複数段のノードの各々にスイッチ回路５が配備されており、各スイッチ回路５が、目的のスイッチ回路５が存在する相対位置を直接又は間接に特定するための指定アドレスを前段ノードより入力し、この指定アドレスが特定値”０”を表しているかどうかを判別し、特定値を表すと判別したときに出力ノードラインへのデータ出力を可能にするとともに、入力された指定アドレスを”１”ずつ減数して新たな指定アドレスを生成し、この新たな指定アドレスを後段ノードへ出力する。  【選択図】  図５
2004310759.tif 000002
【特許請求の範囲】
【請求項１】
カスケード接続された複数段のノードの各々にノードコントローラが配備されており、
各ノードコントローラが、
目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を前段ノードより入力する入力インタフェースと、
入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときに所定のデータ出力ラインへのデータ出力を可能にするとともに、前記入力されたアドレス情報を所定の規則に従って変化させた新たなアドレス情報を生成するスイッチと、
この新たなアドレス情報を後段ノードへ出力する出力インタフェースとを有する、
クロスバースイッチ。
【請求項２】
前記アドレス情報が循環性の数値データであり、
前記出力インタフェースは、この数値データを所定値分だけ同一変化方向に増加又は減少させることにより前記新たなアドレス情報を生成する、
請求項１記載のクロスバースイッチ。
【請求項３】
前記アドレス情報が、開始ビットと終了ビットとを含むシリアルデータである、
請求項２記載のクロスバースイッチ。
【請求項４】
それぞれ前記複数段のノードを含む複数のノードラインを有し、
各ノードライン上のノードコントローラが、他のノードライン上のノードコントローラと非同期に動作する、
請求項１記載のクロスバースイッチ。
【請求項５】
それぞれ前記複数段のノードを含む複数のノードラインを有し、
各ノードライン上のノードコントローラが、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作する、
請求項１記載のクロスバースイッチ。
【請求項６】
前記複数段のノードの各々が所定のデータメモリの出力アドレスと１対１に対応付けられており、
各ノードコントローラのスイッチが、作動時に、当該ノードに対応付けられている前記出力アドレスを通じて前記データメモリから出力されるデータを前記データ出力ラインへ出力する、
請求項１記載のクロスバースイッチ。
【請求項７】
各ノードライン上のノードコントローラに、それぞれ、前段ノードからデータを入力するとともに、このデータを他のノードラインの後段ノードへ出力する第１パスと、前段ノードから前記アドレス情報を入力するとともに前記新たなアドレス情報を同一ノードラインの後段ノードへ出力する第２パスとが設定されている、
請求項５記載のクロスバースイッチ。
【請求項８】
各ノードコントローラは、複数のノードライン上で行列マトリクス状に配列されており、
前記第２パスは、各ノードラインの列方向に設定されており、
前記第１パスは、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって異なる列に存在するノードコントローラの入力端との間に設定されている、
請求項７記載のクロスバースイッチ。
【請求項９】
各ノードコントローラにおける前記第１パスと前記第２パスとが同一又は略同一のノード長である、
請求項８記載のクロスバースイッチ。
【請求項１０】
少なくとも同一の行方向に配列されるすべての前記ノードコントローラが、同一の動作タイミングを定めるクロック信号にしたがって動作する、
請求項８記載のクロスバースイッチ。
【請求項１１】
前記第１パスが、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって隣合う列に存在するノードコントローラの入力端との間に設定されている、
請求項８記載のクロスバースイッチ。
【請求項１２】
前記第１パスの一部又は全部は、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であってそのノードコントローラからは複数列離れた位置に存在するノードコントローラの入力端との間に設定されている、
請求項８記載のクロスバースイッチ。
【請求項１３】
列方向の最端部に位置するノードコントローラについての前記第１パスが、当該ノードコントローラの出力端と、次段の行の隣合う位置に存在するノードコントローラの入力端との間に設定されている、
請求項１２記載のクロスバースイッチ。
【請求項１４】
前記複数のノードラインの各々の入力端にアドレス情報生成手段が設けられ、このアドレス情報生成手段は、アドレス情報生成手段自体が設けられたラインを識別するための第１のライン識別データと、当該アドレス情報生成手段が設けられたラインの最後段のノードに設けられたスイッチから出力されるデータが入力されるノードラインを識別するための第２のライン識別データとに基づいて前記アドレス情報を生成する、
請求項８記載のクロスバースイッチ。
【請求項１５】
コンピュータに搭載可能なパッケージに収容されており、
前記複数のノードラインの入力端には、当該入力端に入力されるデータを保有する第１デバイスを接続するためのインタフェース部品が存在し、
前記複数のノードラインの出力端には、各々のノードラインと１対１に対応する演算パイプラインを有する第２デバイスを接続するためのインタフェース部品が存在する、
請求項８記載のクロスバースイッチ。
【請求項１６】
コンピュータに搭載可能なパッケージに収容されており、
前記複数のノードラインの入力端及び／又は出力端に、同一構成の他のクロスバースイッチの複数のノードラインを接続するためのインタフェース部品が存在する、
請求項８記載のクロスバースイッチ。
【請求項１７】
それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチの動作制御方法であって、
前記クロスバースイッチを制御する装置が、データを出力させるノードラインの識別情報と、作動させるノードコントローラの相対位置を表す情報とによりアドレス情報を生成し、このアドレス情報を目的のノードラインの初段ノードに入力する段階と、
前記アドレス情報が入力されたノードラインの各ノードに存在するノードコントローラが、それぞれ入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは当該ノードライン上のデータを出力するとともに、前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する段階とを有する、
クロスバースイッチの動作制御方法。
【請求項１８】
それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチを搭載して成るコンピュータが、各ノードコントローラを、以下のように動作させるためのクロスバースイッチの動作制御用プログラム。
（１）目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を入力し、
（２）入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは、当該ノードライン上のデータを出力するとともに、
（３）前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば画像処理用のコンピュータに搭載されるクロスバースイッチ及びその関連製品に関する。
【背景技術】
【０００２】
マルチプロセッサにおけるノード結合を、少ない制約のもとで実現するシステム部品の一つとしてクロスバースイッチがある。
クロスバースイッチは、通常、データ経路が交わる複数の交点（「クロスポイント」と称する）の各々にスイッチ機構が配置された２次元格子状のパラレルバス配線により構成される。
動作時には、スイッチ機構で、複数のクロスポイントの接続／非接続を制御することにより、入力ノードライン（複数のクロスポイントが存在する入力用ノードのバス配線、以下同じ）と出力ノードライン（複数のクロスポイントが存在する出力用ノードのバス配線、以下同じ）のクロスポイントの組合せにより形成される複数のデータ経路を選択的に切り換えることが可能になっている。
クロスバースイッチは、データ同士の衝突を防ぐノンブロッキング性に優れ、また、その構造や制御が比較的単純である等の利点を有することから、多くのデータ処理装置において利用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のクロスバースイッチは、その構造上、スイッチ機構がノード数の２乗倍必要となることは良く知られている。
また、パラレルバスの配線に際しては、出線の競合等の問題を避けるために、各バスにアービタ（調停器）や入力バッファ等の付加的な回路要素を設けなければならないために、小型化することが難しい。
例えば、２５６〜１０２４のノードをスイッチさせる構成のクロスバースイッチにおいては、クロスポイント数は６４キロポイント〜１メガポイント、パラレルバスのバス幅が３２ビット幅であるとすると、スイッチ数は最大で３２メガ個にも及び、このような大規模のものを小型に構成して実装することは、現状のプロセスルールでは非常に困難である。
また、従来のクロスバースイッチの構成では、スイッチ数の増大に伴ってデータ経路の交換処理を行う際のスイッチ制御が複雑となるばかりでなく、スイッチ制御のための配線数が飛躍的に増加してしまう。
【０００４】
本発明は、上記のような問題を解決するべくなされたもので、スイッチ数が増大した場合であっても、配線数を増加させることがなく、データ経路の交換処理を行う際のスイッチ制御を複雑にすることもないクロスバースイッチ及びその関連製品を提供することを、その課題とする。
【課題を解決するための手段】
【０００５】
本発明が提供するクロスバースイッチは、カスケード接続された複数段のノードの各々にノードコントローラが配備されており、各ノードコントローラが、前段ノードから目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を入力する入力インタフェースと、入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときに所定のデータ出力ラインへのデータ出力を可能にするとともに、前記入力されたアドレス情報を所定の規則に従って変化させた新たなアドレス情報を生成するスイッチと、この新たなアドレス情報を後段ノードへ出力する出力インタフェースとを有するものである。
「所定の規則」とは、例えば、ノード通過の度にアドレス情報が表す値を一定範囲ずつ特定値に近づけていき、特定値になった時点で当該ノードライン上では意味をなさない値に変化させること等が挙げられる。
このように構成されるクロスバースイッチによれば、アドレス情報を入力するだけで、該当するノードコントローラが、自律的にデータ出力ラインへのデータ出力を行う。
【０００６】
前記アドレス情報には、例えば、循環性の数値データを用いることができる。
この場合、前記出力インタフェースは、この数値データを所定値分だけ同一変化方向に増加又は減少させることにより前記新たなアドレス情報を生成する。
数値データとすることにより、アドレス情報が特定値を表しているかどうかの判別が容易になる。
また、前記アドレス情報を、開始ビットと終了ビットとを含むシリアルデータとすることもできる。
シリアルデータとすることによりデータラインの節約が図れ、開始ビットと終了ビットとを含むことにより、数値データの特定が容易になる利点がある。
【０００７】
それぞれ前記複数段のノードを含む複数のノードラインを有するクロスバースイッチとすることもできる。
この場合、各ノードライン上のノードコントローラは、他のノードライン上のノードコントローラと非同期に動作するようにしてもよく、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作するようにしてもよい。
前者の場合はスイッチ制御が簡略化される利点があり、後者はノード間のデータ伝搬の遅延差がなくなる利点がある。
【０００８】
前記複数段のノードの各々が所定のデータメモリの出力アドレスと１対１に対応付けられており、各ノードコントローラのスイッチは、作動時に、当該ノードに対応付けられている前記出力アドレスを通じて前記データメモリから出力されるデータを前記データ出力ラインへ出力するようにしてもよい。
このようにすれば、アドレス情報を入力するだけで、データメモリから所望のデータが出力されるようになる。
【０００９】
それぞれ前記複数段のノードを含む複数のノードラインを有し、各ノードライン上のノードコントローラが、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作するクロスバースイッチにおいて、各ノードライン上のノードコントローラに、それぞれ、前段ノードからデータを入力するとともに、このデータを他のノードラインの後段ノードへ出力する第１パスと、前段ノードから前記アドレス情報を入力するとともに前記新たなアドレス情報を同一ノードラインの後段ノードへ出力する第２パスとを設定するようにしてもよい。
このような構成のクロスバースイッチでは、切替可能なデータ経路をより多くすることができる。
【００１０】
第１パスと第２パスとが設定された上記のクロスバースイッチにおいて、各ノードコントローラを、複数のノードライン上で行列マトリクス状に配列し、前記第２パスは、各ノードラインの列方向に設定し、前記第１パスは、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって異なる列に存在するノードコントローラの入力端との間に設定するようにしてもよい。
このように各ノードコントローラを行列マトリクス状に配列することで、クロスバースイッチの構造を定型化することができ、多段接続が容易になる。
【００１１】
各ノードコントローラが行列マトリクス状に配列された上記のクロスバースイッチにおいて、各ノードコントローラにおける前記第１パスと前記第２パスとが同一又は略同一のノード長となるようにすることで、多段接続の際のデータ遅延量を小さくすることができる。
【００１２】
少なくとも同一の行方向に配列されるすべての前記ノードコントローラが、同一の動作タイミングを定めるクロック信号にしたがって動作するようにしてもよい。
このようにすれば、各列のノードラインを非同期に動作させた場合であっても、それぞれの出力端から同時にデータが出力させることが可能になる。
【００１３】
前記第１パスは、例えば、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって隣合う列に存在するノードコントローラの入力端との間に設定される。
あるいは、例えば、前記第１パスの一部又は全部が、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であってそのノードコントローラからは複数列離れた位置に存在するノードコントローラの入力端との間に設定される。
この場合、列方向の最端部に位置するノードコントローラについての前記第１パスは、当該ノードコントローラの出力端と、次段の行の隣合う位置に存在するノードコントローラの入力端との間に設定される。
【００１４】
他の形態においては、クロスバースイッチは、前記複数のノードラインの各々の入力端にアドレス情報生成手段が設けられ、このアドレス情報生成手段は、アドレス情報生成手段自体が設けられたラインを識別するための第１のライン識別データと、当該アドレス情報生成手段が設けられたラインの最後段のノードに設けられたスイッチから出力されるデータが入力されるノードラインを識別するための第２のライン識別データとに基づいて前記アドレス情報を生成する。
このアドレス情報生成手段により、任意のノードラインを指定してデータ出力を行わせることが可能になる。
【００１５】
本発明のクロスバースイッチは、コンピュータに搭載可能なパッケージに収容することができる。
その際、前記複数のノードラインの入力端に、当該入力端に入力されるデータを保有する第１デバイスを接続するためのインタフェース部品を設け、前記複数のノードラインの出力端に、各々のノードラインと１対１に対応する演算パイプラインを有する第２デバイスを接続するためのインタフェース部品を設けることで、これらのデバイスとの接続が容易になる。
また、前記複数のノードラインの入力端及び／又は出力端に、同一構成の他のクロスバースイッチの複数のノードラインを接続するためのインタフェース部品を設けることで、事後的な規模の拡張が容易になる。
【００１６】
本発明は、また、クロスバースイッチの動作制御方法を提供する。
この方法は、それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチの動作制御方法であって、前記クロスバースイッチを制御する装置が、データを出力させるノードラインの識別情報と、作動させるノードコントローラの相対位置を表す情報とによりアドレス情報を生成し、このアドレス情報を目的のノードラインの初段ノードに入力する段階と、前記アドレス情報が入力されたノードラインの各ノードに存在するノードコントローラが、それぞれ入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは当該ノードライン上のデータを出力するとともに、前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する段階とを有するクロスバースイッチの動作制御方法である。
この方法によれば、アドレス情報を入力するだけで、該当するノードコントローラが、自律的にデータ出力を行うので、クロスバースイッチの制御をノードライン毎に簡易に行うことができる。
【００１７】
本発明は、さらに、コンピュータのハードウエア資源との協働によって、クロスバースイッチの動作制御を行うコンピュータプログラムを提供する。
このプログラムは、それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチを搭載して成るコンピュータが、各ノードコントローラを、以下のように動作させるためのクロスバースイッチの動作制御用プログラムである。
（１）目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を入力し、  
（２）入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは、当該ノードライン上のデータを出力するとともに、
（３）前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する。
【発明の効果】
【００１８】
以上の説明から明らかなように、本発明によれば、スイッチ数が増大した場合であっても、配線数を増加させることがなく、データ経路の交換処理を行う際のスイッチ制御を複雑にすることもない、小型化且つ低コストのクロスバースイッチを提供することができる。また、本発明によれば、多段パイプラインにも適応可能なクロスバースイッチを提供することができる。
【発明を実施するための最良の形態】
【００１９】
＜第１実施形態＞
本発明のクロスバースイッチは、例えば大量の描画用データを処理する描画装置におけるメモリとプロセッサとの間のデータ転送制御に適用することができる。
以下、この場合の実施の形態を説明する。
まず、本発明が適用される描画装置について説明する。
図１は、この描画装置の要部構成図である。
描画装置は、描画処理に必要となるデータを確保するために、半導体デバイスの一例となるバッファ（メモリバッファ）１と、シリアル演算パイプラインを有するピクセルパイプラインプロセッサ２と、バッファ１とピクセルパイプラインプロセッサ２との間にインタフェース部品を介して接続されたクロスバースイッチ３とを有している。
バッファ１は、クロスバースイッチに入力される上記のデータが記憶されているデータメモリである。この実施形態では、一例として、マッピングにより、ポリゴン上の全体的な色及び模様を生成するためのテクステャおよびＣＬＵＴ（Color Look Up Table、カラールックアップテーブル）等のデータを記憶する。
ＣＬＵＴは、Ｒ（赤），Ｇ（緑），Ｂ（青）の３原色テーブルと、α値のテーブルとを含む。Ｒ，Ｇ，Ｂの３原色テーブルは、テクステャの各ピクセルの色を決定するために使用され、α値は、テクスチャをマッピングする際の画像のブレンド（αブレンディング）の割合をピクセル毎に決定するための係数値、つまり半透明度を表す係数値である。ＣＬＵＴからＲ，Ｇ，Ｂ３原色の値を取り出すためのインデックス（ＣＬＵＴのテーブル番号を指定するための値）は、テクステャのＸＹ座標で表されるピクセル毎に設定される。
【００２０】
ピクセルパイプラインプロセッサ２は、バッファ１からのデータの読み出しを行うと共に、テクステャマッピング、Ｚ座標の比較、画素値計算等をパイプライン方式により行う。
ピクセルパイプラインプロセッサ２は、また、画像の輝度のエッジを抽出する処理、テクステャのインデックスに応じてＣＬＵＴからＲ，Ｇ，Ｂ３原色データを取り出して各ピクセルの色を設定する処理、Ｇプレーンの各ピクセルのバイト値をインデックスとしてＣＬＵＴから取り出したα値（階調化されたα値）を用いたαブレンド処理等をも行う。さらに、シザリング、ディザリング、カラークランプ等の処理を行う。
シザリングは、画面からはみ出したデータを取り除く処理であり、ディザリングは、少ない色数で多くの色を表現するための色の配置を入り組ませる処理であり、カラークランプは、色の計算時にその値が２５５を越えたり０より小さくなったりしないように制限する処理である。
【００２１】
ピクセルパイプラインプロセッサ２で上述した各処理を行うことにより得られたデータは、図示しないフレームバッファに記憶され、２次元モニタ画面に描画されるフレームデータ（２次元画像データ）にされた後、そのフレームデータがフレームバッファから読み出され出力端子から出力されて、２次元モニタ装置へ送られる。
【００２２】
［クロスバースイッチ］
次に、図２〜図５を参照して、クロスバースイッチ３の構成及びその動作を説明する。
クロスバースイッチ３は、描画装置を実現するためのコンピュータに搭載可能なパッケージに収容されるもので、図２に示すように、格子状に配列されたシリアルバス配線４を含んで構成される。このクロスバースイッチ３は、描画装置における描画処理の際に、その描画装置が有するコントローラ（図示省略）によって、その動作が制御される。このコントローラは、プロセッサが所定のプログラムを実行することにより、描画処理及びクロスバースイッチ３の動作制御のための機能を有することになるものである。
シリアルバス配線４が交わるノードであるクロスポイントには、それぞれ、ノードの入力側のシリアルバス配線（以下、この実施形態において「入力ノードライン」と称する）とノードの出力側のシリアルバス配線（以下、この実施形態において「出力ノードライン」と称する）の接続／非接続を切り換えるためのノードコントローラ、例えばスイッチ回路５が設けられている。
入力ノードラインの各々は、インタフェース部品を介してバッファ１の出力アドレスと１対１に対応付けられて接続されており、出力ノードラインは、インタフェース部品を介してピクセルパイプラインプロセッサ２に接続されている。
【００２３】
スイッチ回路５は、予めアービトレーションで調整されることによって、その出力ノードライン上の相対位置が他のスイッチ回路と区別できるようになっている。
この個々のスイッチ回路５の相対位置を表す情報を、この明細書では、便宜上、そのスイッチ回路５の「アドレス」と呼ぶ。また、入力ノードラインと出力ノードラインとを接続させるための１つスイッチ回路５のアドレスを直接又は間接に特定するために指定するアドレス情報を「指定アドレス」と呼ぶ。
この実施形態で用いるアドレスは、出力ノードライン上のノード数、すなわちクロスポイント数分の数値を表すビット（数値データ）であって、出力ノードラインのアドレス入力端からデータ出力端の方向に、クロスポイントを経るたびに、例えば１ビットずつ減少し、特定値、例えばゼロ値になった時点で最大値、例えばクロスポイントの数が８つであった場合は、３，２，１，０，７，６，５，４となる循環性のものとする。
なお、数値を表すビットに代えて、Ａ，Ｂ，Ｃ，・・・Ｚ，Ａ，・・・のような循環性の文字列データをアドレスとして用いることもできる。
この文字列データは、クロスポイントを経るたびに、１文字ずつ変化し、特定値（文字が表す値）になった時点で初期値に戻るものである。
【００２４】
アドレスの一例を図５を参照して説明する。
図５に示すように、２５６ビットのデータを出力ノードラインの出力端に到達させるために２５６本の入力ノードラインが設けられる場合、アドレスは、”２５５”〜”０”の２５６種類の循環性の数値データとなる。すなわち、１ビットずつ減少していき、”０”の次段のアドレスは、”２５５”、さらにその次段のアドレスは、”２５４”・・・となる。
【００２５】
出力ノードラインのアドレス入力端には、アドレス選択回路６が接続されている。
このアドレス選択回路６は、指定アドレスを入力するものである。
各ノードラインには、コントローラのクロック信号源（図示省略）から出力された共通のクロック信号を伝送するためのクロック線７ａが並列に配備されている。
このクロック線７ａ上のクロック信号は、各ノードラインと同様、リピータ８を通過するように構成されている。従って、各スイッチ回路５が、このクロック線７ａのクロック信号を参照して、他のスイッチ回路と同じタイミングで動作を開始することにより、ノード（スイッチ回路）間を伝搬するデータの遅延差を低減させることができる。
また、ノード間での伝搬遅延（スキュー）を考慮する必要が無くなり、リピータ８等の挿入制限を緩和することができる。
【００２６】
クロスバースイッチ３の入力端とインタフェース部品との間には、バッファ１から読み出されるパラレルデータをシリアル変換するパラレル／シリアル変換回路９が接続されており、出力端とインタフェース部品との間には、シリアルデータをパラレル変換するシリアル／パラレル変換回路１０が配設されている。パラレル／シリアル変換回路９は、クロック線７ｂのクロック信号を参照して動作のタイミングを調整できるように構成されている。
このクロック線７ｂは、好ましくはクロック線７ａと共通のクロック信号を伝送するようにするが、異なるクロック信号を伝送するようにしてもよい。
【００２７】
なお、バッファ１及びピクセルパイプラインプロセッサ２がそれぞれ、シリアルデータを入出力可能な構成である場合、パラレル／シリアル変換回路９及びシリアル／パラレル変換回路１０は不要となる。特に、ピクセルパイプラインプロセッサ２がシリアル演算パイプラインを含む場合には、そのシリアル演算パイプラインの入力端とクロスバースイッチ３の個々のシリアルバスの出力端とを１対１に対応させるだけで、両者を配線させることができるので、配線作業がより容易になる。
【００２８】
スイッチ回路５は、出力ノードラインの前段ノード（スイッチ回路）から送られた指定アドレスを受け付ける入力インタフェースと、受け付けた指定アドレスが特定値（例えば”０”）を表すときに入力ノードラインと出力ノードラインとを接続してデータ経路を切り替えることにより、入力ノードラインのデータを出力ノードラインに出力可能にするとともに、受け付けた指定アドレスを所定規則、例えば循環性の順序性を維持しつつ、１つのクロスポイント通過分だけ減数して新たな指定アドレスを生成する機能と、この新たな指定アドレスを後段ノードへ送出する出力インタフェースとを有するものである。上記のデータ経路の切替と新たな指定アドレスの生成は、いずれも当該スイッチ回路５において自律的に行われる。
なお、上記の指定アドレスの受付、データ経路の切替及び新たな指定アドレスの生成、及び、新たな指定アドレスの出力は、論理回路とソフトウエアとの協働によって行うこともできるが、より単純には、図３のような論理回路のみで行うことができる。
【００２９】
図３に例示するスイッチ回路５は、出力ノードラインのように、カスケード接続された複数段のノードを通じて入力されたシリアルのキャリービットを１ビットずつデクリメントするデクリメント回路１１、すべてのアドレスビットを保持する論理和回路１２、アドレスビットが”０”のときにセレクト信号を出力する論理積回路１３、セレクト信号の出力レベルに応じて入力ノードラインと出力ノードラインの接続／非接続を切り換える接続切換回路１４を備えている。
入力されたアドレスビットが”０”であることを検知するだけで、スイッチ回路５は、自己が指定されたことを認識できるので、目的のスイッチ回路５の指定の形態が非常に簡略化される利点がある。
【００３０】
この実施形態のクロスバースイッチ３において、入力ノードライン及び出力ノードラインにクロック線７ａを並行に配線し、各スイッチ回路５がクロック線７ａを伝搬する共通のクロック信号を参照してノード（スイッチ回路）間を伝搬するデータの遅延差を低減させているのは、以上の問題を簡易に解決するための一手段である。
このような構成により、ノード単位でのデータの同期を確立することが容易になり、また、ノード間での伝搬遅延（スキュー）を考慮する必要が無くなり、リピータ８等の挿入制限を緩和することができる。
【００３１】
［クロスバースイッチの動作制御方法］
次に、バッファ１からピクセルパイプラインプロセッサ２へのデータ転送を行う場合のクロスバースイッチ３の動作制御方法について説明する。
この方法は、基本的には、上述した描画装置のコントローラが主導的になって行うが、例えばコントローラの制御によってピクセルパイプラインプロセッサ２が行うようにしてもよい。
この動作制御方法の概要は、以下のとおりである。
すなわち、コントローラが、いずれかの出力ノードラインの入力端から指定アドレスをシリアルデータとして入力する。
この指定アドレスは、目的のスイッチ回路５が出力ノードラインの入力端から何個目のスイッチ回路かを表す数値データである。指定アドレスの入力により、その出力ノードラインの各スイッチ回路５に、自律的に、入力された指定アドレスが”０”かどうかを判別させ、ゼロ値を表すときは入力ノードライン上のデータを受け取って、その出力ノードラインの後段ノードへ転送させる。また、入力した指定アドレスを”１”だけ減数させて新たな指定アドレスを生成し、この新たな指定アドレスを後段ノードへシリアルデータとして出力させる。
【００３２】
図４は、コントローラによって上記の動作制御が行われるときのスイッチ回路５の処理手順図である。
＜ステップＳ１＞
コントローラは、目的のスイッチ回路５を有する出力ノードラインのアドレス選択回路６に指定アドレスを入力し、そのアドレス選択回路６がその指定アドレスを初期化して１ビットずつ当該出力ノードラインに入力する。
【００３３】
＜ステップＳ２＞
デクリメント回路１１は、前段ノードより受け付けたアドレスビットの最下位ビット（最初に受け付けたアドレスビット）をデクリメントして次段ノードに出力すべき新たな指定アドレス（アドレスビット）の値を決定する。
デクリメントの際に、そのアドレスビットが”０”の場合には位下げ（繰り下げ）が生じるので、次のアドレスビットもデクリメントする。
なお、この処理の際、論理和回路１２は、前段ノードからのアドレスビットを所定のメモリ領域に保持する。
【００３４】
＜ステップＳ３＞
論理積回路１３は、アドレスビットの出力が終了したか否かを判別する。
終了した場合には、ステップＳ４の処理へと移り、終了していない場合には、ステップＳ１の処理に戻る。
【００３５】
＜ステップＳ４＞
論理積回路１３は、アドレスビットの和が”０”であるか否かを判別する。
アドレスビットの和が”０”であった場合は、ステップＳ５の処理へ移る。
＜ステップＳ５＞
スイッチ回路５の論理積回路１３は、セレクト信号をアサートする。
そして、接続切換回路１４がセレクト信号にしたがって入力ノードラインと出力ノードラインを接続する。
図５は、この様子を示すものである。
これにより、入力ノードラインから出力ノードラインへのデータ転送が行われる。
データ転送が終了した時点で一連の制御処理を終える。
【００３６】
上記のような制御処理をすべてのスイッチ回路５が自律的に実行することにより、バッファ１からピクセルパイプラインプロセッサ２へのデータ転送が適切に行われる。
このような動作制御方法を採用することにより、クロスポイント切替（データ転送）のための制御線とデータ投入線とを共有化することができ、バス配線数を大幅に減らすことが可能となる。
【００３７】
このように、本実施形態のクロスバースイッチ３は、入力ノードラインと出力ノードラインをシリアルバスで構成し、指定アドレスを出力ノードラインに入力するだけで、その指定アドレスが”０”になったスイッチ回路５が自律的にクロスポイント切替（データ転送）を行うようにしたので、パラレル型のクロスバースイッチに比べて、配線数を格段に少なくすることができ、小型化を実現することができる。
さらに、バスをシリアル化したことによるパフォーマンスの低下を抑制することができる。
【００３８】
また、各々の入力ノードラインが他の入力ノードラインと独立にシリアルデータを伝送し、出力ノードラインも他の出力ノードラインとは独立に指定アドレスを伝送するようにしたので、ノードライン間の非同期伝送が可能になり、ノードライン、ノード、クロスポイントの数が多い場合であっても、その制御が複雑になることがない。
各スイッチ回路５が、少なくとも並行動作する他のノードライン上のスイッチ回路５の動作タイミングを定めるクロック信号と同一のクロック信号にしたがって動作することができるので、データのノード間の伝搬遅延差を小さくすることができる。
【００３９】
また、本実施形態のクロスバースイッチ３では、所望の出力ノードラインに指定アドレスを入力するだけで、クロスポイント切替が行われるので、データ経路の切替に関する外部動作制御が不要になり、しかも、制御動作自体が単純化される利点がある。
【００４０】
なお、以上の説明は、描画装置のコントローラが主導的にクロスバースイッチ３の動作制御を行う場合の例であるが、クロスバースイッチの動作制御は、クロスバースイッチを搭載するが描画装置とは独立して存在するコンピュータと、コンピュータ読み取り可能な記録媒体に記録された制御処理プログラムとの協働によって実現することもできる。
すなわち、動作制御用プログラムを記録した記録媒体をコンピュータに装着して、そのコンピュータの記憶部に動作制御用プログラムをロードし、コンピュータのプロセッサが、この動作制御用プログラムを読み込んで実行することで、図４に示した手順で動作制御を行うようにする。記録媒体は、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テ一プ等のプログラムを記録することができるようなコンピュータ読み取り可能な記録媒体等が含まれる。
【００４１】
＜第２実施形態＞
次に、多段パイプラインにも適応可能なクロスバースイッチの実施形態を説明する。
この実施形態のクロスバースイッチは、それぞれ入力端から出力端の方向にシリアルデータを伝送させるための複数のノードラインを有し、これらのノードラインの各々に、複数のノードコントローラが所定のノード間隔で１つずつ挿入接続されているものである。
なお、この実施形態にいうノードラインは、第１実施形態との間の説明の整合を図るために便宜上設けた観念的なものである。
また、この実施形態においても、第１実施形態の場合と同様、ノードコントローラを「スイッチ回路」と称する。
【００４２】
図６は、この実施形態によるクロスバースイッチの特徴的な構成部分及びその動作概要を説明するための図である。
この実施形態のクロスバースイッチは、アドレス情報生成手段の一例となるアドレス初期化部２０と、データ経路の切替を行う経路切替部２１とを含んで構成される。
ここでは、経路切替部２１におけるスイッチ回路（図６において矩形で示されているもの）が、８×８の行列マトリクス状に配されているクロスバースイッチの例を挙げる。
【００４３】
この実施形態のクロスバースイッチが第１実施形態のクロスバースイッチ３と異なるのは、カスケード接続されたノード間に第１パスと第２パスとを設定し、第１パスを第２パスに対して斜めに配線したこと、及び、出力されるデータが経るノード数である。
なお、ここでいう斜めとは、スイッチ回路が行列マトリクス状に配されたクロスバースイッチにおいて、第１スイッチ回路が次段の第２スイッチ回路に第２パスによって接続される場合、第１パスは、第１スイッチ回路を、第２スイッチ回路と同じ段に設けられてかつ第２スイッチ回路とは異なる第２スイッチ回路に接続することを意味する。
スイッチ回路が行列マトリクス状に配置されていることから、第１パスは第２パスに対して斜めとなる。また、図６等に示されるように、第１パスは、必ずしも第２パスと斜め、即ち平行でも垂直でもない角度になるわけではなく、第２パスと垂直な配線と第２パスに平行な配線とによって第１パスを構成してもよい。スイッチ回路自体は、第１実施形態のクロスバースイッチ３のものを使用することもできるが、後述するように異なる構成にすることもできる。
【００４４】
斜めに配線される第１パスは、第１実施形態の場合と同様、各入力端からのデータが全ての出力端に送出可能なように最後まで流されるパスである。
この第１パスは、前段のスイッチ回路の出力端と、そのスイッチ回路の次段の行で異なる列に存在するスイッチ回路の入力端との間に設定される。
図６の例では、次段の行で１つおきに離れた列に存在し、列の最端部のノードについては次段の行で隣合う位置に存在するスイッチ回路の入力端との間に設定されている。
このように設定することで、データの伝送遅延差を低減させることができる。
一方、第２パスは、前段ノードから指定アドレスが流されるパスであり、ノードラインに沿って配線される。
【００４５】
コンピュータ搭載可能なパッケージに収容可能な点、各スイッチ回路がそれぞれ指定アドレスによって直接又は間接に特定することができる点、例えば描画装置のコントローラによってその動作が制御される点については、第１実施形態のクロスバースイッチ３と同じである。
この実施形態では、各ノードラインは、２値の識別データであるライン番号によって他のノードラインと識別され、指定アドレスは、２値のアドレスビットで表現されるものとする。
説明を簡略化するため、以後の説明では、ライン番号及び指定アドレスがそれぞれ３ビットで表されるものとするが、この数値は例示であって、この例に限定させる趣旨ではない。
【００４６】
図６に示されるアドレス初期化部２０は、目的のスイッチ回路を指定するための初段のスイッチ回路用の指定アドレスを設定する。
指定アドレスは、第１実施形態の場合と同様、例えば目的のスイッチ回路が上述の初段のスイッチ回路から何番目のスイッチ回路かを表す数値データであり、ノードを通過する度に“１”だけデクリメント（減数）されて新たな指定アドレスとなる。
従って、目的のスイッチ回路に対しては、前段のスイッチ回路から指定アドレスとして“０”が入力される。この指定アドレスにより、各スイッチ回路に、自律的に、入力された指定アドレスが“０”かどうかを判別させ、“０”を表すときはそのスイッチ回路（指定アドレスによって識別されるスイッチ回路）に接続されている第１パス上のデータが後段側のノードラインから出力されるようにする。
図６の例では、ライン６の出力端からライン７に入力されるデータを出力する場合の指定アドレスが“００１”に設定されることを示しており、これが第２パスを通じて最初のスイッチ回路へ送られる。
【００４７】
この実施形態で用いるスイッチ回路は、具体的には図７のように構成される。
すなわち、スイッチ回路５０は、入力インタフェースの一例となる第１パス入力端ＩＮａから入力されたシリアルデータａと、同じく入力インタフェースの一例となる第２パス入力端ＩＮｂから入力されたシリアルデータｂと、このシリアルデータｂをデクリメント回路５０２でデクリメントしたデータｃとをセレクタ５０１で選択的に、出力インタフェースの一例となる第１パス出力端ＯＵＴａ及び第２パス出力端ＯＵＴｂとから出力する。
デクリメント回路５０２には、キャリー回路５０３が設けられており、キャリービットの論理レベル（“０”／“１”）が、デクリメント回路５０２の入力側とセレクタ５０１に供給されるように構成されている。
キャリー回路５０３は、後述する制御スタートビットによりリセットされる。
【００４８】
セレクタ５０１及びキャリー回路５０３には、外部のコントローラから出力されるフェーズデータも入力される。
フェーズデータは、クロスポイント制御フェーズとデータ転送フェーズとを形成するためのもので“０”と“１”のいずれかが入力される。
フェーズデータが“０”のときが、アドレス投入となるクロスポイント制御フェーズ、フェーズデータが“１”のときが、データ投入となるデータ転送フェーズである。
フェーズデータは、各行のすべてのスイッチ回路のセレクタ５０１及びキャリー回路５０３に同じデータが入力される。フェーズデータ“０”からフェーズデータ“１”への移行は、すべてのアドレスビットが流れたことを契機として行われる。
一方、フェーズデータ“１”からフェーズデータ“０”への移行は、コントローラの指示に基づいて行われる。例えば、あるノードラインの入力端と他のノードラインの出力端とを第１パスを通じて接続した状態で他の出力端と入力端との接続関係を変える必要がある場合も、このフェーズデータをコントローラから該当するスイッチ回路のセレクタ５０１及びキャリー回路５０３に入力することで実現が可能となる。
【００４９】
キャリー回路５０３は、フェーズデータが“０”のときはキャリービット伝搬、フェーズデータが“１”のときはキャリービット保持を行う。
このキャリービットは、後述するように、フェーズ切替の際の重要なデータとなるものである。すなわち、フェーズデータが“１”でキャリービットも“１”の場合は、クロスポイント制御フェーズにおいて投入された指定アドレスが“０”であった、すなわち、このスイッチ回路が指定されていたことを表す。
セレクタ５０１は、所定規則にしたがって、シリアルデータの選別を行う。
例えば、フェーズデータが“０”のときはデクリメント回路５０２から出力されたデータｃを第２パス出力端ＯＵＴｂから出力する。
フェーズデータが“１”でキャリービットが“０”のときは第１パス入力端ＩＮａと第１パス出力端ＯＵＴａ、第２パス入力端ＩＮｂと第２パス出力端ＯＵＴｂをそれぞれ繋ぎ、フェーズデータが“１”でキャリービットが“１”のときは第１パス入力端ＩＮａと第１パス出力端ＯＵＴａ、第１パス入力端ＩＮａと第２パス出力端ＯＵＴｂをそれぞれ繋ぐ。
つまり、フェーズデータが“１”の場合、スイッチ回路の第１パスの出力端ＯＵＴａからは、キャリービットの値に拘わらず、常に、当該スイッチ回路の前段のスイッチ回路（又はアドレス初期化部）から当該スイッチ回路の第１パスの入力端ＩＮａに入力されたビット値がそのまま出力される。
一方、第２パスの出力端ＯＵＴｂからは、キャリービットが“０”のときには、当該スイッチ回路がその第２パスの入力端ＩＮｂで受信したビット値が、キャリービットが“１”であるときは、当該スイッチ回路がその第１パスの入力端ＩＮａで受信したビット値がそのまま出力される。
【００５０】
上述したように、あるノードラインの入力端と他のノードラインの出力端とを第１パスを通じて接続した状態で他の出力端と入力端との接続関係を変える必要がある場合、つまり、あるノードラインだけ出力データを変える（アドレスを再度流す）必要がある場合は、フェーズデータが“０”のときに第１パス入力端ＩＮａと第１パス出力端ＯＵＴａとを繋ぎ、デクリメント回路５０２の出力（第２パス入力端１Ｎｂ）と第２パス出力端ＯＵＴｂとを繋ぐようにする。
【００５１】
なお、上述したリセットのための制御スタートビット及びフェーズデータは、コントローラから命令列である「インストラクションアレイ」として供給される。
また、以後の説明では、第１実施形態に合わせて、図７のように構成されるノードコントローラをスイッチ回路５０と表現する。
【００５２】
＜クロスバースイッチの動作制御方法＞
次に、この実施形態におけるクロスバースイッチの動作制御方法を図６、図８〜図２５を参照して説明する。
この方法もまた、描画装置のコントローラが主導的になって行われるが、上述したように、描画装置とは独立に存在するコンピュータとプログラムとの協働によって行うこともできる。
ここでは、前提として、図６の最上段に示されるように、それぞれ８種類のデータ（データ０〜データ７）があり、これらのデータを、図６最下段に示されるライン番号（ライン０〜ライン７）によって識別されるいずれかのノードラインから出力させるものとする。また、この実施形態では、各ライン０〜７にはデータ０〜７がそれぞれ入力され、ライン０の経路切換部２１の最終段のスイッチ回路からはデータ４を出力させる。
同様に、ライン１からはデータ６，ライン２からはデータ１、ライン３からはデータ３、ライン４からはデータ４，ライン５からはデータ５、ライン６からはデータ７、ライン７からはデータ４が、それぞれ最終段のスイッチ回路から出力される。
以下の説明では、ライン番号をｎ（０≦ｎ≦７）として、各データ０〜データ７に対して、当該データがアドレス初期化部を通じて入力されたラインを「入力元ライン」と記載する。アドレス初期化部（ＡＩＮＩ−１〜ＡＩＮＩ−７）が属するライン番号と当該アドレス初期化部に入力されるデータの番号とは一致しているので、ライン番号ｎがそのままデータ番号となる。
例えば、データ５の入力元ラインは、データ番号の「５」をそのまま用いてライン５として表される。
また、データｎが出力されるラインをデータｎの「出力先ライン」と記載する。
上述のように、ライン４に入力されたデータ４は、ライン４，ライン７，ライン０のそれぞれから出力される。
従って、データ４の出力先ラインはライン４，ライン７，ライン０となる。
一方、データ２はどこからも出力されないので、出力先ラインは存在しないことになる。更に、ラインｎにおける経路切換部２１の最終段のスイッチ回路から出力されるデータをラインｎ出力データとする。
例えば、後に説明する図２２に示されるように、ライン０におけるライン出力データ、即ちライン０出力データはデータ４であり、ライン１出力データはデータ６である。
各ノードラインのスイッチ回路５０には、それぞれ７、６、５、４、３、２、１、０の循環性のアドレス（数値データ）が降順に割り当てられているものとする。
【００５３】
コントローラは、目的のスイッチ回路５０を指定するために、ラインｎのアドレス初期化部２０に対して、ラインｎ出力データの入力元ラインのライン番号を表す３ビットのアドレスビットをシリアルに入力する。なお、この例では、データ番号を、当該データが入力されるアドレス初期化部が属するラインの番号と一致させているので、ラインｎ出力データのデータ番号は、ラインｎ出力データの入力元ラインのライン番号と一致する。
具体的には、ライン０において、ライン０出力データはデータ４であり、このデータ４の入力元ラインはライン４であるので、ライン０のアドレスビットは４となる。
また、ライン１においては、ライン１出力データはデータ６であり、を出力させるので、ライン１のアドレスビットは６となる。
同様に、ライン２、３，４，５，６，７におけるアドレスビットは、それぞれ１、３、４、５、７、４となる。
本実施形態では、ラインｎのアドレス初期化部にデータｎを入力する前に、上述のように定められたラインｎアドレスビットがシリアルに入力される。
図６の例では、最右列のライン０には、ライン０出力データであるデータ４の入力元ラインであるライン４を識別するためのアドレスビット“１００”が入力され、その後にデータ０が入力される。なお、図６では、このアドレスビットを「アドレス４」と記載している。“ライン１には、ライン１出力データであるデータ６の入力元ラインを識別するためのアドレスビット“１１０”がシリアルに入力される。
同様に、ライン７にはライン４を識別するためのアドレスビット“１００”、ライン２にはライン１を識別するためのアドレスビット“００１”、ライン６にはライン７をを識別するためのアドレスビット“１１１”、ライン３にはライン３を識別するためのアドレスビット“０１１”、ライン５にはライン５を識別するためのアドレスビット“１０１”、ライン４にはライン４を識別するためのアドレスビット“１００”がそれぞれシリアルに入力されることが図６に示される。アドレス初期化部２０（AINI-0〜AINI-7）では、当該アドレス初期化部が属するラインのライン番号と、入力されたアドレスビットから、指定アドレスを算出する。図６では、このアドレスビットが「アドレス１」〜「アドレス６」として表されている。また、アドレス初期化部AINI-0〜AINI-7の数値部分は、アドレス初期化部が設けられたノードラインのライン番号を表している。
【００５４】
各アドレスビットのうち最初のビットＳは制御開始ビットであり、ＬＳＢ（Least Significant Bit）に同期して入力される。
この制御開始ビットが各スイッチ回路５０に入力されることにより、キャリー回路５０３を初期化し、セレクタ５０１がアドレスビットを一つ通過させる。
各アドレスビットのうち２番目のビットＣは制御ビットであり、中データに同期して入力される。
各アドレスビットのうち３番目のビットは終了ビットであり、ＭＳＢ（Most Significant Bit）に同期して入力される。この終了ビットが入力されたときにキャリービットが“１”になるスイッチ回路５０が、データ転送を行う目的のスイッチ回路となる。
【００５５】
図６のクロスバースイッチの経路切換部２１の各スイッチ回路は、第１パスと第２パスとで接続されている。第１パスはラインｎのｍ段目のスイッチ回路を、ライン（ｎ−１）の（ｍ＋１）段目のスイッチ回路と接続する（１≦ｍ≦８）。
例えば、図６において、ライン４の１段目のスイッチ回路は、第１パスを通じてライン３の２段目のスイッチ回路に接続されている。また、ライン０においては、（ｎ−１）の値は−１となるが、０≦ｎ≦７であるので、この値を７とする。従って、ライン０は第１パスを通じてライン７に接続される。このように、ｎの値を０〜７の範囲で、…２，１，０，７，６…と循環させるようにする。ｍに関しては、１≦ｍ≦８であるが、８＋１＝９段目は、最終段におけるスイッチ回路からデータが出力されることを意味するので、ｎとは異なり、ｍは循環性の値とはならない。
また、後述するように、第１パスと第２パスの接続形式が、ライン０の第２パスの入力側からみて、ライン０の第１パス、ライン１の第１パス、・・・ライン７の第１パスという順番で繋がるようになっているので、例えば、ラインｎ出力データが入力されるノードラインのライン番号と、ラインｎ出力データが出力されるノードラインのライン番号との演算によって指定アドレスを生成することができる。
但し、この例の場合、指定アドレスは０〜７の循環性をもつ数値データなので、アドレス初期化部２０では、・・・１→０→７→６・・・のような循環性を考慮した演算を行う。
【００５６】
上述したように、フェーズデータ“０”からフェーズデータ“１”への移行は、すべてのアドレスビットが流れたことを契機として行われる。
従って、図６、図８〜２２において、経路切換部２１の各スイッチ回路においては、アドレスビット（本実施形態では３ビット）が流れている間はフェーズデータは“０”である。
また、データは、アドレスビットがすべて流れた後に流れるので、データが流れているときは、フェーズデータは“１“となっている。
ここで、上述のように、フェーズデータが“１”の場合、キャリービットの値に拘わらず、第１パスの出力端ＯＵＴａからは、常に第１パスの入力端ＩＮａからの入力が出力される。
従って、ラインｎのＺ段目のスイッチ回路に第１パスから（１段目のスイッチ回路に関してはアドレス初期化部から入力される）入力されたデータは、少なくとも第１パスの入力端ＩＮａから第１パスの出力端ＯＵＴａへと流れて次のラインであるライン（ｎ−１）の次の段である（ｍ＋１）段目のスイッチ回路へと流れることが保証されている（ただし、０≦ｎ≦７、１≦ｍ≦８）。
【００５７】
例えば、図６において、データ４は、アドレス初期化部ＡＩＮＩ−４を通じてライン４の初段のスイッチ回路に入力される。
このライン４の初段のスイッチ回路では、第１パスを通じてライン３の２段目のスイッチ回路へとデータ４を流す。ライン３の２段目のスイッチ回路では、第１パスを通じてライン２の３段目のスイッチ回路へとデータ４を流す。同様にして、データ４は、ライン１の４段目のスイッチ回路、ライン０の５段目のスイッチ回路、ライン７の６段目のスイッチ回路、ライン６の７段目のスイッチ回路、ライン７の８段目のスイッチ回路へと流される。このように、データ４は、第１パスを通じて各ラインごとに１つのスイッチ回路を流れることが保証されている。
同様に、データ０〜３，５〜７のいずれも各ライン毎に１つのスイッチ回路を流れる。
クロスバースイッチの第１パスを通じたデータの流れは以上のとおりである。
次に、クロスバースイッチの第２パスについて説明する。クロスバースイッチの第２パスは、常に同一ラインのスイッチ回路を接続する。図６のライン４を例にとると、図中に示した矢線方向に伸びてＡＩＮＩ−４から図中下部の「ライン４」との記載に向かう太線が第２パスとなる。従って、第２パスを通じてデータが流れる場合には、同一ラインの初段、２段目、３段目、…８段目の各スイッチ回路をデータが流れることになる。
【００５８】
本実施形態では、ラインｎ出力データとしてデータｘをラインｎの経路切換部２１の８段目のスイッチ回路から出力させたい場合、このデータｘが実際にラインｎから出力されるようにするために、以下のような処理を行う。まず、ラインｎの経路切換部２１の１段目〜８段目のスイッチ回路のうち、第１パスからデータｘを受けとるスイッチ回路を指定する。指定する手法は後述する。指定されたスイッチ回路では、第１パスから受けとったデータｘを第２パスを通じて同一ラインの次の段のスイッチ回路に流す。指定されたスイッチ回路以降の段のスイッチ回路では、第２パスを通じて受けとったデータｘを第２パスを通じて次の段のスイッチ回路に流す。
これを繰り返し、８段目のスイッチ回路では、データｘを第２パスを通じて受けとり、受けとったデータｘを出力する。
これにより、データｘが実際にラインｎ出力データとして８段目のスイッチ回路から出力される。
なお、図７に示されるように、スイッチ回路には第１パス出力端ＯＵＴａと第２パス出力端ＯＵＴｂとの二つの出力が設けられており、本実施形態では、８段目のスイッチ回路からは第２パス出力端ＯＵＴｂのみからデータｘを出力するものとした。
しかし、８段目のスイッチ回路にの出力端ＯＵＴａ、ＯＵＴｂのうちどちらからデータｘを出力するかは任意に定めることができ、例えば第１パス出力端ＯＵＴａのみ、あるいは両方の出力端からデータｘを出力してもよい。
【００５９】
次に、個々のラインに注目してクロスバースイッチの動作説明を行う。
各ラインにおいては、１つのラインあたり８つのスイッチ回路が配置されている。各ラインの経路切換部２１の１段目のスイッチ回路は、それぞれの第１パスを通じてそれぞれ異なるデータを受ける。
以下、図６のライン４の各段について、データ０〜７のうちどのデータが第１パスを通じて入力されるかを説明する。
ライン４の初段のスイッチ回路にはＡＩＮＩ−４を通じてデータ４が入力される。
この実施形態では、初段の回路の第１パス入力端Ｉｎａは、データ４を受けとる。
２段目のスイッチ回路は、第１パスを通じてライン５の初段に接続されている。
従って、ライン５のアドレス初期化部からライン５の初段のスイッチ回路に入力されたデータ５が、この第１パスを通じてライン５の初段からライン４の２段目のスイッチ回路に入力される。
つまり、ライン４の２段目の第１パス入力端ＩＮａは、データ５を受けとる。
同様に、ライン４の３段目のスイッチ回路の入力端ＩＮａは、データ６を受けとる。
同様に、ライン４の４段目、５段目、６段目、７段目、８段目の各スイッチ回路の第１パス入力端Ｉｎａは、それぞれデータ７，データ０，データ１，データ２，データ３を受けとる。
このように各ラインに注目すると、ラインｎの各段のスイッチ回路の第１パス入力端Ｉｎａが受けとるデータは、初段即ち１段目ではデータｎ、２段目ではデータ（ｎ＋１）、３段目はデータ（ｎ＋２）、４段目はデータ（ｎ＋３）…ｍ段目にはデータ｛ｎ＋（ｍ−１）｝、…８段目はデータ（ｎ＋７）となる。ただし、上述のように０≦ｎ≦７，１≦ｍ≦８であるので、{（ｎ＋ｍ−１）}の値は、…７，８，１，２，３，４，５，６，７，８，１，２，…のように、１〜８の間で循環する。
【００６０】
このように、いずれのラインｎにおいても、そのｍ段目のスイッチ回路にはデータ｛ｎ＋（ｍ−１）｝が入力される。
逆に、データｘをラインｎのラインｎ出力データとする場合には、ｘ＝｛ｎ＋（ｍ−１）｝の関係が成立することから、データｘが入力される段数ｍは、ｍ＝ｘ−ｎ＋１として表される。
例えばライン６（即ちｎ＝６）のスイッチ回路において、データ７をライン６出力データとする（即ちｘ＝７）のであれば、データ７が入力される段の番号ｍ＝（７−６＋１）＝２であるので、データ７は２段目に入力されることがわかる。ライン６出力データがデータ５（即ちｘ＝５）であれば、（５−６＋１）＝０であるが、上述のように段数は１〜８で循環しているので、０段目＝８段目となり、その結果、データ７は８段目に入力されることになる。実際に、図６においても、すべてのライン及びすべての段でこの関係が成立している。
【００６１】
このような前提のもとに、本実施形態では、フェーズデータが“１”のときは、ラインｎ（例えば図６のライン６）の各段のスイッチ回路のうち、ラインｎ出力データとなるべきデータであるデータｘ（図６のライン６においては、図２２に示されるようにデータ７がライン６出力データに該当し、ｘ＝７となる）が第１パスの入力端ＩＮａから入力されているスイッチ回路においては必ずキャリービットが１となり、かつ、第２パスの入力端からデータｘが入力されているスイッチ回路においてはキャリービットが必ず“０”になるようにクロスバースイッチを構成している。
原理的には、これらに該当しないスイッチ回路におけるキャリービットは“０”でも“１”でも構わない。本実施形態では、これらに該当しないスイッチ回路におけるキャリービットの値は“０”となる。
【００６２】
後述するように、本実施形態では、図７に示されるスイッチ回路を用いて指定アドレス、フェーズデータ、リセット入力を適切に定めることで上述の構成が達成される。
このような構成とすることで、ラインｎの各スイッチ回路においては、データｘが第１パスの入力端ＩＮａから入力された場合、当該スイッチ回路の第２パスの入力端ＩＮｂが受けとったデータとは無関係に、第２パスの出力端ＯＵＴｂからデータｘが出力されて同じラインにおける次の段のスイッチ回路の第２パスの入力端ＩＮｂに入力される。
この第２パスを通じてデータｘを受けとったスイッチ回路では、上述のようにキャリービットの値は“０”であるので、データｘを第２パスの出力端ＯＵＴｂに出力し、同じラインの更に次の段のスイッチ回路の第２パスの入力端ＩＮｂに入力する。
このように、以降の段のスイッチ回路では、第２パスから入力されたデータをそのまま同じラインの次段のスイッチ回路に出力する。
従って、ラインｎの８段目のスイッチ回路からは、ラインｎ出力データとしてデータｘが出力される。
【００６３】
以上のことから、任意のラインのアドレス初期化部に入力されるデータを、ラインｎにおけるラインｎ出力データとすることができる。
また、ラインとデータとを一対一に対応させるだけでなく、複数のラインから同じデータを出力することもできる。
例えば図２２に示されるように、ライン４とライン７とライン０とにおいては、いずれもライン出力データとしてデータ４が出力されている。
以下、上述のようにキャリービットを設定するための構成を説明する。
本実施形態においては、上記構成を実現するために、図７に示されるスイッチ回路を用い、かつ、上述のような構成となるように、指定アドレスの設定、フェーズデータの指定、キャリービットの値の変更、リセット信号の入力タイミングを定めている。
【００６４】
本実施形態では、アドレス投入となるクロスポイント制御フェーズではフェーズデータを０として、各ラインのそれぞれのアドレス初期化部で指定アドレスをスイッチ回路に流している。
また、上述のように、ノード（スイッチ回路）を通過する度に、指定アドレスが“１”だけデクリメント（減数）されて新たな指定アドレスとして後段のスイッチ回路に出力される。
アドレス初期化部では、指定アドレスを初段のスイッチ回路の第２パスの入力端ＩＮｂに、データを初段のスイッチ回路の第１パスの入力端ＩＮａにそれぞれ入力する。フェーズデータが“０”のときは、デクリメント回路５０２から出力されたデータｃを第２パス出力端ＯＵＴｂから出力する。上述のように、フェーズデータが“０”のときは、スイッチ回路においては、キャリービット伝搬を行う。
【００６５】
このように指定アドレスが１ビットずつ入力されるキャリービット伝搬におけるスイッチ回路の動作を説明する。
キャリービットが０の場合、第２パス入力端ＩＮｂからの入力が０のときは、第２パス出力ＯＵＴｂの出力は０、キャリーは０のまま維持される。
キャリービットが０で第２パス入力端ＩＮｂからの入力が１のときは、第２パス出力ＯＵＴｂの出力は１、キャリーは０のまま維持される。
キャリービットが１の場合、第２パス入力端ＩＮｂからの入力が０のときは、第２パス出力ＯＵＴｂの出力は１、キャリーは１のままとなる。
キャリービットが１で第２パス入力端ＩＮｂからの入力が１のときは、第２パス出力ＯＵＴｂの出力は０、キャリーは０となる。
即ち、各スイッチ回路では、１ビットずつシリアルに入力される指定アドレスの各ビットに対して、キャリーが１のときは減算を行った出力を行い、キャリーが０のときは減算を行わない。その結果、各スイッチ回路においては、１ビットずつシリアルに入力される指定アドレスを１だけ小さくするという動作が（１デクリメント）がシリアルに行われる。このような構成により、後段のスイッチ回路には、減算によりその値が１だけ小さくなった指定アドレスをシリアルに入力することが達成される。
【００６６】
ここで、上述のスイッチ回路の動作において、スイッチ回路のキャリービットが０のときは、第２パス入力端ＩＮｂから０，１のいずれが入力されても、キャリービットの値は０に維持される。
一方、スイッチ回路のキャリービットが１のときには、第２パス入力端ＩＮｂからの入力が０であったときのみキャリービットが１のまま維持され、第２パス入力端ＩＮｂからの入力が１であると、キャリービットは０に変更される。
キャリービットの初期値は１であるので、スイッチ回路に１ビットずつ入力される指定アドレスの各ビット（本実施形態では３つのビット）のうち、１つでもそのビットの値が１であれば、キャリービットの値は０となり、その後キャリービットの値が１になることはない。
【００６７】
スイッチ回路に入力される指定アドレスの値が「０」であれば、指定アドレスを構成するすべてのビットが０であるので、そのスイッチ回路のキャリービットは１のままとなる。従って、指定アドレスが０、つまり“０００”が入力されたスイッチ回路では、キャリービットは１のままに維持される。
一方、スイッチ回路に入力される指定アドレスが「０」以外であれば、指定アドレスを構成するビットのうち少なくとも１つはその値が「０」となる。従って、入力された指定アドレスが０ではないスイッチ回路では、３ビットのアドレスが入力された後のキャリービットの値は、必ず「０」となっている。
このようにして、順次入力される指定アドレスのすべてのビットが“０”であったスイッチ回路においてのみ、キャリービットの値が“１”となることが達成される。
その他のスイッチ回路においては、指定アドレスの３ビットすべてが通過してデータの入力が行われても（即ちフェーズデータが“１”になっても）キャリービットの値は０のままとなる。
この構成により、「データ転送フェーズ（フェーズデータ＝“１”）において、第１パスからデータｘが入力されるスイッチ回路を指定し、指定したスイッチ回路のキャリービットの値を１とし、その他のスイッチ回路のキャリービットの値を０とする」ことが実現される。
【００６８】
一方、「データ転送フェーズにおいて、ラインｎの１段目〜８段目に配置されたスイッチ回路のうち、ラインｎ出力データとなるべきデータであるデータｘが第１パス（またはアドレス初期化部）から入力されるスイッチ回路を指定」するための構成を以下に示す。
ラインｎのアドレス初期化部では、このような指定を行うために、ラインｎ出力データであるデータｘが第１パス（１段目においてはアドレス初期化部）からどの段のスイッチ回路に対して入力されるかを演算する。
上述のように、ラインｎのスイッチ回路においては、データｘは、（ｘ−ｎ＋１）段目に入力される。
また、上述のように、指定アドレスは図７のデクリメント回路５０２でデクリメントされた後に次段のスイッチ回路に入力されるので、（ｘ−ｎ＋１）段目においては、指定アドレスが（ｘ−ｎ）回デクリメントされたうえで入力されることになる。
以上のことから、ラインｎのアドレス初期化部では、指定アドレスを（ｘ−ｎ）として算出する。
【００６９】
例えば、ライン６に注目すると、ライン６に入力されるデータ６がライン１出力データである場合、ｎ＝１、ｘ＝６であるので、アドレス初期化部１では、指定アドレスの値を（６−１）＝５として算出する。
指定アドレスは、ライン１の１段目、２段目、３段目、４段目、５段目の各経路切換部２１の行のスイッチ回路でそれぞれ「１」ずつデクリメントされる。
従って、６段目の行のスイッチ回路では、指定アドレスは、５回デクリメントされて「０」となっており、これにより、ライン１の６段目の行のスイッチ回路が、「ライン１出力データであるデータ６が第１パスから入力されるスイッチ回路」として認識される。
なお、ライン７（ｎ＝７）では、ライン４に入力されるデータ４（ｘ＝４）がライン７出力データとなるので、（ｘ−ｎ）の値は４−７＝−３となる。
しかし、アドレス初期化部７では、上述の循環性から、減算結果である「−３」に循環サイクルである８を加算した「５（“１０１”）」を出力する。このように、８を法としたモジュロ演算を行うことで、循環サイクルを考慮した演算結果が得られる。
【００７０】
シリアル減算器等を用いて２進法の減算をシリアルに行うことで、上述のような循環性を反映させた指定アドレスを出力するようアドレス初期化部を構成することができる。
なお、アドレス初期化部は、当該アドレス初期化部自体が設けられたライン番号を参照できるようにしておく。例えば、アドレス初期化部に設けられたメモリに上記ライン番号を記録してく。また、アドレス初期化部にも上述のフェーズデータが供給される。アドレス初期化部ｎにおいて、フェーズデータが０のときには上述の減算が行われる。フェーズデータが１のときには、入力されるデータｎをそのままスルーして初段のスイッチ回路へとデータを流す。
次に、上記減算の原理を説明する。フェーズデータが０のときの演算は、１ビットずつシリアルに行われる。例えば、上述アドレス初期化部で、ライン７出力データのデータ番号である４（“１００”）からライン７のライン番号である７（“１１１”）を減算する場合、以下のように処理がなされる。
まず、ラインｎ出力データのデータ番号（上述のアドレス初期化部７の例では“１００”）の最初のビットがアドレス初期化部ｎに入力される（この入力をＰとする）。
一方、ラインｎに設けられたアドレス初期化部ｎでは、ラインｎのライン番号ｎ（上述の例では“１１１”）の最初のビットを読み出す（この読み出したビットをＱとする）。アドレス初期化部ｎでは、キャリービットをＲとして、Ｐ−Ｑ−Ｒを演算し、その演算結果を初段のスイッチ回路に出力する。
ただし、この演算において、キャリービットのデフォルト値は０である。また、演算結果が負の場合には、キャリービットは、演算前の状態に拘わらず１に設定される。また、出力結果は、演算結果に「２」を足した結果を出力する。これにより、１ビットずつのシリアル入力による減算が行われる。
【００７１】
図８は、クロスポイント制御フェーズを開始するために、最下位ビットのシリアルデータ（アドレス）である制御開始ビットＳがアドレス初期化部２０に入力された状態、図９は最下位ビットに続き、２番目のビットのシリアルデータ（アドレス）である制御ビットＣがアドレス初期化部２０に入力され、最下位ビットは初段の行のスイッチ回路５０に入力された状態、図１０は３ビット目のシリアルデータ（アドレス）である制御終了ビットＥがアドレス初期化部２０に入力され、１ビット目は２段目の行のスイッチ回路５０、２ビット目が初段の行のスイッチ回路５０に入力された状態を示している。
これらの３ビットのすべてがアドレス初期化部２０を通過した時点の数値は、上述した減算結果を表すものとなる。
【００７２】
図８において、ライン７を例にとって説明すると、ライン７出力データはデータ４であるのでｘ＝４、ライン番号が７なのでｎ＝７となる。
アドレス初期化部７には、ｘ＝４（“１００”）の最下位ビット「０」が入力される。
アドレス初期化部７では、ｎ＝７（“１１１”）の最下位ビット「１」を上述のメモリから読み出して０から１を減算し、更にキャリービットのデフォルト値“０”を減算する。
減算結果は０−１−０＝−１となるが、上述のようにこの値に２を足した値である“１”が指定アドレスの最下位ビットとして初段のスイッチ回路に供給される（図８のＡＩＮＩ−７における「０→１」に対応）。この際、図示されていないが、演算結果が負であるので、上述の原理からキャリービットは“１”となる。
図９において、ｘ＝“１００”の２番目のビット“０”がアドレス初期化部７に入力され、ｎ＝“１１１”の２番目のビット“１”がメモリから読み出されて減算される。
この際、キャリービットが“１”であるので、このビットの減算結果は０−１−１＝−２となる。上述の原理から演算結果の値に２を足した“０”が初段のスイッチ回路に供給される（図９のＡＩＮＩ−７における「０→０」に対応）。また、演算結果が負であるので、キャリービットは“１”となる。
図１０において、ｘ＝“１００”の最上位ビット“１”がＡＩＮＩ−７に入力され、ｎ＝“１１１”の最上位ビット“１”が減算され、更にキャリービットの値“１”が減算される。
この減算結果は、１−１−１＝−１となるが、上述の原理から２を加えて“１”を出力する。これにより指定アドレスの３番目のビットは“１"となる（図１０のＡＩＮＩ−７における「１→１」に対応）。
これらの処理を行うことで、指定アドレスとして、「１０１」、つまり５が得られる。このようにキャリービットを用いることで、ラインｎ出力データのデータ番号であるｘからライン番号ｎを減算した結果を得ることができる。
【００７３】
引き続き、４ビット目のシリアルデータ（伝送対象データ）がアドレス初期化部２０に入力されると、指定アドレスは、制御終了ビットＥが、経路切替部２１の初段の行のスイッチ回路５０に入力される。
このときの状態を示したのが図１１である。
図１１では、ライン４、ライン５、ライン３の先頭行のスイッチ回路５０のキャリービットが”１”になっている。したがって、上述したように、これらのライン４，５，３では、初段の行のスイッチ回路５０がデータ転送を行うスイッチ回路として指定されたことになるので、これらのスイッチ回路５０では、第１パス上を流れるシリアルデータが第２パス上に転送され、それぞれデータが出力端に至るまで、同一ノードライン（第２パス）の後段のスイッチ回路５０をそのままスルーしていく。
【００７４】
図１２は、ライン６の２段目のスイッチ回路５０がデータ転送を行うスイッチ回路として選定された状態を示している。
その後、図１３及び図１４のように１段ずつシリアルデータが伝送していき、図１５の状態でライン０の５段目の行のスイッチ回路５０がデータ転送を行うスイッチ回路として選定される。図１６の状態では、さらに、ライン１、ライン７の６段目の行のスイッチ回路５０がデータ転送を行うスイッチ回路として指定される。
さらに図１７の状態を経て、図１８の状態で、ライン２の最下段のスイッチ回路がデータ転送を行うスイッチ回路５０として指定される。
【００７５】
このようにして、各ノードラインにおけるそれぞれのスイッチ回路５０において指定アドレスのすべてのアドレスビットの入力が終わると、次の動作タイミングからデータ転送フェーズに入る。やがて、図１９〜図２１の順にデータが各スイッチ回路５０を通過していき、各ノードラインの出力端から、それぞれ１ビットずつ出力される。
これらのシリアルデータがどの経路をセレクトされて通過していき、最終的にどのような状態で出力端から出力されたかを示したのが、図２２である。
【００７６】
このように、第２実施形態のクロスバースイッチでは、データ転送フェーズとクロスポイント制御フェーズとが分離されているので、クロスポイント制御を行うための制御線とデータ出力線とを共有化することが可能となり、クロスバースイッチ内の配線数を大幅に減らすことができ、クロスバースイッチの小型化を実現することができる。
また、例えば、ノード間の距離が同一又は略同一になるように配線することにより、これをインタフェース部品を介して多段接続してクロスバースイッチの規模を事後的に拡大することが容易になる。さらに、インストラクションアレイによって、データ転送とほぼ同じ時間でクロスポイント制御を行うことができるので、クロスポイント制御フェーズの割合が少ない処理の場合には、より高速なデータ転送処理を実現することができる。
【００７７】
第２実施形態のクロスバースイッチの利用形態は、実に様々である。
例えば、図２３のような、一般的なクロスバースイッチの利用形態のほか、図２４のようなマルチキャスト方式、図２５のようなブロードキャスト方式も、このクロスバースイッチによれば、容易に実現することができる。
これらの図において、符号２２で示される領域の数値は、そのノードラインから出力させたいデータが入力されるノードラインのライン番号であり、経路切替部２１における数値は、各ノードラインのスイッチ回路５０のアドレスである。
各スイッチ回路５０上に記述されている数値は、そこでデクリメントされたアドレスである。アドレス初期化部２０における数値は、指定アドレスであり、前述のように、出力させたいノードラインのライン番号からデータが流れるノードラインのライン番号を減算することにより導かれる。
【００７８】
図２４の例では、ライン２，ライン３、ライン５、ライン６からそれぞれライン番号０により識別されるノードラインの入力端から入力されるデータを同時に出力するとともに、ライン４とライン７からライン番号２により識別されるノードラインの入力端から入力されるデータを出力させる場合の例が示されている。図２５は、ライン０〜ライン７のすべてから同時にライン番号３により識別されるノードラインの入力端から入力されるデータを出力させる場合の例が示されている。
【００７９】
このように、入力Ｎ（Ｎは自然数）種類対出力Ｎ種類のデータ経路の切替パターンだけでなく、入力Ｎ種類対出力Ｍ（Ｎ＜Ｍ）種類のデータ経路の切替パターンを実現することができる。しかも、ライン番号を特定するだけで指定アドレスが生成され、その指定アドレスに対応する各ノードラインのスイッチ回路５０が自律的にデータ転送を行うので、第１実施形態の場合と同様、クロスポイント制御の形態が極めて簡略化される。
【００８０】
変形例として、経路切替部２１における第１パスと第２パスは、図２６に示される経路切替部２３のように設定することもできる。
図２６は、第１パスが、前段のスイッチ回路５０の出力端と、そのスイッチ回路５０の次段の行であって隣合う列に存在するスイッチ回路５０の入力端との間に設定されている場合の例を示すものである。また、上述した第２実施形態のクロスバースイッチは、１行毎にパイプライン化する場合の例であるが、図２６に示したクロスバースイッチでは、複数行をまとめてパイプライン化している。つまり、各ノードラインの動作フェーズを、複数行単位で、フェーズ０〜フェーズ４のように切り替えるようにしたものである。
【００８１】
なお、図２６では、セレクトパスが最左端列に到達したときは次段の行の最右端列のスイッチ回路５０の入力端に戻るようになっているが、直下の行の右隣のスイッチ回路５０の入力端に戻るようにしてもよい。
【００８２】
以上、本発明を２つの実施形態を例に挙げて説明したが、これらの実施形態は、本発明の範囲を限定するものではない。
例えば、第１及び第２実施形態では、アドレス及び指定アドレスが降順の数値データであり、指定アドレスがノードを経過する度にデクリメントされて”０”になったときにデータ転送を行う場合の例、すなわち、ノードのアドレスが表す特定値を間接的に特定する場合の例を説明したが、アドレス及び指定アドレスを昇順の数値データとし、ノードを通過した結果、アドレスが表す値が増加することにより予めそのノードに割り当てられた固有の値に達したことを特定したとき、つまりノードのアドレスが表す特定値を直接特定したときにそのノード上のスイッチ回路５０が動作してデータ転送を行うようにすることもできる。
特定値が間接的に特定される場合のアドレスを相対アドレス、特定値が直接的に特定される場合のアドレスを絶対アドレスとすると、上述したクロスバースイッチの例、特に第２実施形態のクロスバースイッチの例では、アドレス初期化部２０以降のアドレスは、どのラインからデータをとってくるかという値を自分のアドレスとの相対値入力しなければならないため、動作の整合性をとるため、アドレス初期化部２０で相対アドレスから絶対アドレスに変換する必要がある。このとき、アドレスの変換に際して双方のアドレス関係を予め規定したアドレス変換テーブルを用意しておくことが、処理の迅速化の観点からは望ましい。
【００８３】
また、本発明に係るクロスバースイッチは、バッファ１とピクセルパイプラインプロセッサ２との間に介在してデータ経路の選択を行う場合のほか、並列計算機、ＡＴＭ（非同期転送モード：Asynchronous Transfer Mode)、イーサーネット（登録商標）等におけるデータ転送、データ通信処理におけるデータ経路の選択の場合、その他同様の用途にも応用することもできる。
【図面の簡単な説明】
【００８４】
【図１】本発明が適用される描画装置の要部構成図。
【図２】本発明の第１実施形態によるクロスバースイッチの内部構成図。
【図３】第１実施形態によるスイッチ回路の構成図。
【図４】第１実施形態によるクロスバースイッチの動作制御の手順説明図。
【図５】クロスポイント切替の説明図。
【図６】本発明の第２実施形態によるクロスバースイッチの内部構成図。
【図７】第２実施形態によるスイッチ回路の構成図。
【図８】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図９】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１０】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１１】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１２】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１３】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１４】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１５】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１６】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１７】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１８】クロスバースイッチの動作説明図（クロスポイント制御フェーズ）。
【図１９】クロスバースイッチの動作説明図（データ転送フェーズ）。
【図２０】クロスバースイッチの動作説明図（データ転送フェーズ）。
【図２１】クロスバースイッチの動作説明図（データ転送フェーズ）。
【図２２】データ転送制御が終了した状態の経路を示した説明図。
【図２３】クロスバースイッチの一般的な動作形態を示した模式図。
【図２４】マルチキャスト方式の動作形態を示した模式図。
【図２５】ブロードキャスト方式の動作形態を示した模式図。
【図２６】クロスバースイッチの変形例を示した内部構成図。
【符号の説明】
【００８５】
１・・・バッファ、
２…ピクセルパイプラインプロセッサ、
３・・・クロスバースイッチ、
４・・・シリアルバス配線、
５，５０・・・スイッチ回路、
６…アドレス選択回路、
７ａ  ，７ｂ・・・クロック線、
８・・・リピータ、
９・・・パラレル／シリアル変換回路、
１０・・・シリアル／パラレル変換回路、
１１・・・デクリメント回路、
１２・・・論理和回路、
１３・・・論理積回路、
１４・・・接続切換回路、
２０・・・アドレス初期化部、
２１，２３・・・経路切替部、
２２・・・指定されたライン番号
【図１】
2004310759.tif 000003
【図２】
2004310759.tif 000004
【図３】
2004310759.tif 000005
【図４】
2004310759.tif 000006
【図５】
2004310759.tif 000007
【図６】
2004310759.tif 000008
【図７】
2004310759.tif 000009
【図８】
2004310759.tif 000010
【図９】
2004310759.tif 000011
【図１０】
2004310759.tif 000012
【図１１】
2004310759.tif 000013
【図１２】
2004310759.tif 000014
【図１３】
2004310759.tif 000015
【図１４】
2004310759.tif 000016
【図１５】
2004310759.tif 000017
【図１６】
2004310759.tif 000018
【図１７】
2004310759.tif 000019
【図１８】
2004310759.tif 000020
【図１９】
2004310759.tif 000021
【図２０】
2004310759.tif 000022
【図２１】
2004310759.tif 000023
【図２２】
2004310759.tif 000024
【図２３】
2004310759.tif 000025
【図２４】
2004310759.tif 000026
【図２５】
2004310759.tif 000027
【図２６】
2004310759.tif 000028