(57)【要約】【課題】Ｎ×Ｎのクロスバースイッチは実装面積、ワイヤパス、消費電力の面で不利で、ローカルバス共有型はデータコンフリクトと伝送レートの課題がある。【解決手段】リングを基礎とするクロスバーデータスイッチが提供される。４個のリング１０２、１０４、１０６、１０８を設ける。これらのリングには複数のランプ０〜１１が接続される。各ランプは対応するバスユニット０〜１１にそれぞれ接続される。リングのうちふたつは時計回り、残りふたつは反時計回りにデータを伝送する。データ伝送元のバスユニットから目的のバスユニットへのデータ伝送のリクエストは中央アービタ１１２によって調停される。データ転送元から目的のユニットまで、途中に存在するランプはデータが単に通過する。【選択図】図１
2006254434.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスユニット間のデータの伝送を実行するデータスイッチであって、
１以上の通信チャネルとインタフェイスする１以上のバスユニットと、
１以上の通信チャネルを介して１以上のバスユニットとインタフェイスする１以上のデータランプと、
各データランプを隣接するふたつのデータランプと接続し、前記１以上のデータランプ間におけるデータの接続を実現する１以上のデータリングと、
前記１以上のデータランプとインタフェイスし、制御信号を送出することによって前記１以上のデータリング上のデータ伝送を管理する１以上の中央アービタと、
を備えることを特徴とするデータスイッチ。
【請求項２】
請求項１に記載のデータスイッチであって、前記１以上のバスユニットはそれぞれ、前記１以上のデータランプのうちのひとつとインタフェイスすることを特徴とするデータスイッチ。
【請求項３】
請求項１または２に記載のデータスイッチにおいて、前記１以上のデータランプのそれぞれは、制御装置と、１以上のマルチプレクサと、１以上のランプラッチとを備えることを特徴とするデータスイッチ。
【請求項４】
請求項３に記載のデータスイッチにおいて、前記制御装置は、前記１以上の中央アービタとインタフェイスし、当該中央アービタから制御信号を受けることを特徴とするデータスイッチ。
【請求項５】
請求項４に記載のデータスイッチにおいて、前記制御装置は、前記制御信号へ応じ、少なくとも、データリング上のデータ伝送と、自身に対応するバスユニットに関連する通信チャネル上のデータ伝送とを管理するよう構成されたことを特徴とするデータスイッチ。
【請求項６】
請求項１から５のいずれかに記載のデータスイッチにおいて、前記１以上のデータリングは前記１以上のデータランプ間において、一方向でデータを移動せしめることを特徴とするデータスイッチ。
【請求項７】
請求項６に記載のデータスイッチにおいて、前記データリングの数は偶数であることを特徴とするデータスイッチ。
【請求項８】
請求項７に記載のデータスイッチにおいて、複数のデータリングの半数はデータランプ間でデータを一方向に伝送し、残り半数のデータリングはデータランプ間でデータを前記一方向とは反対の方向へ伝送することを特徴とするデータスイッチ。
【請求項９】
データスイッチを用いて複数のバスユニット間でデータを伝送する方法であって、
それぞれが複数のバスユニットのうち自身に対応するバスユニットにインタフェイスする複数のデータランプをバスユニットへ接続するステップと、
各データランプが隣接するふたつのデータランプと接続される形で、前記複数のデータランプ間をデータリングで接続するステップと、
制御信号を発行することによってデータリング上のデータ伝送を管理する１以上の中央アービタを動作せしめるステップと、
を実行することを特徴とするデータ伝送方法。
【請求項１０】
請求項９に記載の方法において、前記接続するステップはさらに、複数の制御装置によって各データランプとそれに対応するバスユニット間のデータ伝送、および各データランプとそれに隣接するデータランプ間のデータ伝送を制御せしめることを特徴とするデータ伝送方法。
【請求項１１】
請求項９または１０に記載の方法において、前記複数のデータランプ間をデータリングで接続するステップはさらに、複数のデータリングによって前記複数のデータランプ間のデータ伝送を実行せしめるステップを含むことを特徴とするデータ伝送方法。
【請求項１２】
請求項１１に記載の方法において、前記複数のデータランプ間のデータ伝送を実行せしめるステップは、前記複数のデータリングの半数においてデータを一方向へ伝送せしめ、残り半数においてデータを前記一方向とは反対の方向へ伝送せしめることを特徴とするデータ伝送方法。
【請求項１３】
請求項１０に記載の方法において、前記１以上の中央アービタを動作せしめるステップはさらに、当該中央アービタから前記複数の制御装置に制御信号を発行せしめることを特徴とするデータ伝送方法。
【請求項１４】
データスイッチを用いて複数のバスユニット間でデータを伝送する方法をコンピュータに実行せしめるプログラムであって、
それぞれが複数のバスユニットのうち自身に対応するバスユニットにインタフェイスする複数のデータランプをバスユニットへ接続するステップと、
各データランプが隣接するふたつのデータランプと接続される形で、前記複数のデータランプ間をデータリングで接続するステップと、
制御信号を発行することによってデータリング上のデータ伝送を管理する１以上の中央アービタを動作せしめるステップと、
をコンピュータに実行せしめることを特徴とするコンピュータプログラム。
【請求項１５】
請求項１４に記載のプログラムにおいて、前記接続するステップはさらに、複数の制御装置によって各データランプとそれに対応するバスユニット間のデータ伝送、および各データランプとそれに隣接するデータランプ間のデータ伝送を制御せしめることを特徴とするコンピュータプログラム。
【請求項１６】
請求項１４または１５に記載のプログラムにおいて、前記複数のデータランプ間をデータリングで接続するステップはさらに、複数のデータリングによって前記複数のデータランプ間のデータ伝送を実行せしめるステップを含むことを特徴とするコンピュータプログラム。
【請求項１７】
請求項１６に記載のプログラムにおいて、前記複数のデータランプ間のデータ伝送を実行せしめるステップは、前記複数のデータリングの半数においてデータを一方向へ伝送せしめ、残り半数においてデータを前記一方向とは反対の方向へ伝送せしめることを特徴とするコンピュータプログラム。
【請求項１８】
請求項１５に記載のプログラムにおいて、前記１以上の中央アービタを動作せしめるステップはさらに、当該中央アービタから前記複数の制御装置に制御信号を発行せしめることを特徴とするコンピュータプログラム。
【請求項１９】
請求項１４から１８のいずれかに記載のコンピュータプログラムをコンピュータから読み取り可能に記録したことを特徴とする記録媒体。
【請求項２０】
複数のバスユニットのそれぞれにデータ入出力部としてデータランプを設け、
それら複数のデータランプのうち任意の２個の間に生じる全経路のうち一部の経路のみを直接データバスで接続し、
直接データバスで接続されたデータランプ間のデータ伝送は、当該データバスにて直接的に実行する一方、直接データバスで接続されていないデータランプ間のデータ伝送は、それらのデータランプが直接データバスで接続された別のデータランプを経由して実行することを特徴とするデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータスイッチに関し、実装されるユニットごとに単一ポートかつ複数リングを有し、データを部分的にブロックしない機能をもつデータスイッチに関する。
【背景技術】
【０００２】
単一チップ内の複数処理ユニット間のデータ伝送は一般に困難である。チップに複数の処理ユニットが搭載されることが急増しているため、この問題は重要度を増している。同一チップの複数ユニット間のデータ伝送には特有の問題が多数存在する。データコヒーレンシー、チップ上で利用できる面積、消費電力などはそうした問題の一部である。より高い伝送レートの実現を図る場合、問題はより顕著となる。
【０００３】
信号がひとつのユニットを通過するために必要な時間が、問題としているデータバスのサイクルタイムに近づく程度に処理ユニットが大きくなると、伝送レートは非常に大きな問題となる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これらの問題を解決するよう設計された従来の方法および／または装置には、実質的な欠点がある。プロセッサのローカルバスを共有する従来の解決策は、十分に高いバンド幅を実現できない。
【０００５】
この結果はチップ上の伝送レートには大きなマイナスとして作用する。別の従来の解決策は、フルクロスバースイッチである。
【０００６】
このタイプのスイッチクロスは、各ポートを他のすべてのポートへ接続する。このため、フルクロスバースイッチは、Ｎ×Ｎ通りの接続を必要とし、スイッチの複雑度が増す。
【０００７】
この解決策ではチップ上の面積を使いすぎ、ワイヤ（結線）リソースを消費しすぎる。そのため、高いデータ伝送レートを確保しつつ、同一チップ上の複数の処理ユニット間のデータ伝送を可能にする新たな方法または装置が否応なく必要となる。
【課題を解決するための手段】
【０００８】
本発明はメモリシステム内の複数のバスユニット間のデータ伝送のためのデータスイッチ、方法、およびコンピュータプログラムに関する。
【０００９】
このデータスイッチは、各バスユニットおよび複数のデータリングに対して単一のポートとなるよう構成されている。
【００１０】
このデータスイッチにおけるデータ伝送は中央アービタによって管理される。データスイッチにおける複数のデータ伝送は同時に操作され、高いバンド幅が確保される。さらに、データスイッチの未使用のセグメント（部分）に対するクロックの供給を止めることにより、低消費電力が実現する。各バスユニットは対応するデータランプ（データの出入口）と単一の制御インタフェイスで接続される。制御部は各データランプに存在し、データランプからバスユニットへのデータ伝送とデータランプ間のデータ伝送を制御する。
【００１１】
中央アービタはバスユニットからリクエストを受け、リクエストを調停し、制御信号は発行する。制御部は制御信号を解釈し、それにしたがってデータを伝送する。各データランプは隣接するふたつのデータランプとのみ直接接続され、これによってワイヤリソースが低減される。
【００１２】
データのリングはすべてのデータランプ間の接続を形成する。これにより、このデータスイッチでは、メモリシステム内のひとつのバスユニットから他の任意のバスユニットへのデータ伝送が可能になる。好ましい実施の形態では、４個のデータリングがあり、そのうちふたつがデータを時計回りに伝送し、残るふたつが反時計回りに伝送する。
【００１３】
なお、以上の構成要素の任意の組合せ、本発明の処理や表現、それらの組合せを方法、装置、システムなどの間で変換したもの、本発明の処理をコンピュータによって実行可能なプログラムとしたもの、そのプログラムを記録媒体に格納したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、以下のいずれか、またはそれらの複数の効果がある。第１に、単一チップ内の複数の処理ユニット間のデータ伝送が効率的に実行できる。第２に、その際、過度なワイヤリソースの消費が避けられる。第３に、チップ上の必要面積が抑えられる。第４に、広いデータ伝送バンド幅が確保できる。
【発明を実施するための最良の形態】
【００１５】
以下の実施の形態において、いくつかの特定の詳細が示されるが、これらは本発明の理解のためのものである。しかし、当業者には、そのような特定の詳細がなくても本発明が実施可能であることは理解される。他の実例においては、不必要に詳細に説明することによって本発明の本質が不鮮明にならないよう、周知の要素はブロック図にて示す。
【００１６】
さらに、大部分において、ネットワーク通信、電磁的信号技術、その他について、本発明を完全に理解するためには不必要と思われるものであって、関連技術分野の当業者が理解できる範囲にあると考えられる詳細については省略している。
【００１７】
図１において、符号１００はクロスバーデータスイッチの概要を示す。このクロスバーデータスイッチはハイブリッド型で、データを一部通過させる（すなわち一部のデータに対してブロックしない）機能をもつ。
【００１８】
ハイブリッド型クロスバースイッチは４個のリング、リング０−１０２、リング１−１０４、リング２−１０６、リング３−１０８を含む。４個のリングは１２個のデータランプ装置、ランプ０−１１４、ランプ１−１１６、ランプ２−１１８、ランプ３−１２０、ランプ４−１２２、ランプ５−１２４、ランプ６−１２６、ランプ７−１２８、ランプ８−１３０、ランプ９−１３２、ランプ１０−１３４、ランプ１１−１３６を接続する。
【００１９】
各データランプ装置は、ひとつのバスユニット、すなわち、ユニット０−１４０、ユニット１−１４２、ユニット２−１４４、ユニット３−１４６、ユニット４−１４８、ユニット５−１５０、ユニット６−１５２、ユニット７−１５４、ユニット８−１５６、ユニット９−１５８、ユニット１０−１６０、ユニット１１−１６２にそれぞれ接続される。
【００２０】
中央アービタ１１２は制御信号１１０をデータランプ装置へ送出する。各データランプ装置は制御信号１１０を解釈し、それにしたがってデータランプ装置を制御する制御部を含む。
【００２１】
本願では装置としてデータランプおよびバスユニットを説明するが、本発明と同じ結果を達成するために、多くの他の同様の装置を用いうる。例えば、「バスユニット」はデータを他の論理装置と交換するどのような論理装置も含む広い用語である。実施の形態では、メモリ制御部、イーサネット制御部（イーサネットは登録商標）、中央処理装置（ＣＰＵ）、周辺部品の相互接続（ＰＣＩ）高速制御部、汎用シリアルバス制御部、およびグラフィックアダプタユニットなどは「バスユニット」となりうる。さらに、「データランプ」はデータスイッチ構造内でデータ伝送をなす装置を含む広い用語である。「ランプ」は高速道路のランプの類推で、データの昇降部分ないし入出力部分というような意味をもつ。
【００２２】
ふたつのリング０−１０２、リング２−１０６は時計回り、別のふたつのリング１−１０４、リング３−１０８は反時計周りにデータを伝送する。各データランプ装置は、隣接するデータランプ装置とのみ接続される。例えば、ランプ２−１１８はランプ１−１１６とランプ３−１２０とのみ接続される。ランプ１−１１６はリング０−１０２またはリング２−１０６を用いてランプ２−１１８へデータを伝送でき、リング１−１０４またはリング３−１０８を用いてランプ２−１１８からデータを受けることができる。逆に、ランプ３−１２０はリング１−１０４またはリング３−１０８を用いてランプ２−１１８へデータを伝送でき、リング０−１０２またはリング２−１０６を用いてランプ２−１１８からデータを受けることができる。それゆえ、各データランプ装置は、隣接するデータランプ装置との間でのみデータ伝送ができる。
【００２３】
中央アービタ１１２は、リングを巡るデータの流れを管理し、この管理により、バスユニットはデータランプ装置との間で単一のインタフェイスをもつ状態が実現される。例えば、ランプ２−１１８はユニット２−１４４とインタフェイスし、ランプ８−１３０はユニット８−１５６とインタフェイスする。この接続は、リクエスト（要求）／グラント（許可）／受信のハンドシェイクによる制御インタフェイスである。そのため、バスユニットはデータを送ることをリクエストするか、グラントされたときにデータを送るか、またはデータを受ける、のいずれかのみをする。バスユニットは、データスイッチ自体の構造を意識する必要はない。データ構造は予め同意されたデータパケットを動かすよう設計される。
【００２４】
例えば、ユニット１０−１６０がデータをユニット１−１４２へ送りたい場合、まずリクエストを送出する。リクエストは中央アービタ１１２へ到達し、中央アービタ１１２は制御信号１１０を必要なデータランプ装置、すなわち、ランプ１０−１３４、ランプ１１−１３６、ランプ０−１１４、ランプ１−１１６へ送出しはじめる。中央アービタ１１２はまた、利用可能なデータリングを選択する。ここではリング０−１０２である。ユニット１０−１６０は中央アービタ１１２からグラントを受け、リクエストされたデータをランプ１０−１３４へ伝送する。ランプ１０−１３４はリング０−１０２を使ってこのデータをランプ１１−１３６へ伝送する。ランプ１１−１３６はこのデータをランプ０−１１４まで渡すことを許可する。ランプ０−１１４はこのデータをランプ１−１１６まで渡すことを許可する。ランプ１−１１６はこのデータを受け入れ、リクエストされたデータをユニット１−１４２へ伝送する。
【００２５】
図１は本発明のひとつの実施の形態に過ぎない。データランプ装置の数、データリングの数は実装ごとに調整することができる。このハイブリッド型クロスバースイッチと従来のクロスバースイッチでは、接続の量が違う。従来のクロスバースイッチは各データランプ装置から他のすべてのデータランプ装置へ至る接続が含まれる。本発明では、各データランプ装置から隣接するふたつのデータランプ装置のみへ接続がなされる。
【００２６】
図２において、符号２００はハイブリッド型クロスバースイッチのランプ構造の全体ブロック図である。各データランプ装置は、これらの構造ブロックを多数含む。データイン２０２とデータアウト２０４はデータランプ装置とバスユニット間の通信チャネルであるインタフェイスに対応する。データイン２０２はバスユニットから受けるデータ、データアウト２０４はバスユニットへ伝送されるデータを指す。マルチプレクサとランプラッチは各リングに専用である。ランプラッチ０−２２２とマルチプレクサ０−２３０はリング０−１０２上でデータを伝送する。同様に、ランプラッチ１−２２４とマルチプレクサ１−２３２はリング１−１０４上で、ランプラッチ２−２２６とマルチプレクサ２−２３４はリング２−１０６上で、ランプラッチ３−２２８とマルチプレクサ３−２３６はリング３−１０８上でデータを伝送する。
【００２７】
リング０イン２０６、リング１イン２１２、リング２イン２１４、リング３イン２２０はそれぞれマルチプレクサ０−２３０、マルチプレクサ１−２３２、マルチプレクサ２−２３４、マルチプレクサ３−２３６への入力である。リング０用のアウト信号２０８、リング１用のアウト信号２１０、リング２用のアウト信号２１６、リング３用のアウト信号２１８はそれぞれランプラッチ０−２２２、ランプラッチ１−２２４、ランプラッチ２−２２６、ランプラッチ３−２２８の出力である。データイン信号２０２はまた、４個のマルチプレクサ２３０、２３２、２３４、２３６への入力でもある。これらのマルチプレクサの入力は２系統である。マルチプレクサの上半分の入力系統はデータイン信号２０２を受け、下半分の入力系統はリングイン信号２０６、２１２、２１４、２２０を受ける。
【００２８】
制御部ラッチ０−２４０、制御部ラッチ１−２４２、制御部ラッチ２−２４４はランプ制御部側にある。制御部ラッチ０−２４０はバスユニットからのデータイン信号２０２を制御する。データがデータイン２０２によってバスユニットから来たものであるとき、制御部ラッチ０−２４０はマルチプレクサ０−２３０、マルチプレクサ１−２３２、マルチプレクサ２−２３４、マルチプレクサ３−２３６のうちの正しいものがデータを受け付けるよう命じる。
【００２９】
制御部ラッチ１−２４２はリングイン信号２０６、２１２、２１４、２２０を制御する。例えば、データがリング１イン２１２で来たとき、制御部ラッチ１−２４２はマルチプレクサ１−２３２がデータを受け付けるよう命じる。各マルチプレクサは同時には一方の入力からのデータのみを受け付ける。そのため、データがバスユニットからデータイン２０２を経てマルチプレクサ１−２３２へ来た場合、リング１−１０４上でデータの伝送を同時にすることはできない。このデータランプにおけるデータフローを制御するのは制御部ラッチ０−２４０と制御部ラッチ１−２４２である。
【００３０】
正しいデータチャネルが選ばれ次第、マルチプレクサはデータをランプラッチへ伝送する。例えば、リング１イン２１２が制御部ラッチ１−２４２によって選ばれると、このデータはマルチプレクサ１−２３２からランプラッチ１−２２４まで移動する。逆に、リング２−１０６へ伝送する対象として、バスユニットからデータイン２０２を経たデータが制御部ラッチ０−２４０によって選択された場合、このデータはマルチプレクサ２−２３４からランプラッチ２−２２６まで移動する。
【００３１】
ランプラッチの出力は、データアウト信号である。したがって、ランプラッチ０−２２２はリング０用のアウト信号２０８を出力する。ランプラッチの出力はまた、別のマルチプレクサ２３８へ接続される。マルチプレクサ２３８はデータアウト２０４を利用してデータをバスユニットへ伝送する。制御部ラッチ２−２４４はマルチプレクサ２３８を制御する。例えば、もしバスユニットがリング３−１０８からのデータを必要とするとき、制御部ラッチ２−２４４はランプラッチ３−２２８の出力を選択し、マルチプレクサ２３８はそのデータをバスユニットへ伝送する。バスユニットがデータを一切必要としないとき、制御部ラッチ２−２４４はランプラッチからのいずれの出力も選択しない。制御部ラッチ０−２４０、制御部ラッチ１−２４２、制御部ラッチ２−２４４はこうしたデータ授受を組織的に制御することにより、データランプ装置を制御する。
【００３２】
制御部ラッチ０−２４０は、いずれかひとつのラッチのみが任意の時刻においてオンになることができる。つまり、任意の時刻においてバスユニットからデータを受けることができるリングはひとつだけである。
【００３３】
制御部ラッチ１−２４２のラッチはすべて任意の時刻においてオンになることができる。その結果、データは同時にすべてのリングで伝送可能である。
【００３４】
制御部ラッチ２−２４４は、いずれかひとつのラッチのみが任意の時刻でオンになることができる。そのため、マルチプレクサ２３８は任意の時刻でひとつのデータリングからのデータのみを伝送することができる。制御部ラッチの組が複数のランプ構造ブロックを制御する。
【００３５】
図２に示すごとく、各バスユニットは送信ポートと受信ポートをもつ。これらのポートはそれぞれデータイン２０２、データアウト２０４として、データランプ装置へ接続される。以下の詳細は実装に固有で、本実施の形態のみを説明する。これらのポートはそれぞれ（データパケットを特定するための）タグバスとデータからなる。タグバスの幅は１４ビットで、データバスの幅は１６バイトである。データは１２８バイト（８×１６）を一単位として伝送される。各バスユニットはバスサイクルごとに１６バイトのデータをバスにドライブすることができ、同時にバスサイクルごとに１６バイトのデータを受けることができる。そのため、１６バイトを一単位とすると、各バスサイクルで同時に伝送可能な最大値は、バスに接続されたユニットごとに「１」となる。
【００３６】
データランプ装置はバス装置の複数リング構造に対して、単純な入出力ポートを提供する。データがバスユニットからそのランプへ移動するために１バスサイクルかかり、データがリング内のあるデータランプから次のデータランプへ移動するのに１バスサイクルかかり、一旦目的地のランプに到達すると、データがそのデータランプからデータを受信すべき装置へ移動するのにやはり１バスサイクルかかる。
【００３７】
図３において、符号３００はデータをリクエストしたデータランプ装置へデータを伝送するタイミング全般を示す。以下の詳細は実装に固有で、本実施の形態のみを説明する。リクエスト元のランプ装置は、それが対応するバスユニットからのデータをリクエストするとき、目的地ユニットのＩＤとデータリクエスト信号を発行する。これは「データリクエスト」線と「目的地符号」線として描かれている。
【００３８】
中央アービタ１１２は調停の結果、このリクエスト元に「グラント（許可）パルス」を返すとともに、対応するデータランプ装置へ「リング個別グラント」を返す。グラントパルスはデータ伝送の開始許可を通知する。データリクエスト信号のアサートからグラント信号の反応までの最小ディレイ（tgrant）は６バスサイクルである。
【００３９】
グラントされた次のサイクルにおいて、リクエスト元の装置はそのランプにおいて「データタグ」を１バスサイクル間ドライブする。「データタグ」は次に続くデータパケットを特定するものである。
【００４０】
グラントされた３サイクル後（図中のtdata）、リクエスト元はランプにおいてデータバスを８バスサイクル間ドライブする。８バスサイクルにより、伝送単位である１２８バイト全体の伝送が終わる。
【００４１】
グラントから次のリクエストのでの最小ディレイ（treq）は２バスサイクルである。あるリクエストから次のリクエストまでの最小ディレイ（tr-r）は８バスサイクルである。バスユニットはデータランプ装置を介してデータを伝送する。全体動作として、バスユニットが中央アービタへリクエストを通知し、中央アービタがグラントを送り返し、バスユニットが「データタグ」信号を構成し、データを送信する。
【００４２】
この過程において、中央アービタ１１２はまた、下流のデータランプ装置へフロー制御信号を送る。データを受ける側のデータランプ装置のために、中央アービタは「早期のデータ有効」（アーリーデータバリッド：ＥＤＶ）パルスを送る。ＥＤＶパルスはグラントパルスと同じ機能を有するが、受信側がデータを受け入れるために待機させる機能をもつ。データを受ける側は、リクエスト元のランプ出力から出た「データタグ」を１サイクルの間で取得する。すなわち、ＥＤＶパルスの１サイクル後、データを受ける側はタグバスから「データタグ」のデータを取得し、ＥＤＶパルスの３サイクル後、データを受ける側は８サイクル（一単位）にわたり、データを収集する。データランプ装置に内蔵された制御部はバス個別のＥＤＶパルスを受け、同じタイミングの制約の中でランプ出力マルチプレクサを制御する。
【００４３】
データ伝送の間、データランプはデータを通過させる通過装置としても利用される。この機能により、あるデータランプ装置は単に次のデータランプへデータを通過させることができる。中央アービタ１１２は１以上のデータランプを横切るデータ伝送に対して「通過パルス」を送出する。通過パルスを受けたデータランプは、特定されたリングの入力から出力へ８サイクルにわたり、データを通過させる。この動作は、タグバスにおいてパルスが受け取られてから１サイクル後、データバスにおいては３サイクル後から開始する。
【００４４】
中央アービタ１１２は全体の処理を制御する。中央アービタ１１２はリクエストを収集し、それらを調停し、適切なリングを選択し、リクエストをグラントする。新たなデータ伝送が進行中の別の伝送と衝突するとき、中央アービタ１１２はリクエストをグラントしない。もしリングが伝送によって部分的に使われている場合、そのリングの別の部分を使う、重複のない伝送が同時に発生することは許可される。または、直前の伝送の終了エッジのあとに続いて新たな伝送が発生することが許可される。
【００４５】
この実施の形態では、データパケットとともに伝送されるエラービットと部分伝送ビットを設ける。エラービットはデータにエラーがあるか否かを示し、データとともにデータバスで伝送される。部分伝送ビットは、データ伝送が１２８バイト未満であるか否かを示し、タグバスにおいてデータとともに伝送される。
【００４６】
図４Ａ〜Ｃはデータランプ装置内部のデータランプ制御部のサイクルに関するタイミングを示す。図４Ａは、リクエスト元のデータランプ装置のためのデータ伝送を示す。グラント信号は１番目のサイクルで受け取られる。１サイクル後、タグバス上に「データタグ」パルスが１サイクルにわたってドライブされる。グラントパルスの３パルス期間後、データバス上にデータが８サイクルにわたってドライブされる。
【００４７】
９番目のサイクルは、いずれかのリングから別のグラントパルスを受け取ることのできる最も早いサイクルである。
【００４８】
図４Ｂは、通過されるデータランプ装置に対するデータ伝送を示す。通過パルスは１番目のサイクルで受け取られる。１サイクル後、「データタグ」パルスがタグバス上に１サイクルにわたってドライブされる。通過パルスの３パルス期間後、データバス上にデータが８サイクルにわたってドライブされる。
【００４９】
９番目のサイクルは、同一リングから別の通過パルスを受け取ることのできる最も早いサイクルである。
【００５０】
図４Ｃは、データを受ける側のデータランプ装置に対するデータ伝送を示す。ＥＤＶパルスは２番目のサイクルで受け取られる。１サイクル後、「データタグ」パルスがタグバス上に１サイクルにわたってドライブされる。ＥＤＶパルスの３パルス期間後、データバス上にデータが８サイクルにわたってドライブされる。１０番目のサイクルは、いずれかのリングから別のＥＤＶパルスを受け取ることのできる最も早いサイクルである。
【００５１】
図５において、符号５００は実施の形態のハイブリッド型クロスバースイッチが９のデータ伝送を同時に実行する能力を示す全体ブロック図である。図５は図１同様であるが、全部の符号は付していない。データ経路５０２はリング０でユニット５からユニット７へのデータ伝送を示す。データ経路５０４はリング２でユニット４からユニット８へのデータ伝送を示す。データ経路５０６はリング３でユニット３からユニット１０へのデータ伝送を示す。データ経路５０８はリング０でユニット２からユニット３へのデータ伝送を示す。データ経路５１０はリング１でユニット１からユニット１１へのデータ伝送を示す。データ経路５１２はリング０でユニット１１からユニット１へのデータ伝送を示す。データ経路５１４はリング２でユニット１０からユニット０へのデータ伝送を示す。データ経路５１６はリング３でユニット９からユニット６へのデータ伝送を示す。データ経路５１８はリング１でユニット６からユニット２へのデータ伝送を示す。これら９のデータ伝送は一切衝突することなく同時に実行することができる。
【００５２】
以下の詳細は実装に固有であり、本実施の形態のみに適用される。データ伝送５１６はユニット９が目的地ユニットのＩＤとデータリクエストを発行することで始まる。
【００５３】
この場合、目的地ユニットのＩＤからそれがユニット６とわかる。中央アービタはこのリクエストを収集し、グラントをユニット９とユニット６へ送出する。つぎにユニット９はタグバスにデータタグのデータを送出し、つづいてデータバス上でデータをランプ９へ送出する。ランプ９はこのデータをリング３へ出力する。ランプ８、７、６は通過信号を受け、データをリング３上で通過せしめる。タグバス上のデータタグのデータとデータバス上のデータはリング３上でランプ８、ランプ７、ランプ６を通過する。
【００５４】
この処理の間、中央アービタはランプ６にＥＤＶを送出する。データがランプ６まで通過した後、ランプ６の制御部は出力をユニット６へ移動させる。以上がリング３上でユニット９からユニット６へのデータパケットの伝送の様子である。バスユニットおよびランプ間のデータ入出力の手順は図２に示される。図２はまた、通過の仕組みも表している。
【００５５】
本発明は従来の技術に対して種々の優位性を提供する。このハイブリッド型クロスバースイッチはチップ上のシリコンの面積をあまり使わない。各ランプは他のふたつのランプとのみインタフェイスするため、データチップ上のロジックとバスの総量は低減される。バス（リング）は４組しか必要なく、対応するロジックが制限されるため、これによっても面積は少なくて済む。
【００５６】
本発明によれば、ワイヤトラックの総量も劇的に減る。従来のクロスバーデータスイッチでは、各ポートは他のすべてのポートとワイヤ接続される必要があったが、本発明による改良されたクロスバースイッチでは、各ランプは隣接するデータランプとのみ接続されれば済む。
【００５７】
さらに、この改良されたクロスバースイッチは高いピークバンド幅を達成する。図５に示すごとく、多量のデータを同時に伝送できる。この改良されたクロスバーは従来装置に比べて消費電力も小さい。中央アービタはデータリングの未使用のセグメント（たとえばデータ伝送に関与しないランプ装置）を遮断するよう構成することが望ましい。すなわち、未使用のセグメントにはクロックを供給しないことにより、消費電力が減る。この単一ポート／複数リング実装、かつ一部データをブロックしないハイブリッド型クロスバーデータスイッチは、従来の装置に対して大きな改良となる。
【００５８】
図６において、符号６００はリクエスト元の装置から対応する装置へひとつのデータ伝送の単位を移動させる過程を示すフローチャートである。リクエスト元の装置は、データリクエストと目的地ＩＤの信号を発行し、データ伝送を指示する（６０２）。中央アービタはデータリクエストを受け、リクエストを調停し、データリングを選択する（６０４）。中央アービタはリクエスト元へグラントを返し、対応する装置へもグラントを返し、通過信号を発行する（６０６）。グラントを受けた後、リクエスト元は１サイクル間、データタグをドライブする（６０８）。つづいて、リクエスト元は８サイクルにわたりデータバスをドライブする（６１０）。データタグのデータと伝送対象のデータは、対応するデータランプへ到達するまでデータランプを通過する（６１２）。データが対応するデータランプまで通過し終えると、そのデータは対応するバスユニットへ伝送される（６１４）。  なお、ここではデータ伝送のリクエスト元はデータを伝送する側とした。しかし、データを必要とする側がリクエスト元となってデータ伝送が開始されてもなんら差し支えはない。
【００５９】
以上、実施の形態を説明したが、この実施の形態は以下のように要約することができる。すなわち、実施の形態に係るデータ伝送方法は、複数のバスユニットのそれぞれにデータ入出力部としてデータランプを設け、それら複数のデータランプのうち任意の２個の間に生じる全経路のうち一部の経路のみを直接データバスで接続し、直接データバスで接続されたデータランプ間のデータ伝送は当該データバスにて直接的に実行する一方、直接データバスで接続されていないデータランプ間のデータ伝送は、それらのデータランプが直接データバスで接続された別のデータランプを経由して実行するものである。実施の形態では、このデータバスがリング状態であったが、必ずしもリングである必要はない。必要な条件は、任意のデータランプ間の伝送が必ず実現するよう、データバスに途切れがないことに過ぎない。
【００６０】
本発明は、いろいろな形式や実施の形態をとりうる。したがって、本発明の概念や範囲から離れることなく、前述の技術において種々の変形技術が存在する。ここで説明した技術的可能性の延長として、さまざまなプログラミングモデルの可能性がある。しかしながら、本開示はいずれか特定のプログラミングモデルを好んで採用するように読まれるべきではなく、そうしたプログラミングモデルが構築される背景となる概念を目的としているものと理解されるべきである。
【００６１】
以上、本発明をいくつかの好ましい実施の形態をもとに説明した。これらの実施の形態は、本来発明の内容を例示するものであって、限定するものではない。また、以上の開示内容から、変形例、修正例、変更または置換が考えられ、またいくつかの実施例においては、本発明のいくつかの構成要素が対応する他の構成要素を使用することなく実現可能であることも理解されるところである。そうした多くの変形例や修正例は、好ましい実施の形態の説明に鑑み、当業者によってなされることは望まれるところである。したがって、添付の特許請求の範囲は、広くかつ本発明の範囲と一貫する方法で解釈されるべきである。
【図面の簡単な説明】
【００６２】
【図１】実施の形態に係る、単一ポート／複数リングで実装されるハイブリッド型のクロスバーデータスイッチ（一部、データをブロックしないタイプ）のブロック図である。
【図２】ハイブリッド型クロスバーデータスイッチのランプ構造ブロックのブロック図である。
【図３】データをリクエストしたランプ装置のためのデータ伝送を示すタイミング図である。
【図４】図４Ａ−Ｃは、データランプ装置内のデータランプ制御部のサイクルを示すタイミング図である。
【図５】ハイブリッド型クロスバーデータスイッチが同時に９のデータ伝送を達成する能力を示すブロック図である。
【図６】リクエスト元の装置から対応する装置へひとつのデータ伝送の単位を渡す過程を示すフローチャートである。
【符号の説明】
【００６３】
１００  クロスバーデータスイッチ、  １０２，１０４，１０６，１０８  リング、  １１０  制御信号、  １１２  中央アービタ、  １１４，１１６，１１８，１２０，１２２，１２４，１２６，１２８，１３０，１３２，１３４，１３６  ランプ、  １４０，１４２，１４４，１４６，１４８，１５０，１５２，１５４，１５６，１５８，１６０，１６２ バスユニット。  ２２２，２２４，２２６，２２８  ランプラッチ、  ２３０，２３２，２３４，２３６，２３８  マルチプレクサ。
【図１】
2006254434.tif 000003
【図２】
2006254434.tif 000004
【図３】
2006254434.tif 000005
【図４】
2006254434.tif 000006
【図５】
2006254434.tif 000007
【図６】
2006254434.tif 000008