Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4443966B2 - クロスバースイッチ及びその動作制御方法、動作制御用プログラム - Google Patents
[go: Go Back, main page]

JP4443966B2 - クロスバースイッチ及びその動作制御方法、動作制御用プログラム - Google Patents

クロスバースイッチ及びその動作制御方法、動作制御用プログラム Download PDF

Info

Publication number
JP4443966B2
JP4443966B2 JP2004086613A JP2004086613A JP4443966B2 JP 4443966 B2 JP4443966 B2 JP 4443966B2 JP 2004086613 A JP2004086613 A JP 2004086613A JP 2004086613 A JP2004086613 A JP 2004086613A JP 4443966 B2 JP4443966 B2 JP 4443966B2
Authority
JP
Japan
Prior art keywords
node
line
data
input
address information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004086613A
Other languages
English (en)
Other versions
JP2004310759A (ja
Inventor
純一 直井
友博 大戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2004086613A priority Critical patent/JP4443966B2/ja
Publication of JP2004310759A publication Critical patent/JP2004310759A/ja
Application granted granted Critical
Publication of JP4443966B2 publication Critical patent/JP4443966B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、例えば画像処理用のコンピュータに搭載されるクロスバースイッチ及びその関連製品に関する。
マルチプロセッサにおけるノード結合を、少ない制約のもとで実現するシステム部品の一つとしてクロスバースイッチがある。
クロスバースイッチは、通常、データ経路が交わる複数の交点(「クロスポイント」と称する)の各々にスイッチ機構が配置された2次元格子状のパラレルバス配線により構成される。
動作時には、スイッチ機構で、複数のクロスポイントの接続/非接続を制御することにより、入力ノードライン(複数のクロスポイントが存在する入力用ノードのバス配線、以下同じ)と出力ノードライン(複数のクロスポイントが存在する出力用ノードのバス配線、以下同じ)のクロスポイントの組合せにより形成される複数のデータ経路を選択的に切り換えることが可能になっている。
クロスバースイッチは、データ同士の衝突を防ぐノンブロッキング性に優れ、また、その構造や制御が比較的単純である等の利点を有することから、多くのデータ処理装置において利用されている。
従来のクロスバースイッチは、その構造上、スイッチ機構がノード数の2乗倍必要となることは良く知られている。
また、パラレルバスの配線に際しては、出線の競合等の問題を避けるために、各バスにアービタ(調停器)や入力バッファ等の付加的な回路要素を設けなければならないために、小型化することが難しい。
例えば、256〜1024のノードをスイッチさせる構成のクロスバースイッチにおいては、クロスポイント数は64キロポイント〜1メガポイント、パラレルバスのバス幅が32ビット幅であるとすると、スイッチ数は最大で32メガ個にも及び、このような大規模のものを小型に構成して実装することは、現状のプロセスルールでは非常に困難である。
また、従来のクロスバースイッチの構成では、スイッチ数の増大に伴ってデータ経路の交換処理を行う際のスイッチ制御が複雑となるばかりでなく、スイッチ制御のための配線数が飛躍的に増加してしまう。
本発明は、上記のような問題を解決するべくなされたもので、スイッチ数が増大した場合であっても、配線数を増加させることがなく、データ経路の交換処理を行う際のスイッチ制御を複雑にすることもないクロスバースイッチ及びその関連製品を提供することを、その課題とする。
本発明が提供するクロスバースイッチは、カスケード接続された複数段のノードの各々にノードコントローラが配備されており、各ノードコントローラが、前段ノードから目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を入力する入力インタフェースと、入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときに所定のデータ出力ラインへのデータ出力を可能にするとともに、前記入力されたアドレス情報を所定の規則に従って変化させた新たなアドレス情報を生成するスイッチと、この新たなアドレス情報を後段ノードへ出力する出力インタフェースとを有するものである。
「所定の規則」とは、例えば、ノード通過の度にアドレス情報が表す値を一定範囲ずつ特定値に近づけていき、特定値になった時点で当該ノードライン上では意味をなさない値に変化させること等が挙げられる。
このように構成されるクロスバースイッチによれば、アドレス情報を入力するだけで、該当するノードコントローラが、自律的にデータ出力ラインへのデータ出力を行う。
前記アドレス情報には、例えば、循環性の数値データを用いることができる。
この場合、前記出力インタフェースは、この数値データを所定値分だけ同一変化方向に増加又は減少させることにより前記新たなアドレス情報を生成する。
数値データとすることにより、アドレス情報が特定値を表しているかどうかの判別が容易になる。
また、前記アドレス情報を、開始ビットと終了ビットとを含むシリアルデータとすることもできる。
シリアルデータとすることによりデータラインの節約が図れ、開始ビットと終了ビットとを含むことにより、数値データの特定が容易になる利点がある。
それぞれ前記複数段のノードを含む複数のノードラインを有するクロスバースイッチとすることもできる。
この場合、各ノードライン上のノードコントローラは、他のノードライン上のノードコントローラと非同期に動作するようにしてもよく、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作するようにしてもよい。
前者の場合はスイッチ制御が簡略化される利点があり、後者はノード間のデータ伝搬の遅延差がなくなる利点がある。
前記複数段のノードの各々が所定のデータメモリの出力アドレスと1対1に対応付けられており、各ノードコントローラのスイッチは、作動時に、当該ノードに対応付けられている前記出力アドレスを通じて前記データメモリから出力されるデータを前記データ出力ラインへ出力するようにしてもよい。
このようにすれば、アドレス情報を入力するだけで、データメモリから所望のデータが出力されるようになる。
それぞれ前記複数段のノードを含む複数のノードラインを有し、各ノードライン上のノードコントローラが、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作するクロスバースイッチにおいて、各ノードライン上のノードコントローラに、それぞれ、前段ノードからデータを入力するとともに、このデータを他のノードラインの後段ノードへ出力する第1パスと、前段ノードから前記アドレス情報を入力するとともに前記新たなアドレス情報を同一ノードラインの後段ノードへ出力する第2パスとを設定するようにしてもよい。
このような構成のクロスバースイッチでは、切替可能なデータ経路をより多くすることができる。
第1パスと第2パスとが設定された上記のクロスバースイッチにおいて、各ノードコントローラを、複数のノードライン上で行列マトリクス状に配列し、前記第2パスは、各ノードラインの列方向に設定し、前記第1パスは、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって異なる列に存在するノードコントローラの入力端との間に設定するようにしてもよい。
このように各ノードコントローラを行列マトリクス状に配列することで、クロスバースイッチの構造を定型化することができ、多段接続が容易になる。
各ノードコントローラが行列マトリクス状に配列された上記のクロスバースイッチにおいて、各ノードコントローラにおける前記第1パスと前記第2パスとが同一又は略同一のノード長となるようにすることで、多段接続の際のデータ遅延量を小さくすることができる。
少なくとも同一の行方向に配列されるすべての前記ノードコントローラが、同一の動作タイミングを定めるクロック信号にしたがって動作するようにしてもよい。
このようにすれば、各列のノードラインを非同期に動作させた場合であっても、それぞれの出力端から同時にデータが出力させることが可能になる。
前記第1パスは、例えば、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって隣合う列に存在するノードコントローラの入力端との間に設定される。
あるいは、例えば、前記第1パスの一部又は全部が、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であってそのノードコントローラからは複数列離れた位置に存在するノードコントローラの入力端との間に設定される。
この場合、列方向の最端部に位置するノードコントローラについての前記第1パスは、当該ノードコントローラの出力端と、次段の行の隣合う位置に存在するノードコントローラの入力端との間に設定される。
他の形態においては、クロスバースイッチは、前記複数のノードラインの各々の入力端にアドレス情報生成手段が設けられ、このアドレス情報生成手段は、アドレス情報生成手段自体が設けられたラインを識別するための第1のライン識別データと、当該アドレス情報生成手段が設けられたラインの最後段のノードに設けられたスイッチから出力されるデータが入力されるノードラインを識別するための第2のライン識別データとに基づいて前記アドレス情報を生成する。
このアドレス情報生成手段により、任意のノードラインを指定してデータ出力を行わせることが可能になる。
本発明のクロスバースイッチは、コンピュータに搭載可能なパッケージに収容することができる。
その際、前記複数のノードラインの入力端に、当該入力端に入力されるデータを保有する第1デバイスを接続するためのインタフェース部品を設け、前記複数のノードラインの出力端に、各々のノードラインと1対1に対応する演算パイプラインを有する第2デバイスを接続するためのインタフェース部品を設けることで、これらのデバイスとの接続が容易になる。
また、前記複数のノードラインの入力端及び/又は出力端に、同一構成の他のクロスバースイッチの複数のノードラインを接続するためのインタフェース部品を設けることで、事後的な規模の拡張が容易になる。
本発明は、また、クロスバースイッチの動作制御方法を提供する。
この方法は、それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチの動作制御方法であって、前記クロスバースイッチを制御する装置が、データを出力させるノードラインの識別情報と、作動させるノードコントローラの相対位置を表す情報とによりアドレス情報を生成し、このアドレス情報を目的のノードラインの初段ノードに入力する段階と、前記アドレス情報が入力されたノードラインの各ノードに存在するノードコントローラが、それぞれ入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは当該ノードライン上のデータを出力するとともに、前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する段階とを有するクロスバースイッチの動作制御方法である。
この方法によれば、アドレス情報を入力するだけで、該当するノードコントローラが、自律的にデータ出力を行うので、クロスバースイッチの制御をノードライン毎に簡易に行うことができる。
本発明は、さらに、コンピュータのハードウエア資源との協働によって、クロスバースイッチの動作制御を行うコンピュータプログラムを提供する。
このプログラムは、それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチを搭載して成るコンピュータが、各ノードコントローラを、以下のように動作させるためのクロスバースイッチの動作制御用プログラムである。
(1)目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を入力し、
(2)入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは、当該ノードライン上のデータを出力するとともに、
(3)前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する。
以上の説明から明らかなように、本発明によれば、スイッチ数が増大した場合であっても、配線数を増加させることがなく、データ経路の交換処理を行う際のスイッチ制御を複雑にすることもない、小型化且つ低コストのクロスバースイッチを提供することができる。また、本発明によれば、多段パイプラインにも適応可能なクロスバースイッチを提供することができる。
<第1実施形態>
本発明のクロスバースイッチは、例えば大量の描画用データを処理する描画装置におけるメモリとプロセッサとの間のデータ転送制御に適用することができる。
以下、この場合の実施の形態を説明する。
まず、本発明が適用される描画装置について説明する。
図1は、この描画装置の要部構成図である。
描画装置は、描画処理に必要となるデータを確保するために、半導体デバイスの一例となるバッファ(メモリバッファ)1と、シリアル演算パイプラインを有するピクセルパイプラインプロセッサ2と、バッファ1とピクセルパイプラインプロセッサ2との間にインタフェース部品を介して接続されたクロスバースイッチ3とを有している。
バッファ1は、クロスバースイッチに入力される上記のデータが記憶されているデータメモリである。この実施形態では、一例として、マッピングにより、ポリゴン上の全体的な色及び模様を生成するためのテクステャおよびCLUT(Color Look Up Table、カラールックアップテーブル)等のデータを記憶する。
CLUTは、R(赤),G(緑),B(青)の3原色テーブルと、α値のテーブルとを含む。R,G,Bの3原色テーブルは、テクステャの各ピクセルの色を決定するために使用され、α値は、テクスチャをマッピングする際の画像のブレンド(αブレンディング)の割合をピクセル毎に決定するための係数値、つまり半透明度を表す係数値である。CLUTからR,G,B3原色の値を取り出すためのインデックス(CLUTのテーブル番号を指定するための値)は、テクステャのXY座標で表されるピクセル毎に設定される。
ピクセルパイプラインプロセッサ2は、バッファ1からのデータの読み出しを行うと共に、テクステャマッピング、Z座標の比較、画素値計算等をパイプライン方式により行う。
ピクセルパイプラインプロセッサ2は、また、画像の輝度のエッジを抽出する処理、テクステャのインデックスに応じてCLUTからR,G,B3原色データを取り出して各ピクセルの色を設定する処理、Gプレーンの各ピクセルのバイト値をインデックスとしてCLUTから取り出したα値(階調化されたα値)を用いたαブレンド処理等をも行う。さらに、シザリング、ディザリング、カラークランプ等の処理を行う。
シザリングは、画面からはみ出したデータを取り除く処理であり、ディザリングは、少ない色数で多くの色を表現するための色の配置を入り組ませる処理であり、カラークランプは、色の計算時にその値が255を越えたり0より小さくなったりしないように制限する処理である。
ピクセルパイプラインプロセッサ2で上述した各処理を行うことにより得られたデータは、図示しないフレームバッファに記憶され、2次元モニタ画面に描画されるフレームデータ(2次元画像データ)にされた後、そのフレームデータがフレームバッファから読み出され出力端子から出力されて、2次元モニタ装置へ送られる。
[クロスバースイッチ]
次に、図2〜図5を参照して、クロスバースイッチ3の構成及びその動作を説明する。
クロスバースイッチ3は、描画装置を実現するためのコンピュータに搭載可能なパッケージに収容されるもので、図2に示すように、格子状に配列されたシリアルバス配線4を含んで構成される。このクロスバースイッチ3は、描画装置における描画処理の際に、その描画装置が有するコントローラ(図示省略)によって、その動作が制御される。このコントローラは、プロセッサが所定のプログラムを実行することにより、描画処理及びクロスバースイッチ3の動作制御のための機能を有することになるものである。
シリアルバス配線4が交わるノードであるクロスポイントには、それぞれ、ノードの入力側のシリアルバス配線(以下、この実施形態において「入力ノードライン」と称する)とノードの出力側のシリアルバス配線(以下、この実施形態において「出力ノードライン」と称する)の接続/非接続を切り換えるためのノードコントローラ、例えばスイッチ回路5が設けられている。
入力ノードラインの各々は、インタフェース部品を介してバッファ1の出力アドレスと1対1に対応付けられて接続されており、出力ノードラインは、インタフェース部品を介してピクセルパイプラインプロセッサ2に接続されている。
スイッチ回路5は、予めアービトレーションで調整されることによって、その出力ノードライン上の相対位置が他のスイッチ回路と区別できるようになっている。
この個々のスイッチ回路5の相対位置を表す情報を、この明細書では、便宜上、そのスイッチ回路5の「アドレス」と呼ぶ。また、入力ノードラインと出力ノードラインとを接続させるための1つスイッチ回路5のアドレスを直接又は間接に特定するために指定するアドレス情報を「指定アドレス」と呼ぶ。
この実施形態で用いるアドレスは、出力ノードライン上のノード数、すなわちクロスポイント数分の数値を表すビット(数値データ)であって、出力ノードラインのアドレス入力端からデータ出力端の方向に、クロスポイントを経るたびに、例えば1ビットずつ減少し、特定値、例えばゼロ値になった時点で最大値、例えばクロスポイントの数が8つであった場合は、3,2,1,0,7,6,5,4となる循環性のものとする。
なお、数値を表すビットに代えて、A,B,C,・・・Z,A,・・・のような循環性の文字列データをアドレスとして用いることもできる。
この文字列データは、クロスポイントを経るたびに、1文字ずつ変化し、特定値(文字が表す値)になった時点で初期値に戻るものである。
アドレスの一例を図5を参照して説明する。
図5に示すように、256ビットのデータを出力ノードラインの出力端に到達させるために256本の入力ノードラインが設けられる場合、アドレスは、”255”〜”0”の256種類の循環性の数値データとなる。すなわち、1ビットずつ減少していき、”0”の次段のアドレスは、”255”、さらにその次段のアドレスは、”254”・・・となる。
出力ノードラインのアドレス入力端には、アドレス選択回路6が接続されている。
このアドレス選択回路6は、指定アドレスを入力するものである。
各ノードラインには、コントローラのクロック信号源(図示省略)から出力された共通のクロック信号を伝送するためのクロック線7aが並列に配備されている。
このクロック線7a上のクロック信号は、各ノードラインと同様、リピータ8を通過するように構成されている。従って、各スイッチ回路5が、このクロック線7aのクロック信号を参照して、他のスイッチ回路と同じタイミングで動作を開始することにより、ノード(スイッチ回路)間を伝搬するデータの遅延差を低減させることができる。
また、ノード間での伝搬遅延(スキュー)を考慮する必要が無くなり、リピータ8等の挿入制限を緩和することができる。
クロスバースイッチ3の入力端とインタフェース部品との間には、バッファ1から読み出されるパラレルデータをシリアル変換するパラレル/シリアル変換回路9が接続されており、出力端とインタフェース部品との間には、シリアルデータをパラレル変換するシリアル/パラレル変換回路10が配設されている。パラレル/シリアル変換回路9は、クロック線7bのクロック信号を参照して動作のタイミングを調整できるように構成されている。
このクロック線7bは、好ましくはクロック線7aと共通のクロック信号を伝送するようにするが、異なるクロック信号を伝送するようにしてもよい。
なお、バッファ1及びピクセルパイプラインプロセッサ2がそれぞれ、シリアルデータを入出力可能な構成である場合、パラレル/シリアル変換回路9及びシリアル/パラレル変換回路10は不要となる。特に、ピクセルパイプラインプロセッサ2がシリアル演算パイプラインを含む場合には、そのシリアル演算パイプラインの入力端とクロスバースイッチ3の個々のシリアルバスの出力端とを1対1に対応させるだけで、両者を配線させることができるので、配線作業がより容易になる。
スイッチ回路5は、出力ノードラインの前段ノード(スイッチ回路)から送られた指定アドレスを受け付ける入力インタフェースと、受け付けた指定アドレスが特定値(例えば”0”)を表すときに入力ノードラインと出力ノードラインとを接続してデータ経路を切り替えることにより、入力ノードラインのデータを出力ノードラインに出力可能にするとともに、受け付けた指定アドレスを所定規則、例えば循環性の順序性を維持しつつ、1つのクロスポイント通過分だけ減数して新たな指定アドレスを生成する機能と、この新たな指定アドレスを後段ノードへ送出する出力インタフェースとを有するものである。上記のデータ経路の切替と新たな指定アドレスの生成は、いずれも当該スイッチ回路5において自律的に行われる。
なお、上記の指定アドレスの受付、データ経路の切替及び新たな指定アドレスの生成、及び、新たな指定アドレスの出力は、論理回路とソフトウエアとの協働によって行うこともできるが、より単純には、図3のような論理回路のみで行うことができる。
図3に例示するスイッチ回路5は、出力ノードラインのように、カスケード接続された複数段のノードを通じて入力されたシリアルのキャリービットを1ビットずつデクリメントするデクリメント回路11、すべてのアドレスビットを保持する論理和回路12、アドレスビットが”0”のときにセレクト信号を出力する論理積回路13、セレクト信号の出力レベルに応じて入力ノードラインと出力ノードラインの接続/非接続を切り換える接続切換回路14を備えている。
入力されたアドレスビットが”0”であることを検知するだけで、スイッチ回路5は、自己が指定されたことを認識できるので、目的のスイッチ回路5の指定の形態が非常に簡略化される利点がある。
この実施形態のクロスバースイッチ3において、入力ノードライン及び出力ノードラインにクロック線7aを並行に配線し、各スイッチ回路5がクロック線7aを伝搬する共通のクロック信号を参照してノード(スイッチ回路)間を伝搬するデータの遅延差を低減させているのは、以上の問題を簡易に解決するための一手段である。
このような構成により、ノード単位でのデータの同期を確立することが容易になり、また、ノード間での伝搬遅延(スキュー)を考慮する必要が無くなり、リピータ8等の挿入制限を緩和することができる。
[クロスバースイッチの動作制御方法]
次に、バッファ1からピクセルパイプラインプロセッサ2へのデータ転送を行う場合のクロスバースイッチ3の動作制御方法について説明する。
この方法は、基本的には、上述した描画装置のコントローラが主導的になって行うが、例えばコントローラの制御によってピクセルパイプラインプロセッサ2が行うようにしてもよい。
この動作制御方法の概要は、以下のとおりである。
すなわち、コントローラが、いずれかの出力ノードラインの入力端から指定アドレスをシリアルデータとして入力する。
この指定アドレスは、目的のスイッチ回路5が出力ノードラインの入力端から何個目のスイッチ回路かを表す数値データである。指定アドレスの入力により、その出力ノードラインの各スイッチ回路5に、自律的に、入力された指定アドレスが”0”かどうかを判別させ、ゼロ値を表すときは入力ノードライン上のデータを受け取って、その出力ノードラインの後段ノードへ転送させる。また、入力した指定アドレスを”1”だけ減数させて新たな指定アドレスを生成し、この新たな指定アドレスを後段ノードへシリアルデータとして出力させる。
図4は、コントローラによって上記の動作制御が行われるときのスイッチ回路5の処理手順図である。
<ステップS1>
コントローラは、目的のスイッチ回路5を有する出力ノードラインのアドレス選択回路6に指定アドレスを入力し、そのアドレス選択回路6がその指定アドレスを初期化して1ビットずつ当該出力ノードラインに入力する。
<ステップS2>
デクリメント回路11は、前段ノードより受け付けたアドレスビットの最下位ビット(最初に受け付けたアドレスビット)をデクリメントして次段ノードに出力すべき新たな指定アドレス(アドレスビット)の値を決定する。
デクリメントの際に、そのアドレスビットが”0”の場合には位下げ(繰り下げ)が生じるので、次のアドレスビットもデクリメントする。
なお、この処理の際、論理和回路12は、前段ノードからのアドレスビットを所定のメモリ領域に保持する。
<ステップS3>
論理積回路13は、アドレスビットの出力が終了したか否かを判別する。
終了した場合には、ステップS4の処理へと移り、終了していない場合には、ステップS1の処理に戻る。
<ステップS4>
論理積回路13は、アドレスビットの和が”0”であるか否かを判別する。
アドレスビットの和が”0”であった場合は、ステップS5の処理へ移る。
<ステップS5>
スイッチ回路5の論理積回路13は、セレクト信号をアサートする。
そして、接続切換回路14がセレクト信号にしたがって入力ノードラインと出力ノードラインを接続する。
図5は、この様子を示すものである。
これにより、入力ノードラインから出力ノードラインへのデータ転送が行われる。
データ転送が終了した時点で一連の制御処理を終える。
上記のような制御処理をすべてのスイッチ回路5が自律的に実行することにより、バッファ1からピクセルパイプラインプロセッサ2へのデータ転送が適切に行われる。
このような動作制御方法を採用することにより、クロスポイント切替(データ転送)のための制御線とデータ投入線とを共有化することができ、バス配線数を大幅に減らすことが可能となる。
このように、本実施形態のクロスバースイッチ3は、入力ノードラインと出力ノードラインをシリアルバスで構成し、指定アドレスを出力ノードラインに入力するだけで、その指定アドレスが”0”になったスイッチ回路5が自律的にクロスポイント切替(データ転送)を行うようにしたので、パラレル型のクロスバースイッチに比べて、配線数を格段に少なくすることができ、小型化を実現することができる。
さらに、バスをシリアル化したことによるパフォーマンスの低下を抑制することができる。
また、各々の入力ノードラインが他の入力ノードラインと独立にシリアルデータを伝送し、出力ノードラインも他の出力ノードラインとは独立に指定アドレスを伝送するようにしたので、ノードライン間の非同期伝送が可能になり、ノードライン、ノード、クロスポイントの数が多い場合であっても、その制御が複雑になることがない。
各スイッチ回路5が、少なくとも並行動作する他のノードライン上のスイッチ回路5の動作タイミングを定めるクロック信号と同一のクロック信号にしたがって動作することができるので、データのノード間の伝搬遅延差を小さくすることができる。
また、本実施形態のクロスバースイッチ3では、所望の出力ノードラインに指定アドレスを入力するだけで、クロスポイント切替が行われるので、データ経路の切替に関する外部動作制御が不要になり、しかも、制御動作自体が単純化される利点がある。
なお、以上の説明は、描画装置のコントローラが主導的にクロスバースイッチ3の動作制御を行う場合の例であるが、クロスバースイッチの動作制御は、クロスバースイッチを搭載するが描画装置とは独立して存在するコンピュータと、コンピュータ読み取り可能な記録媒体に記録された制御処理プログラムとの協働によって実現することもできる。
すなわち、動作制御用プログラムを記録した記録媒体をコンピュータに装着して、そのコンピュータの記憶部に動作制御用プログラムをロードし、コンピュータのプロセッサが、この動作制御用プログラムを読み込んで実行することで、図4に示した手順で動作制御を行うようにする。記録媒体は、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テ一プ等のプログラムを記録することができるようなコンピュータ読み取り可能な記録媒体等が含まれる。
<第2実施形態>
次に、多段パイプラインにも適応可能なクロスバースイッチの実施形態を説明する。
この実施形態のクロスバースイッチは、それぞれ入力端から出力端の方向にシリアルデータを伝送させるための複数のノードラインを有し、これらのノードラインの各々に、複数のノードコントローラが所定のノード間隔で1つずつ挿入接続されているものである。
なお、この実施形態にいうノードラインは、第1実施形態との間の説明の整合を図るために便宜上設けた観念的なものである。
また、この実施形態においても、第1実施形態の場合と同様、ノードコントローラを「スイッチ回路」と称する。
図6は、この実施形態によるクロスバースイッチの特徴的な構成部分及びその動作概要を説明するための図である。
この実施形態のクロスバースイッチは、アドレス情報生成手段の一例となるアドレス初期化部20と、データ経路の切替を行う経路切替部21とを含んで構成される。
ここでは、経路切替部21におけるスイッチ回路(図6において矩形で示されているもの)が、8×8の行列マトリクス状に配されているクロスバースイッチの例を挙げる。
この実施形態のクロスバースイッチが第1実施形態のクロスバースイッチ3と異なるのは、カスケード接続されたノード間に第1パスと第2パスとを設定し、第1パスを第2パスに対して斜めに配線したこと、及び、出力されるデータが経るノード数である。
なお、ここでいう斜めとは、スイッチ回路が行列マトリクス状に配されたクロスバースイッチにおいて、第1スイッチ回路が次段の第2スイッチ回路に第2パスによって接続される場合、第1パスは、第1スイッチ回路を、第2スイッチ回路と同じ段に設けられてかつ第2スイッチ回路とは異なる第2スイッチ回路に接続することを意味する。
スイッチ回路が行列マトリクス状に配置されていることから、第1パスは第2パスに対して斜めとなる。また、図6等に示されるように、第1パスは、必ずしも第2パスと斜め、即ち平行でも垂直でもない角度になるわけではなく、第2パスと垂直な配線と第2パスに平行な配線とによって第1パスを構成してもよい。スイッチ回路自体は、第1実施形態のクロスバースイッチ3のものを使用することもできるが、後述するように異なる構成にすることもできる。
斜めに配線される第1パスは、第1実施形態の場合と同様、各入力端からのデータが全ての出力端に送出可能なように最後まで流されるパスである。
この第1パスは、前段のスイッチ回路の出力端と、そのスイッチ回路の次段の行で異なる列に存在するスイッチ回路の入力端との間に設定される。
図6の例では、次段の行で1つおきに離れた列に存在し、列の最端部のノードについては次段の行で隣合う位置に存在するスイッチ回路の入力端との間に設定されている。
このように設定することで、データの伝送遅延差を低減させることができる。
一方、第2パスは、前段ノードから指定アドレスが流されるパスであり、ノードラインに沿って配線される。
コンピュータ搭載可能なパッケージに収容可能な点、各スイッチ回路がそれぞれ指定アドレスによって直接又は間接に特定することができる点、例えば描画装置のコントローラによってその動作が制御される点については、第1実施形態のクロスバースイッチ3と同じである。
この実施形態では、各ノードラインは、2値の識別データであるライン番号によって他のノードラインと識別され、指定アドレスは、2値のアドレスビットで表現されるものとする。
説明を簡略化するため、以後の説明では、ライン番号及び指定アドレスがそれぞれ3ビットで表されるものとするが、この数値は例示であって、この例に限定させる趣旨ではない。
図6に示されるアドレス初期化部20は、目的のスイッチ回路を指定するための初段のスイッチ回路用の指定アドレスを設定する。
指定アドレスは、第1実施形態の場合と同様、例えば目的のスイッチ回路が上述の初段のスイッチ回路から何番目のスイッチ回路かを表す数値データであり、ノードを通過する度に“1”だけデクリメント(減数)されて新たな指定アドレスとなる。
従って、目的のスイッチ回路に対しては、前段のスイッチ回路から指定アドレスとして“0”が入力される。この指定アドレスにより、各スイッチ回路に、自律的に、入力された指定アドレスが“0”かどうかを判別させ、“0”を表すときはそのスイッチ回路(指定アドレスによって識別されるスイッチ回路)に接続されている第1パス上のデータが後段側のノードラインから出力されるようにする。
図6の例では、ライン6の出力端からライン7に入力されるデータを出力する場合の指定アドレスが“001”に設定されることを示しており、これが第2パスを通じて最初のスイッチ回路へ送られる。
この実施形態で用いるスイッチ回路は、具体的には図7のように構成される。
すなわち、スイッチ回路50は、入力インタフェースの一例となる第1パス入力端INaから入力されたシリアルデータaと、同じく入力インタフェースの一例となる第2パス入力端INbから入力されたシリアルデータbと、このシリアルデータbをデクリメント回路502でデクリメントしたデータcとをセレクタ501で選択的に、出力インタフェースの一例となる第1パス出力端OUTa及び第2パス出力端OUTbとから出力する。
デクリメント回路502には、キャリー回路503が設けられており、キャリービットの論理レベル(“0”/“1”)が、デクリメント回路502の入力側とセレクタ501に供給されるように構成されている。
キャリー回路503は、後述する制御スタートビットによりリセットされる。
セレクタ501及びキャリー回路503には、外部のコントローラから出力されるフェーズデータも入力される。
フェーズデータは、クロスポイント制御フェーズとデータ転送フェーズとを形成するためのもので“0”と“1”のいずれかが入力される。
フェーズデータが“0”のときが、アドレス投入となるクロスポイント制御フェーズ、フェーズデータが“1”のときが、データ投入となるデータ転送フェーズである。
フェーズデータは、各行のすべてのスイッチ回路のセレクタ501及びキャリー回路503に同じデータが入力される。フェーズデータ“0”からフェーズデータ“1”への移行は、すべてのアドレスビットが流れたことを契機として行われる。
一方、フェーズデータ“1”からフェーズデータ“0”への移行は、コントローラの指示に基づいて行われる。例えば、あるノードラインの入力端と他のノードラインの出力端とを第1パスを通じて接続した状態で他の出力端と入力端との接続関係を変える必要がある場合も、このフェーズデータをコントローラから該当するスイッチ回路のセレクタ501及びキャリー回路503に入力することで実現が可能となる。
キャリー回路503は、フェーズデータが“0”のときはキャリービット伝搬、フェーズデータが“1”のときはキャリービット保持を行う。
このキャリービットは、後述するように、フェーズ切替の際の重要なデータとなるものである。すなわち、フェーズデータが“1”でキャリービットも“1”の場合は、クロスポイント制御フェーズにおいて投入された指定アドレスが“0”であった、すなわち、このスイッチ回路が指定されていたことを表す。
セレクタ501は、所定規則にしたがって、シリアルデータの選別を行う。
例えば、フェーズデータが“0”のときはデクリメント回路502から出力されたデータcを第2パス出力端OUTbから出力する。
フェーズデータが“1”でキャリービットが“0”のときは第1パス入力端INaと第1パス出力端OUTa、第2パス入力端INbと第2パス出力端OUTbをそれぞれ繋ぎ、フェーズデータが“1”でキャリービットが“1”のときは第1パス入力端INaと第1パス出力端OUTa、第1パス入力端INaと第2パス出力端OUTbをそれぞれ繋ぐ。
つまり、フェーズデータが“1”の場合、スイッチ回路の第1パスの出力端OUTaからは、キャリービットの値に拘わらず、常に、当該スイッチ回路の前段のスイッチ回路(又はアドレス初期化部)から当該スイッチ回路の第1パスの入力端INaに入力されたビット値がそのまま出力される。
一方、第2パスの出力端OUTbからは、キャリービットが“0”のときには、当該スイッチ回路がその第2パスの入力端INbで受信したビット値が、キャリービットが“1”であるときは、当該スイッチ回路がその第1パスの入力端INaで受信したビット値がそのまま出力される。
上述したように、あるノードラインの入力端と他のノードラインの出力端とを第1パスを通じて接続した状態で他の出力端と入力端との接続関係を変える必要がある場合、つまり、あるノードラインだけ出力データを変える(アドレスを再度流す)必要がある場合は、フェーズデータが“0”のときに第1パス入力端INaと第1パス出力端OUTaとを繋ぎ、デクリメント回路502の出力(第2パス入力端1Nb)と第2パス出力端OUTbとを繋ぐようにする。
なお、上述したリセットのための制御スタートビット及びフェーズデータは、コントローラから命令列である「インストラクションアレイ」として供給される。
また、以後の説明では、第1実施形態に合わせて、図7のように構成されるノードコントローラをスイッチ回路50と表現する。
<クロスバースイッチの動作制御方法>
次に、この実施形態におけるクロスバースイッチの動作制御方法を図6、図8〜図25を参照して説明する。
この方法もまた、描画装置のコントローラが主導的になって行われるが、上述したように、描画装置とは独立に存在するコンピュータとプログラムとの協働によって行うこともできる。
ここでは、前提として、図6の最上段に示されるように、それぞれ8種類のデータ(データ0〜データ7)があり、これらのデータを、図6最下段に示されるライン番号(ライン0〜ライン7)によって識別されるいずれかのノードラインから出力させるものとする。また、この実施形態では、各ライン0〜7にはデータ0〜7がそれぞれ入力され、ライン0の経路切換部21の最終段のスイッチ回路からはデータ4を出力させる。
同様に、ライン1からはデータ6,ライン2からはデータ1、ライン3からはデータ3、ライン4からはデータ4,ライン5からはデータ5、ライン6からはデータ7、ライン7からはデータ4が、それぞれ最終段のスイッチ回路から出力される。
以下の説明では、ライン番号をn(0≦n≦7)として、各データ0〜データ7に対して、当該データがアドレス初期化部を通じて入力されたラインを「入力元ライン」と記載する。アドレス初期化部(AINI−1〜AINI−7)が属するライン番号と当該アドレス初期化部に入力されるデータの番号とは一致しているので、ライン番号nがそのままデータ番号となる。
例えば、データ5の入力元ラインは、データ番号の「5」をそのまま用いてライン5として表される。
また、データnが出力されるラインをデータnの「出力先ライン」と記載する。
上述のように、ライン4に入力されたデータ4は、ライン4,ライン7,ライン0のそれぞれから出力される。
従って、データ4の出力先ラインはライン4,ライン7,ライン0となる。
一方、データ2はどこからも出力されないので、出力先ラインは存在しないことになる。更に、ラインnにおける経路切換部21の最終段のスイッチ回路から出力されるデータをラインn出力データとする。
例えば、後に説明する図22に示されるように、ライン0におけるライン出力データ、即ちライン0出力データはデータ4であり、ライン1出力データはデータ6である。
各ノードラインのスイッチ回路50には、それぞれ7、6、5、4、3、2、1、0の循環性のアドレス(数値データ)が降順に割り当てられているものとする。
コントローラは、目的のスイッチ回路50を指定するために、ラインnのアドレス初期化部20に対して、ラインn出力データの入力元ラインのライン番号を表す3ビットのアドレスビットをシリアルに入力する。なお、この例では、データ番号を、当該データが入力されるアドレス初期化部が属するラインの番号と一致させているので、ラインn出力データのデータ番号は、ラインn出力データの入力元ラインのライン番号と一致する。
具体的には、ライン0において、ライン0出力データはデータ4であり、このデータ4の入力元ラインはライン4であるので、ライン0のアドレスビットは4となる。
また、ライン1においては、ライン1出力データはデータ6であり、を出力させるので、ライン1のアドレスビットは6となる。
同様に、ライン2、3,4,5,6,7におけるアドレスビットは、それぞれ1、3、4、5、7、4となる。
本実施形態では、ラインnのアドレス初期化部にデータnを入力する前に、上述のように定められたラインnアドレスビットがシリアルに入力される。
図6の例では、最右列のライン0には、ライン0出力データであるデータ4の入力元ラインであるライン4を識別するためのアドレスビット“100”が入力され、その後にデータ0が入力される。なお、図6では、このアドレスビットを「アドレス4」と記載している。“ライン1には、ライン1出力データであるデータ6の入力元ラインを識別するためのアドレスビット“110”がシリアルに入力される。
同様に、ライン7にはライン4を識別するためのアドレスビット“100”、ライン2にはライン1を識別するためのアドレスビット“001”、ライン6にはライン7をを識別するためのアドレスビット“111”、ライン3にはライン3を識別するためのアドレスビット“011”、ライン5にはライン5を識別するためのアドレスビット“101”、ライン4にはライン4を識別するためのアドレスビット“100”がそれぞれシリアルに入力されることが図6に示される。アドレス初期化部20(AINI-0〜AINI-7)では、当該アドレス初期化部が属するラインのライン番号と、入力されたアドレスビットから、指定アドレスを算出する。図6では、このアドレスビットが「アドレス1」〜「アドレス6」として表されている。また、アドレス初期化部AINI-0〜AINI-7の数値部分は、アドレス初期化部が設けられたノードラインのライン番号を表している。
各アドレスビットのうち最初のビットSは制御開始ビットであり、LSB(Least Significant Bit)に同期して入力される。
この制御開始ビットが各スイッチ回路50に入力されることにより、キャリー回路503を初期化し、セレクタ501がアドレスビットを一つ通過させる。
各アドレスビットのうち2番目のビットCは制御ビットであり、中データに同期して入力される。
各アドレスビットのうち3番目のビットは終了ビットであり、MSB(Most Significant Bit)に同期して入力される。この終了ビットが入力されたときにキャリービットが“1”になるスイッチ回路50が、データ転送を行う目的のスイッチ回路となる。
図6のクロスバースイッチの経路切換部21の各スイッチ回路は、第1パスと第2パスとで接続されている。第1パスはラインnのm段目のスイッチ回路を、ライン(n−1)の(m+1)段目のスイッチ回路と接続する(1≦m≦8)。
例えば、図6において、ライン4の1段目のスイッチ回路は、第1パスを通じてライン3の2段目のスイッチ回路に接続されている。また、ライン0においては、(n−1)の値は−1となるが、0≦n≦7であるので、この値を7とする。従って、ライン0は第1パスを通じてライン7に接続される。このように、nの値を0〜7の範囲で、…2,1,0,7,6…と循環させるようにする。mに関しては、1≦m≦8であるが、8+1=9段目は、最終段におけるスイッチ回路からデータが出力されることを意味するので、nとは異なり、mは循環性の値とはならない。
また、後述するように、第1パスと第2パスの接続形式が、ライン0の第2パスの入力側からみて、ライン0の第1パス、ライン1の第1パス、・・・ライン7の第1パスという順番で繋がるようになっているので、例えば、ラインn出力データが入力されるノードラインのライン番号と、ラインn出力データが出力されるノードラインのライン番号との演算によって指定アドレスを生成することができる。
但し、この例の場合、指定アドレスは0〜7の循環性をもつ数値データなので、アドレス初期化部20では、・・・1→0→7→6・・・のような循環性を考慮した演算を行う。
上述したように、フェーズデータ“0”からフェーズデータ“1”への移行は、すべてのアドレスビットが流れたことを契機として行われる。
従って、図6、図8〜22において、経路切換部21の各スイッチ回路においては、アドレスビット(本実施形態では3ビット)が流れている間はフェーズデータは“0”である。
また、データは、アドレスビットがすべて流れた後に流れるので、データが流れているときは、フェーズデータは“1“となっている。
ここで、上述のように、フェーズデータが“1”の場合、キャリービットの値に拘わらず、第1パスの出力端OUTaからは、常に第1パスの入力端INaからの入力が出力される。
従って、ラインnのZ段目のスイッチ回路に第1パスから(1段目のスイッチ回路に関してはアドレス初期化部から入力される)入力されたデータは、少なくとも第1パスの入力端INaから第1パスの出力端OUTaへと流れて次のラインであるライン(n−1)の次の段である(m+1)段目のスイッチ回路へと流れることが保証されている(ただし、0≦n≦7、1≦m≦8)。
例えば、図6において、データ4は、アドレス初期化部AINI−4を通じてライン4の初段のスイッチ回路に入力される。
このライン4の初段のスイッチ回路では、第1パスを通じてライン3の2段目のスイッチ回路へとデータ4を流す。ライン3の2段目のスイッチ回路では、第1パスを通じてライン2の3段目のスイッチ回路へとデータ4を流す。同様にして、データ4は、ライン1の4段目のスイッチ回路、ライン0の5段目のスイッチ回路、ライン7の6段目のスイッチ回路、ライン6の7段目のスイッチ回路、ライン7の8段目のスイッチ回路へと流される。このように、データ4は、第1パスを通じて各ラインごとに1つのスイッチ回路を流れることが保証されている。
同様に、データ0〜3,5〜7のいずれも各ライン毎に1つのスイッチ回路を流れる。
クロスバースイッチの第1パスを通じたデータの流れは以上のとおりである。
次に、クロスバースイッチの第2パスについて説明する。クロスバースイッチの第2パスは、常に同一ラインのスイッチ回路を接続する。図6のライン4を例にとると、図中に示した矢線方向に伸びてAINI−4から図中下部の「ライン4」との記載に向かう太線が第2パスとなる。従って、第2パスを通じてデータが流れる場合には、同一ラインの初段、2段目、3段目、…8段目の各スイッチ回路をデータが流れることになる。
本実施形態では、ラインn出力データとしてデータxをラインnの経路切換部21の8段目のスイッチ回路から出力させたい場合、このデータxが実際にラインnから出力されるようにするために、以下のような処理を行う。まず、ラインnの経路切換部21の1段目〜8段目のスイッチ回路のうち、第1パスからデータxを受けとるスイッチ回路を指定する。指定する手法は後述する。指定されたスイッチ回路では、第1パスから受けとったデータxを第2パスを通じて同一ラインの次の段のスイッチ回路に流す。指定されたスイッチ回路以降の段のスイッチ回路では、第2パスを通じて受けとったデータxを第2パスを通じて次の段のスイッチ回路に流す。
これを繰り返し、8段目のスイッチ回路では、データxを第2パスを通じて受けとり、受けとったデータxを出力する。
これにより、データxが実際にラインn出力データとして8段目のスイッチ回路から出力される。
なお、図7に示されるように、スイッチ回路には第1パス出力端OUTaと第2パス出力端OUTbとの二つの出力が設けられており、本実施形態では、8段目のスイッチ回路からは第2パス出力端OUTbのみからデータxを出力するものとした。
しかし、8段目のスイッチ回路にの出力端OUTa、OUTbのうちどちらからデータxを出力するかは任意に定めることができ、例えば第1パス出力端OUTaのみ、あるいは両方の出力端からデータxを出力してもよい。
次に、個々のラインに注目してクロスバースイッチの動作説明を行う。
各ラインにおいては、1つのラインあたり8つのスイッチ回路が配置されている。各ラインの経路切換部21の1段目のスイッチ回路は、それぞれの第1パスを通じてそれぞれ異なるデータを受ける。
以下、図6のライン4の各段について、データ0〜7のうちどのデータが第1パスを通じて入力されるかを説明する。
ライン4の初段のスイッチ回路にはAINI−4を通じてデータ4が入力される。
この実施形態では、初段の回路の第1パス入力端Inaは、データ4を受けとる。
2段目のスイッチ回路は、第1パスを通じてライン5の初段に接続されている。
従って、ライン5のアドレス初期化部からライン5の初段のスイッチ回路に入力されたデータ5が、この第1パスを通じてライン5の初段からライン4の2段目のスイッチ回路に入力される。
つまり、ライン4の2段目の第1パス入力端INaは、データ5を受けとる。
同様に、ライン4の3段目のスイッチ回路の入力端INaは、データ6を受けとる。
同様に、ライン4の4段目、5段目、6段目、7段目、8段目の各スイッチ回路の第1パス入力端Inaは、それぞれデータ7,データ0,データ1,データ2,データ3を受けとる。
このように各ラインに注目すると、ラインnの各段のスイッチ回路の第1パス入力端Inaが受けとるデータは、初段即ち1段目ではデータn、2段目ではデータ(n+1)、3段目はデータ(n+2)、4段目はデータ(n+3)…m段目にはデータ{n+(m−1)}、…8段目はデータ(n+7)となる。ただし、上述のように0≦n≦7,1≦m≦8であるので、{(n+m−1)}の値は、…7,8,1,2,3,4,5,6,7,8,1,2,…のように、1〜8の間で循環する。
このように、いずれのラインnにおいても、そのm段目のスイッチ回路にはデータ{n+(m−1)}が入力される。
逆に、データxをラインnのラインn出力データとする場合には、x={n+(m−1)}の関係が成立することから、データxが入力される段数mは、m=x−n+1として表される。
例えばライン6(即ちn=6)のスイッチ回路において、データ7をライン6出力データとする(即ちx=7)のであれば、データ7が入力される段の番号m=(7−6+1)=2であるので、データ7は2段目に入力されることがわかる。ライン6出力データがデータ5(即ちx=5)であれば、(5−6+1)=0であるが、上述のように段数は1〜8で循環しているので、0段目=8段目となり、その結果、データ7は8段目に入力されることになる。実際に、図6においても、すべてのライン及びすべての段でこの関係が成立している。
このような前提のもとに、本実施形態では、フェーズデータが“1”のときは、ラインn(例えば図6のライン6)の各段のスイッチ回路のうち、ラインn出力データとなるべきデータであるデータx(図6のライン6においては、図22に示されるようにデータ7がライン6出力データに該当し、x=7となる)が第1パスの入力端INaから入力されているスイッチ回路においては必ずキャリービットが1となり、かつ、第2パスの入力端からデータxが入力されているスイッチ回路においてはキャリービットが必ず“0”になるようにクロスバースイッチを構成している。
原理的には、これらに該当しないスイッチ回路におけるキャリービットは“0”でも“1”でも構わない。本実施形態では、これらに該当しないスイッチ回路におけるキャリービットの値は“0”となる。
後述するように、本実施形態では、図7に示されるスイッチ回路を用いて指定アドレス、フェーズデータ、リセット入力を適切に定めることで上述の構成が達成される。
このような構成とすることで、ラインnの各スイッチ回路においては、データxが第1パスの入力端INaから入力された場合、当該スイッチ回路の第2パスの入力端INbが受けとったデータとは無関係に、第2パスの出力端OUTbからデータxが出力されて同じラインにおける次の段のスイッチ回路の第2パスの入力端INbに入力される。
この第2パスを通じてデータxを受けとったスイッチ回路では、上述のようにキャリービットの値は“0”であるので、データxを第2パスの出力端OUTbに出力し、同じラインの更に次の段のスイッチ回路の第2パスの入力端INbに入力する。
このように、以降の段のスイッチ回路では、第2パスから入力されたデータをそのまま同じラインの次段のスイッチ回路に出力する。
従って、ラインnの8段目のスイッチ回路からは、ラインn出力データとしてデータxが出力される。
以上のことから、任意のラインのアドレス初期化部に入力されるデータを、ラインnにおけるラインn出力データとすることができる。
また、ラインとデータとを一対一に対応させるだけでなく、複数のラインから同じデータを出力することもできる。
例えば図22に示されるように、ライン4とライン7とライン0とにおいては、いずれもライン出力データとしてデータ4が出力されている。
以下、上述のようにキャリービットを設定するための構成を説明する。
本実施形態においては、上記構成を実現するために、図7に示されるスイッチ回路を用い、かつ、上述のような構成となるように、指定アドレスの設定、フェーズデータの指定、キャリービットの値の変更、リセット信号の入力タイミングを定めている。
本実施形態では、アドレス投入となるクロスポイント制御フェーズではフェーズデータを0として、各ラインのそれぞれのアドレス初期化部で指定アドレスをスイッチ回路に流している。
また、上述のように、ノード(スイッチ回路)を通過する度に、指定アドレスが“1”だけデクリメント(減数)されて新たな指定アドレスとして後段のスイッチ回路に出力される。
アドレス初期化部では、指定アドレスを初段のスイッチ回路の第2パスの入力端INbに、データを初段のスイッチ回路の第1パスの入力端INaにそれぞれ入力する。フェーズデータが“0”のときは、デクリメント回路502から出力されたデータcを第2パス出力端OUTbから出力する。上述のように、フェーズデータが“0”のときは、スイッチ回路においては、キャリービット伝搬を行う。
このように指定アドレスが1ビットずつ入力されるキャリービット伝搬におけるスイッチ回路の動作を説明する。
キャリービットが0の場合、第2パス入力端INbからの入力が0のときは、第2パス出力OUTbの出力は0、キャリーは0のまま維持される。
キャリービットが0で第2パス入力端INbからの入力が1のときは、第2パス出力OUTbの出力は1、キャリーは0のまま維持される。
キャリービットが1の場合、第2パス入力端INbからの入力が0のときは、第2パス出力OUTbの出力は1、キャリーは1のままとなる。
キャリービットが1で第2パス入力端INbからの入力が1のときは、第2パス出力OUTbの出力は0、キャリーは0となる。
即ち、各スイッチ回路では、1ビットずつシリアルに入力される指定アドレスの各ビットに対して、キャリーが1のときは減算を行った出力を行い、キャリーが0のときは減算を行わない。その結果、各スイッチ回路においては、1ビットずつシリアルに入力される指定アドレスを1だけ小さくするという動作が(1デクリメント)がシリアルに行われる。このような構成により、後段のスイッチ回路には、減算によりその値が1だけ小さくなった指定アドレスをシリアルに入力することが達成される。
ここで、上述のスイッチ回路の動作において、スイッチ回路のキャリービットが0のときは、第2パス入力端INbから0,1のいずれが入力されても、キャリービットの値は0に維持される。
一方、スイッチ回路のキャリービットが1のときには、第2パス入力端INbからの入力が0であったときのみキャリービットが1のまま維持され、第2パス入力端INbからの入力が1であると、キャリービットは0に変更される。
キャリービットの初期値は1であるので、スイッチ回路に1ビットずつ入力される指定アドレスの各ビット(本実施形態では3つのビット)のうち、1つでもそのビットの値が1であれば、キャリービットの値は0となり、その後キャリービットの値が1になることはない。
スイッチ回路に入力される指定アドレスの値が「0」であれば、指定アドレスを構成するすべてのビットが0であるので、そのスイッチ回路のキャリービットは1のままとなる。従って、指定アドレスが0、つまり“000”が入力されたスイッチ回路では、キャリービットは1のままに維持される。
一方、スイッチ回路に入力される指定アドレスが「0」以外であれば、指定アドレスを構成するビットのうち少なくとも1つはその値が「0」となる。従って、入力された指定アドレスが0ではないスイッチ回路では、3ビットのアドレスが入力された後のキャリービットの値は、必ず「0」となっている。
このようにして、順次入力される指定アドレスのすべてのビットが“0”であったスイッチ回路においてのみ、キャリービットの値が“1”となることが達成される。
その他のスイッチ回路においては、指定アドレスの3ビットすべてが通過してデータの入力が行われても(即ちフェーズデータが“1”になっても)キャリービットの値は0のままとなる。
この構成により、「データ転送フェーズ(フェーズデータ=“1”)において、第1パスからデータxが入力されるスイッチ回路を指定し、指定したスイッチ回路のキャリービットの値を1とし、その他のスイッチ回路のキャリービットの値を0とする」ことが実現される。
一方、「データ転送フェーズにおいて、ラインnの1段目〜8段目に配置されたスイッチ回路のうち、ラインn出力データとなるべきデータであるデータxが第1パス(またはアドレス初期化部)から入力されるスイッチ回路を指定」するための構成を以下に示す。
ラインnのアドレス初期化部では、このような指定を行うために、ラインn出力データであるデータxが第1パス(1段目においてはアドレス初期化部)からどの段のスイッチ回路に対して入力されるかを演算する。
上述のように、ラインnのスイッチ回路においては、データxは、(x−n+1)段目に入力される。
また、上述のように、指定アドレスは図7のデクリメント回路502でデクリメントされた後に次段のスイッチ回路に入力されるので、(x−n+1)段目においては、指定アドレスが(x−n)回デクリメントされたうえで入力されることになる。
以上のことから、ラインnのアドレス初期化部では、指定アドレスを(x−n)として算出する。
例えば、ライン6に注目すると、ライン6に入力されるデータ6がライン1出力データである場合、n=1、x=6であるので、アドレス初期化部1では、指定アドレスの値を(6−1)=5として算出する。
指定アドレスは、ライン1の1段目、2段目、3段目、4段目、5段目の各経路切換部21の行のスイッチ回路でそれぞれ「1」ずつデクリメントされる。
従って、6段目の行のスイッチ回路では、指定アドレスは、5回デクリメントされて「0」となっており、これにより、ライン1の6段目の行のスイッチ回路が、「ライン1出力データであるデータ6が第1パスから入力されるスイッチ回路」として認識される。
なお、ライン7(n=7)では、ライン4に入力されるデータ4(x=4)がライン7出力データとなるので、(x−n)の値は4−7=−3となる。
しかし、アドレス初期化部7では、上述の循環性から、減算結果である「−3」に循環サイクルである8を加算した「5(“101”)」を出力する。このように、8を法としたモジュロ演算を行うことで、循環サイクルを考慮した演算結果が得られる。
シリアル減算器等を用いて2進法の減算をシリアルに行うことで、上述のような循環性を反映させた指定アドレスを出力するようアドレス初期化部を構成することができる。
なお、アドレス初期化部は、当該アドレス初期化部自体が設けられたライン番号を参照できるようにしておく。例えば、アドレス初期化部に設けられたメモリに上記ライン番号を記録してく。また、アドレス初期化部にも上述のフェーズデータが供給される。アドレス初期化部nにおいて、フェーズデータが0のときには上述の減算が行われる。フェーズデータが1のときには、入力されるデータnをそのままスルーして初段のスイッチ回路へとデータを流す。
次に、上記減算の原理を説明する。フェーズデータが0のときの演算は、1ビットずつシリアルに行われる。例えば、上述アドレス初期化部で、ライン7出力データのデータ番号である4(“100”)からライン7のライン番号である7(“111”)を減算する場合、以下のように処理がなされる。
まず、ラインn出力データのデータ番号(上述のアドレス初期化部7の例では“100”)の最初のビットがアドレス初期化部nに入力される(この入力をPとする)。
一方、ラインnに設けられたアドレス初期化部nでは、ラインnのライン番号n(上述の例では“111”)の最初のビットを読み出す(この読み出したビットをQとする)。アドレス初期化部nでは、キャリービットをRとして、P−Q−Rを演算し、その演算結果を初段のスイッチ回路に出力する。
ただし、この演算において、キャリービットのデフォルト値は0である。また、演算結果が負の場合には、キャリービットは、演算前の状態に拘わらず1に設定される。また、出力結果は、演算結果に「2」を足した結果を出力する。これにより、1ビットずつのシリアル入力による減算が行われる。
図8は、クロスポイント制御フェーズを開始するために、最下位ビットのシリアルデータ(アドレス)である制御開始ビットSがアドレス初期化部20に入力された状態、図9は最下位ビットに続き、2番目のビットのシリアルデータ(アドレス)である制御ビットCがアドレス初期化部20に入力され、最下位ビットは初段の行のスイッチ回路50に入力された状態、図10は3ビット目のシリアルデータ(アドレス)である制御終了ビットEがアドレス初期化部20に入力され、1ビット目は2段目の行のスイッチ回路50、2ビット目が初段の行のスイッチ回路50に入力された状態を示している。
これらの3ビットのすべてがアドレス初期化部20を通過した時点の数値は、上述した減算結果を表すものとなる。
図8において、ライン7を例にとって説明すると、ライン7出力データはデータ4であるのでx=4、ライン番号が7なのでn=7となる。
アドレス初期化部7には、x=4(“100”)の最下位ビット「0」が入力される。
アドレス初期化部7では、n=7(“111”)の最下位ビット「1」を上述のメモリから読み出して0から1を減算し、更にキャリービットのデフォルト値“0”を減算する。
減算結果は0−1−0=−1となるが、上述のようにこの値に2を足した値である“1”が指定アドレスの最下位ビットとして初段のスイッチ回路に供給される(図8のAINI−7における「0→1」に対応)。この際、図示されていないが、演算結果が負であるので、上述の原理からキャリービットは“1”となる。
図9において、x=“100”の2番目のビット“0”がアドレス初期化部7に入力され、n=“111”の2番目のビット“1”がメモリから読み出されて減算される。
この際、キャリービットが“1”であるので、このビットの減算結果は0−1−1=−2となる。上述の原理から演算結果の値に2を足した“0”が初段のスイッチ回路に供給される(図9のAINI−7における「0→0」に対応)。また、演算結果が負であるので、キャリービットは“1”となる。
図10において、x=“100”の最上位ビット“1”がAINI−7に入力され、n=“111”の最上位ビット“1”が減算され、更にキャリービットの値“1”が減算される。
この減算結果は、1−1−1=−1となるが、上述の原理から2を加えて“1”を出力する。これにより指定アドレスの3番目のビットは“1"となる(図10のAINI−7における「1→1」に対応)。
これらの処理を行うことで、指定アドレスとして、「101」、つまり5が得られる。このようにキャリービットを用いることで、ラインn出力データのデータ番号であるxからライン番号nを減算した結果を得ることができる。
引き続き、4ビット目のシリアルデータ(伝送対象データ)がアドレス初期化部20に入力されると、指定アドレスは、制御終了ビットEが、経路切替部21の初段の行のスイッチ回路50に入力される。
このときの状態を示したのが図11である。
図11では、ライン4、ライン5、ライン3の先頭行のスイッチ回路50のキャリービットが”1”になっている。したがって、上述したように、これらのライン4,5,3では、初段の行のスイッチ回路50がデータ転送を行うスイッチ回路として指定されたことになるので、これらのスイッチ回路50では、第1パス上を流れるシリアルデータが第2パス上に転送され、それぞれデータが出力端に至るまで、同一ノードライン(第2パス)の後段のスイッチ回路50をそのままスルーしていく。
図12は、ライン6の2段目のスイッチ回路50がデータ転送を行うスイッチ回路として選定された状態を示している。
その後、図13及び図14のように1段ずつシリアルデータが伝送していき、図15の状態でライン0の5段目の行のスイッチ回路50がデータ転送を行うスイッチ回路として選定される。図16の状態では、さらに、ライン1、ライン7の6段目の行のスイッチ回路50がデータ転送を行うスイッチ回路として指定される。
さらに図17の状態を経て、図18の状態で、ライン2の最下段のスイッチ回路がデータ転送を行うスイッチ回路50として指定される。
このようにして、各ノードラインにおけるそれぞれのスイッチ回路50において指定アドレスのすべてのアドレスビットの入力が終わると、次の動作タイミングからデータ転送フェーズに入る。やがて、図19〜図21の順にデータが各スイッチ回路50を通過していき、各ノードラインの出力端から、それぞれ1ビットずつ出力される。
これらのシリアルデータがどの経路をセレクトされて通過していき、最終的にどのような状態で出力端から出力されたかを示したのが、図22である。
このように、第2実施形態のクロスバースイッチでは、データ転送フェーズとクロスポイント制御フェーズとが分離されているので、クロスポイント制御を行うための制御線とデータ出力線とを共有化することが可能となり、クロスバースイッチ内の配線数を大幅に減らすことができ、クロスバースイッチの小型化を実現することができる。
また、例えば、ノード間の距離が同一又は略同一になるように配線することにより、これをインタフェース部品を介して多段接続してクロスバースイッチの規模を事後的に拡大することが容易になる。さらに、インストラクションアレイによって、データ転送とほぼ同じ時間でクロスポイント制御を行うことができるので、クロスポイント制御フェーズの割合が少ない処理の場合には、より高速なデータ転送処理を実現することができる。
第2実施形態のクロスバースイッチの利用形態は、実に様々である。
例えば、図23のような、一般的なクロスバースイッチの利用形態のほか、図24のようなマルチキャスト方式、図25のようなブロードキャスト方式も、このクロスバースイッチによれば、容易に実現することができる。
これらの図において、符号22で示される領域の数値は、そのノードラインから出力させたいデータが入力されるノードラインのライン番号であり、経路切替部21における数値は、各ノードラインのスイッチ回路50のアドレスである。
各スイッチ回路50上に記述されている数値は、そこでデクリメントされたアドレスである。アドレス初期化部20における数値は、指定アドレスであり、前述のように、出力させたいノードラインのライン番号からデータが流れるノードラインのライン番号を減算することにより導かれる。
図24の例では、ライン2,ライン3、ライン5、ライン6からそれぞれライン番号0により識別されるノードラインの入力端から入力されるデータを同時に出力するとともに、ライン4とライン7からライン番号2により識別されるノードラインの入力端から入力されるデータを出力させる場合の例が示されている。図25は、ライン0〜ライン7のすべてから同時にライン番号3により識別されるノードラインの入力端から入力されるデータを出力させる場合の例が示されている。
このように、入力N(Nは自然数)種類対出力N種類のデータ経路の切替パターンだけでなく、入力N種類対出力M(N<M)種類のデータ経路の切替パターンを実現することができる。しかも、ライン番号を特定するだけで指定アドレスが生成され、その指定アドレスに対応する各ノードラインのスイッチ回路50が自律的にデータ転送を行うので、第1実施形態の場合と同様、クロスポイント制御の形態が極めて簡略化される。
変形例として、経路切替部21における第1パスと第2パスは、図26に示される経路切替部23のように設定することもできる。
図26は、第1パスが、前段のスイッチ回路50の出力端と、そのスイッチ回路50の次段の行であって隣合う列に存在するスイッチ回路50の入力端との間に設定されている場合の例を示すものである。また、上述した第2実施形態のクロスバースイッチは、1行毎にパイプライン化する場合の例であるが、図26に示したクロスバースイッチでは、複数行をまとめてパイプライン化している。つまり、各ノードラインの動作フェーズを、複数行単位で、フェーズ0〜フェーズ4のように切り替えるようにしたものである。
なお、図26では、セレクトパスが最左端列に到達したときは次段の行の最右端列のスイッチ回路50の入力端に戻るようになっているが、直下の行の右隣のスイッチ回路50の入力端に戻るようにしてもよい。
以上、本発明を2つの実施形態を例に挙げて説明したが、これらの実施形態は、本発明の範囲を限定するものではない。
例えば、第1及び第2実施形態では、アドレス及び指定アドレスが降順の数値データであり、指定アドレスがノードを経過する度にデクリメントされて”0”になったときにデータ転送を行う場合の例、すなわち、ノードのアドレスが表す特定値を間接的に特定する場合の例を説明したが、アドレス及び指定アドレスを昇順の数値データとし、ノードを通過した結果、アドレスが表す値が増加することにより予めそのノードに割り当てられた固有の値に達したことを特定したとき、つまりノードのアドレスが表す特定値を直接特定したときにそのノード上のスイッチ回路50が動作してデータ転送を行うようにすることもできる。
特定値が間接的に特定される場合のアドレスを相対アドレス、特定値が直接的に特定される場合のアドレスを絶対アドレスとすると、上述したクロスバースイッチの例、特に第2実施形態のクロスバースイッチの例では、アドレス初期化部20以降のアドレスは、どのラインからデータをとってくるかという値を自分のアドレスとの相対値入力しなければならないため、動作の整合性をとるため、アドレス初期化部20で相対アドレスから絶対アドレスに変換する必要がある。このとき、アドレスの変換に際して双方のアドレス関係を予め規定したアドレス変換テーブルを用意しておくことが、処理の迅速化の観点からは望ましい。
また、本発明に係るクロスバースイッチは、バッファ1とピクセルパイプラインプロセッサ2との間に介在してデータ経路の選択を行う場合のほか、並列計算機、ATM(非同期転送モード:Asynchronous Transfer Mode)、イーサーネット(登録商標)等におけるデータ転送、データ通信処理におけるデータ経路の選択の場合、その他同様の用途にも応用することもできる。
本発明が適用される描画装置の要部構成図。 本発明の第1実施形態によるクロスバースイッチの内部構成図。 第1実施形態によるスイッチ回路の構成図。 第1実施形態によるクロスバースイッチの動作制御の手順説明図。 クロスポイント切替の説明図。 本発明の第2実施形態によるクロスバースイッチの内部構成図。 第2実施形態によるスイッチ回路の構成図。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(クロスポイント制御フェーズ)。 クロスバースイッチの動作説明図(データ転送フェーズ)。 クロスバースイッチの動作説明図(データ転送フェーズ)。 クロスバースイッチの動作説明図(データ転送フェーズ)。 データ転送制御が終了した状態の経路を示した説明図。 クロスバースイッチの一般的な動作形態を示した模式図。 マルチキャスト方式の動作形態を示した模式図。 ブロードキャスト方式の動作形態を示した模式図。 クロスバースイッチの変形例を示した内部構成図。
符号の説明
1・・・バッファ、
2…ピクセルパイプラインプロセッサ、
3・・・クロスバースイッチ、
4・・・シリアルバス配線、
5,50・・・スイッチ回路、
6…アドレス選択回路、
7a ,7b・・・クロック線、
8・・・リピータ、
9・・・パラレル/シリアル変換回路、
10・・・シリアル/パラレル変換回路、
11・・・デクリメント回路、
12・・・論理和回路、
13・・・論理積回路、
14・・・接続切換回路、
20・・・アドレス初期化部、
21,23・・・経路切替部、
22・・・指定されたライン番号

Claims (15)

  1. カスケード接続された複数段のノードの各々にノードコントローラが配備されており、
    各ノードコントローラが、
    目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を前段ノードより入力する入力インタフェースと、
    入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときに所定のデータ出力ラインへのデータ出力を可能にするとともに、前記入力されたアドレス情報を所定の規則に従って変化させた新たなアドレス情報を生成するスイッチと、
    この新たなアドレス情報を後段ノードへ出力する出力インタフェースとを有し、
    それぞれ前記複数段のノードを含む複数のノードラインを有し、
    各ノードライン上のノードコントローラが、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作し、
    各ノードライン上のノードコントローラに、それぞれ、前段ノードからデータを入力するとともに、このデータを他のノードラインの後段ノードへ出力する第1パスと、前段ノードから前記アドレス情報を入力するとともに前記新たなアドレス情報を同一ノードラインの後段ノードへ出力する第2パスとが設定されており、更に、
    各ノードコントローラは、複数のノードライン上で行列マトリクス状に配列されており、
    前記第2パスは、各ノードラインの列方向に設定されており、
    前記第1パスは、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって異なる列に存在するノードコントローラの入力端との間に設定されている、
    クロスバースイッチ。
  2. 前記アドレス情報が循環性の数値データであり、
    前記出力インタフェースは、この数値データを所定値分だけ同一変化方向に増加又は減少させることにより前記新たなアドレス情報を生成する、
    請求項1記載のクロスバースイッチ。
  3. 前記アドレス情報が、開始ビットと終了ビットとを含むシリアルデータである、
    請求項2記載のクロスバースイッチ。
  4. それぞれ前記複数段のノードを含む複数のノードラインを有し、
    各ノードライン上のノードコントローラが、他のノードライン上のノードコントローラと非同期に動作する、
    請求項1記載のクロスバースイッチ。
  5. 前記複数段のノードの各々が所定のデータメモリの出力アドレスと1対1に対応付けられており、
    各ノードコントローラのスイッチが、作動時に、当該ノードに対応付けられている前記出力アドレスを通じて前記データメモリから出力されるデータを前記データ出力ラインへ出力する、
    請求項1記載のクロスバースイッチ。
  6. 各ノードコントローラにおける前記第1パスと前記第2パスとが同一又は略同一のノード長である、
    請求項記載のクロスバースイッチ。
  7. 少なくとも同一の行方向に配列されるすべての前記ノードコントローラが、同一の動作タイミングを定めるクロック信号にしたがって動作する、
    請求項記載のクロスバースイッチ。
  8. 前記第1パスが、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって隣合う列に存在するノードコントローラの入力端との間に設定されている、
    請求項記載のクロスバースイッチ。
  9. 前記第1パスの一部又は全部は、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であってそのノードコントローラからは複数列離れた位置に存在するノードコントローラの入力端との間に設定されている、
    請求項記載のクロスバースイッチ。
  10. 列方向の最端部に位置するノードコントローラについての前記第1パスが、当該ノードコントローラの出力端と、次段の行の隣合う位置に存在するノードコントローラの入力端との間に設定されている、
    請求項記載のクロスバースイッチ。
  11. 前記複数のノードラインの各々の入力端にアドレス情報生成手段が設けられ、このアドレス情報生成手段は、アドレス情報生成手段自体が設けられたラインを識別するための第1のライン識別データと、当該アドレス情報生成手段が設けられたラインの最後段のノードに設けられたスイッチから出力されるデータが入力されるノードラインを識別するための第2のライン識別データとに基づいて前記アドレス情報を生成する、
    請求項記載のクロスバースイッチ。
  12. コンピュータに搭載可能なパッケージに収容されており、
    前記複数のノードラインの入力端には、当該入力端に入力されるデータを保有する第1デバイスを接続するためのインタフェース部品が存在し、
    前記複数のノードラインの出力端には、各々のノードラインと1対1に対応する演算パイプラインを有する第2デバイスを接続するためのインタフェース部品が存在する、
    請求項記載のクロスバースイッチ。
  13. コンピュータに搭載可能なパッケージに収容されており、
    前記複数のノードラインの入力端及び/又は出力端に、同一構成の他のクロスバースイッチの複数のノードラインを接続するためのインタフェース部品が存在する、
    請求項記載のクロスバースイッチ。
  14. それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチの動作制御方法であって、前記ノードコントローラは、それぞれ前記複数段のノードを含む複数のノードラインを有し、各ノードライン上のノードコントローラが、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作するものであり、
    各ノードライン上のノードコントローラに、それぞれ、前段ノードからデータを入力するとともに、このデータを他のノードラインの後段ノードへ出力する第1パスと、前段ノードから前記アドレス情報を入力するとともに前記新たなアドレス情報を同一ノードラインの後段ノードへ出力する第2パスとが設定されており、
    更に、各ノードコントローラは、複数のノードライン上で行列マトリクス状に配列されており、
    前記第2パスは、各ノードラインの列方向に設定されており、
    前記第1パスは、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって異なる列に存在するノードコントローラの入力端との間に設定されているものであって、
    前記クロスバースイッチを制御する装置が、データを出力させるノードラインの識別情報と、作動させるノードコントローラの相対位置を表す情報とによりアドレス情報を生成し、このアドレス情報を目的のノードラインの初段ノードに入力する段階と、
    前記アドレス情報が入力されたノードラインの各ノードに存在するノードコントローラが、それぞれ入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは当該ノードライン上のデータを出力するとともに、前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する段階とを有し、
    更に、前記アドレス情報は、当該アドレス情報が入力された列の最終段から出力されるデータを指定するためのものである、
    クロスバースイッチの動作制御方法。
  15. それぞれカスケード接続された複数段のノードを含み、入力されたデータが流れる複数のノードラインを有し、ノードの各々にノードコントローラが配備されたクロスバースイッチを搭載して成るコンピュータで実行されるプログラムであって、
    前記ノードコントローラは、それぞれ前記複数段のノードを含む複数のノードラインを有し、各ノードライン上のノードコントローラが、少なくとも並行動作する他のノードライン上のノードコントローラと同一のクロックタイミングで動作するものであり、
    各ノードライン上のノードコントローラに、それぞれ、前段ノードからデータを入力するとともに、このデータを他のノードラインの後段ノードへ出力する第1パスと、前段ノードから前記アドレス情報を入力するとともに前記新たなアドレス情報を同一ノードラインの後段ノードへ出力する第2パスとが設定されており、
    更に、各ノードコントローラは、複数のノードライン上で行列マトリクス状に配列されており、
    前記第2パスは、各ノードラインの列方向に設定されており、
    前記第1パスは、前段のノードコントローラの出力端と、そのノードコントローラの次段の行であって異なる列に存在するノードコントローラの入力端との間に設定されており、
    各ノードコントローラを、以下の(1)〜(3)のように動作させるためのクロスバースイッチの動作制御用プログラム。
    (1)目的のノードコントローラが存在する相対位置を直接又は間接に特定するためのアドレス情報を入力するとともに、このアドレス情報は、当該アドレス情報が入力された列の最終段から出力されるデータを指定するものであり、
    (2)入力されたアドレス情報が特定値を表しているかどうかを判別し、特定値を表すと判別したときは、当該ノードライン上のデータを出力するとともに、
    (3)前記入力されたアドレス情報を所定値分だけ変化させた新たなアドレス情報を生成し、この新たなアドレス情報を後段ノードへ出力する。
JP2004086613A 2003-03-24 2004-03-24 クロスバースイッチ及びその動作制御方法、動作制御用プログラム Expired - Fee Related JP4443966B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004086613A JP4443966B2 (ja) 2003-03-24 2004-03-24 クロスバースイッチ及びその動作制御方法、動作制御用プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003081258 2003-03-24
JP2004086613A JP4443966B2 (ja) 2003-03-24 2004-03-24 クロスバースイッチ及びその動作制御方法、動作制御用プログラム

Publications (2)

Publication Number Publication Date
JP2004310759A JP2004310759A (ja) 2004-11-04
JP4443966B2 true JP4443966B2 (ja) 2010-03-31

Family

ID=33478138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004086613A Expired - Fee Related JP4443966B2 (ja) 2003-03-24 2004-03-24 クロスバースイッチ及びその動作制御方法、動作制御用プログラム

Country Status (1)

Country Link
JP (1) JP4443966B2 (ja)

Also Published As

Publication number Publication date
JP2004310759A (ja) 2004-11-04

Similar Documents

Publication Publication Date Title
EP0018755B1 (en) Digital communication networks employing speed independent switches
US11307827B2 (en) Tiled switch matrix data permutation circuit
JPH11243415A (ja) データエンコーディング方法、通信装置、メッセージ伝送方法、およびルーチングスイッチ
JPH03132130A (ja) メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ
JP3445416B2 (ja) 複数のデータバイトのシフト及び並び替えを行うためのシフト回路及び方法
JP2005516508A5 (ja)
KR100639869B1 (ko) 크로스바 스위치, 그 동작제어방법 및 동작제어용프로그램
US6888841B1 (en) Pipelined scheduling technique
JP2552784B2 (ja) 並列データ処理制御方式
US6801978B2 (en) Crossbar system with increased throughput
JP2007058571A (ja) 回路および回路接続方法
JP4443966B2 (ja) クロスバースイッチ及びその動作制御方法、動作制御用プログラム
US4714922A (en) Interconnection networks
US6701404B1 (en) Method and system for transferring variable sized loop words between elements connected within serial loop through serial interconnect
JP3119130B2 (ja) ネットワーク構成
JPH09160893A (ja) 並列処理コンピュータシステムにおけるクロスバースイッチを利用したクラスタ連結構造
JPH01158891A (ja) 空間分割スイッチ
JPH11212927A (ja) 競合調停方法
JP2788250B2 (ja) ディジタル信号交換器及びディジタル信号交換器の選択モジュール
JP3130343B2 (ja) データ位相変換方式
JP2000148660A (ja) Dmaデータ転送方法および装置
JPH05130130A (ja) Srm間ハイウエイ接続方法および装置
JPH08223612A (ja) 通信回線切換方式
JPH06178340A (ja) 空間スイッチ装置
JPH04274547A (ja) データ転送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100113

R150 Certificate of patent or registration of utility model

Ref document number: 4443966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees