(57)【要約】【課題】コスト増を招くことなく、光バスにより多くのノードを接続可能にする。【解決手段】マルチプロセッサ部１００Ａは、プロセッサユニットＵ1a〜Ｕ3aと、メモリユニットＵ7aが、光バス１２０Ａに接続されて構成されている。マルチプロセッサ部１００Ｂは、プロセッサユニットＵ1b〜Ｕ3bと、メモリユニットＵ7bが、光バス１２０Ｂに接続されて構成されている。光バス１２０Ａ，１２０Ｂは、光スイッチ４、光結合装置５、光分岐装置６、光導波路９，９ａ，１０，１０ａからなる。光バス１２０Ａに接続されているユニットＵ1a〜Ｕ3a，Ｕ7aを、光スイッチ４を介して、光バス１２０Ｂに接続できる。逆に、光バス１２０Ｂに接続されているユニットＵ1b〜Ｕ3b，Ｕ7bを、光スイッチ４を介して、光バス１２０Ａに接続できる。光分岐装置６による分岐数を増やすことなく、光バス１２０Ａ，１２０Ｂの接続ノード数を増加できる。【選択図】        図１
2005064950.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ光受信装置および光送信装置を有する複数のノードと、
上記複数のノードの光送信装置から出力される複数の光信号を結合して一つの光信号を得る光結合装置と、
一つの光信号を分岐して上記複数のノードの光受信装置にそれぞれ入力するための複数の光信号を得る光分岐装置と、
少なくとも、上記光結合装置からの光信号を上記光分岐装置に入力する光信号として出力する第１の切り替え状態、および上記光結合装置からの光信号を他の光スイッチに入力する光信号として出力すると共に上記他の光スイッチからの光信号を上記光分岐装置に入力する光信号として出力する第２の切り替え状態に切り替え可能な光スイッチと、
上記複数のノードの光送信装置から出力される複数の光信号をそれぞれ上記光結合装置に入力するための複数チャネル分の第１の光導波路と、
上記光結合装置で得られた一つの光信号を上記光スイッチに入力するための１チャネル分の第２の光導波路と、
上記光スイッチより出力された一つの光信号を上記光分岐装置に入力するための１チャネル分の第３の光導波路と、
上記光分岐装置で得られた複数の光信号をそれぞれ上記複数のノードの光受信装置に入力するための複数チャネル分の第４の光導波路と
を備えることを特徴とする光バスシステム。
【請求項２】
上記光スイッチは、上記他の光スイッチとの間で通信を行う光通信手段を有する
ことを特徴とする請求項１に記載の光バスシステム。
【請求項３】
上記複数のノードの光受信装置および光送信装置では第１の波長の光信号を取り扱うと共に、上記光通信手段では上記第１の波長とは異なる第２の波長の光信号を取り扱う
ことを特徴とする請求項２に記載の光バスシステム。
【請求項４】
上記光スイッチは、上記複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号を上記光分岐装置に入力する光信号として出力する光信号出力手段を有する
ことを特徴とする請求項１に記載の光バスシステム。
【請求項５】
上記複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号は、上記複数のノードを順次ポーリングするための光信号である
ことを特徴とする請求項４に記載の光バスシステム。
【請求項６】
上記光スイッチは、上記光結合装置からの光信号を受信して、該光信号に含まれる情報を取得する情報取得手段を有する
ことを特徴とする請求項１に記載の光バスシステム。
【請求項７】
上記光スイッチは、
上記第２の切り替え状態にあるとき、上記光結合装置からの光信号に含まれる情報を蓄える記憶手段と、
上記記憶手段に蓄えられた情報を含む光信号を上記光分岐装置に入力する光信号として出力する光信号出力手段とを有する
ことを特徴とする請求項１に記載の光バスシステム。
【請求項８】
上記光スイッチは、上記第１の切り替え状態と上記第２の切り替え状態との間の切り替え動作時に、上記複数のノードの同期用の光信号を上記光分岐装置に入力する光信号として出力する光信号出力手段を有する
ことを特徴とする請求項１に記載の光バスシステム。
【請求項９】
上記光導波路の１チャネル分は、複数本の光導波路により構成される
ことを特徴とする請求項１に記載の光バスシステム。
【請求項１０】
上記複数のノードの光送信装置より出力される光信号は、フレームフォーマットの光信号である
ことを特徴とする請求項１に記載の光バスシステム。
【請求項１１】
上記複数チャネル分の第１の光導波路の長さは同一であると共に、上記複数チャネル分の第４の光導波路の長さは同一である
ことを特徴とする請求項１に記載の光バスシステム。
【請求項１２】
上記光スイッチは、上記第１の切り替え状態で、上記光結合装置からの光信号を上記光分岐装置に入力する光信号として出力する光信号経路に、上記他の光スイッチまでの光信号の遅延時間に相当する遅延手段を有する
ことを特徴とする請求項１に記載の光バスシステム。
【請求項１３】
上記遅延手段は、上記他の光スイッチまでの信号線長と光路長が等しい光導波路で構成される
ことを特徴とする請求項１２に記載の光バスシステム。
【請求項１４】
上記複数のノードに、複数のプロセッサおよび少なくとも一つのメモリを含む
ことを特徴とする請求項１に記載の光バスシステム。
【請求項１５】
上記光結合装置および上記光分岐装置は、それぞれファイバカプラで構成される
ことを特徴とする請求項１に記載の光バスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばマルチプロセッサシステム等に適用して好適な光バスシステムに関する。詳しくは、この発明は、光結合装置、光分岐装置を有し、複数のノードが接続される光バスに、他の光バスとの接続を行う光スイッチを備える構成とすることによって、大きなコスト増を招くことなく、光バスにより多くのノードを接続可能にした光バスシステムに係るものである。
【背景技術】
【０００２】
従来、複数のプロセッサを用いて分散処理をすることで、コンピュータ全体の性能を上げるようにした、マルチプロセッサシステムが知られている。このマルチプロセッサシステムには、共有メモリ型と、分散メモリ型とがある。
【０００３】
共有メモリ型のマルチプロセッサシステムは、共有メモリと各プロセッサとをインターコネクトを介して接続した構成を採る。分散メモリ型のマルチプロセッサシステムは、個別にメモリを持ったプロセッサ同士をインターコネクトで接続した構成を採る。この場合、各プロセッサは他のプロセッサのメモリを直接アクセスすることはできない。
【０００４】
これら共有メモリ型および分散メモリ型のマルチプロセッサシステムで、インターコネクトとして、例えばバスを使用している。
【０００５】
図１１は、インターコネクトとしてバスを使用する、共有メモリ型のマルチプロセッサシステム３００の構成例を示している。
【０００６】
このマルチプロセッサシステム３００は、３個のプロセッサ３０１ａ〜３０１ｃおよび１個の共有メモリ３０４が、バス３０３に接続されて構成されている。このような構成により、各プロセッサ３０１ａ〜３０１ｃは、バス３０３を介して、共有メモリ３０４にアクセスできる。
【０００７】
また、プロセッサ３０１ａ〜３０１ｃは、それぞれキャッシュ（キャッシュメモリ）３０２ａ〜３０２ｃを持っている。このようにプロセッサ３０１ａ〜３０１ｃにキャッシュ３０２ａ〜３０２ｃを持たせることで、共有メモリ３０４に対するアクセスの集中を避けることができる。すなわち、キャッシュ３０２ａ〜３０２ｃに共有メモリ３０４のメモリブロックがコピーされると、プロセッサ３０１ａ〜３０１ｃはキャッシュ３０２ａ〜３０２ｃにアクセスすればよく、共有メモリ３０４へのアクセスが減少する。
【０００８】
なお、このようにプロセッサ３０１ａ〜３０１ｃにキャッシュ３０２ａ〜３０２ｃを持たせる場合、共有メモリ３０４とキャッシュ３０２ａ〜３０２ｃとのデータが一致していること、つまりキャッシュコヒーレンシ（キャッシュ一貫性）を保つことが必要となる。
【０００９】
例えば、プロセッサ３０１ａ，３０１ｂが共有メモリ３０４の同じアドレスのデータを読み出し、キャッシュ３０２ａ，３０２ｂに書き込んだとする。その後、プロセッサ３０１ａがある演算を行ってこのキャッシュ３０２ａに書き込んだデータを書き換えたとする。これは、共有メモリ３０４の当該データを書き換えたことに相当する。
【００１０】
この場合、上述したプロセッサ３０１ｂが共有メモリ３０４から読み出してキャッシュ３０２ｂに書き込んだデータは、もはや共有メモリ３０４のデータと同じではなくなる。そのため、プロセッサ３０１ｂは、当該データを必要とするときは、再び共有メモリ３０４から読み出してこなければならない。つまり、プロセッサ３０１ａがキャッシュ３０２ａのデータを書き換えたとき、その情報を他のキャッシュに対して通知し、他のキャッシュではそのデータを破棄するような手続きが必要となる。
【００１１】
図１１に示すマルチプロセッサシステム３００においては、プロセッサ３０１ａ〜３０１ｃおよび共有メモリ３０４が同じバス３０３に接続されているので、各プロセッサ３０１ａ〜３０１ｃは、バス３０３上を流れるメモリアクセスを全て監視でき、必要に応じてキャッシュ３０２ａ〜３０２ｃに対して、キャッシュコヒーレンシを保つための適切な処置を容易に行うことができる。このように、バス上を流れるメモリアクセスを監視（スヌーピング）してキャッシュコヒーレンシを保つ方式は、スヌープキャッシュ方式と呼ばれている。
【００１２】
ところで、図１１に示すマルチプロセッサシステム３００のように、インターコネクトとしてバスを使用するものにあっては、一つのバスに、複数の、プロセッサやメモリ等（以下、「ノード」という）が接続される。その場合、バスの伝達特性が、ノードによるキャパシタンスの影響で、悪化する。そのため、高速で信号を伝送することが難しくなる。
【００１３】
そこで従来、電気信号を伝達するバスの代わりに、光信号を伝達する光バスを用いることが考えられている。特許文献１には、光スターカプラを用いた光バスが開示されている。この光スターカプラは、一つの光ファイバからの光信号を複数の光ファイバに分岐したり、逆に複数の光ファイバからの出力信号を一つの光ファイバに集めたりする機能を有するものである。
【００１４】
また、特許文献２には、光スイッチおよび光ファイバカプラを用いた光バスが開示されている。光スイッチは、各ノードの出力側にそれぞれ設置され、伝送すべきノードに接続される光ゲートを透過状態とする機能を持っている。また、光ファイバカプラは、複数の光ファイバからの出力信号を一つの光ファイバに集める機能を有するものである。
【００１５】
【特許文献１】特開平２０００−３２９９６２号公報（第６〜８頁、図４，図５〜図１２）
【特許文献２】特開平９−７４４２３号公報（第４〜５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上述した特許文献１では、分岐による光量の減衰のために、分岐の数を多くできず、従って光バスに接続可能なノードを多くできないという問題がある。また、上述した特許文献２では、各ノードの出力側に光スイッチを設置し、所定のノードに選択的に光信号を伝送するものであり、分岐による光量の減衰がなく、従って光バスに接続可能なノードを多くできる。しかし、この特許文献２では、各ノードの出力側に光スイッチを設置し、また各ノードの出力側にノード数分の光ファイバを接続する必要があることから、大幅なコスト増になるという問題がある。
【００１７】
この発明の目的は、大きなコスト増を招くことなく、光バスにより多くのノードを接続可能にすることにある。
【課題を解決するための手段】
【００１８】
この発明に係る光バスシステムは、それぞれ光受信装置および光送信装置を有する複数のノードと、この複数のノードの光送信装置から出力される複数の光信号を結合して一つの光信号を得る光結合装置と、一つの光信号を分岐して複数のノードの光受信装置にそれぞれ入力するための複数の光信号を得る光分岐装置と、少なくとも、光結合装置からの光信号を光分岐装置に入力する光信号として出力する第１の切り替え状態、および光結合装置からの光信号を他の光スイッチに入力する光信号として出力すると共に他の光スイッチからの光信号を光分岐装置に入力する光信号として出力する第２の切り替え状態に切り替え可能な光スイッチと、複数のノードの光送信装置から出力される複数の光信号をそれぞれ光結合装置に入力するための複数チャネル分の第１の光導波路と、光結合装置で得られた一つの光信号を光スイッチに入力するための１チャネル分の第２の光導波路と、光スイッチより出力された一つの光信号を光分岐装置に入力するための１チャネル分の第３の光導波路と、光分岐装置で得られた複数の光信号をそれぞれ複数のノードの光受信装置に入力するための複数チャネル分の第４の光導波路とを備えるものである。
【００１９】
この発明においては、複数のノードは、それぞれ光受信装置および光送信装置を有している。マルチプロセッサシステムを構成する場合、複数のノードに、複数のプロセッサおよび少なくともひとつのメモリが含まれる。複数のノードの光送信装置から出力される複数の光信号は、それぞれ第１の光導波路を介して光結合装置に入力されて結合され、一つの光信号が得られる。この光結合装置は、例えばファイバカプラで構成される。
【００２０】
光結合装置で得られた一つの光信号は第２の光導波路を介して光スイッチに入力される。この光スイッチより出力される一つの光信号は第３の光導波路を介して光分岐装置に入力されて分岐され、複数のノードの光受信装置にそれぞれ入力するための複数の光信号が得られる。この光分岐装置は、例えばファイバカプラで構成される。この光分岐装置で得られる複数の光信号は、それぞれ第４の光導波路を介して複数のノードの光受信装置に入力される。
【００２１】
光スイッチは、少なくとも、第１、第２の切り替え状態に切り替え可能とされている。第１の切り替え状態では、光結合装置からの光信号が光分岐装置に入力する光信号として出力される。第２の切り替え状態では、光結合装置からの光信号が他の光スイッチに入力する光信号として出力されると共に他の光スイッチからの光信号が光分岐装置に入力する光信号として出力される。
【００２２】
この場合、光結合装置、光分岐装置、光スイッチおよび第１〜第４の光導波路により光バスが構成されるが、当該光バスに接続された複数のノードは、光スイッチを介して、他の光バスに接続できる。ある光バスに接続されているノード間でデータの転送を行う場合、光スイッチは第１の切り替え状態とされる。この場合、第１のノードの光送信装置からの光信号は、光結合装置、光スイッチおよび光分岐装置を介して第２のノードの光受信装置に供給される。
【００２３】
また、第１の光バスに接続されているノードと第２の光バスに接続されているノードとの間でデータの転送を行う場合、双方の光バスの光スイッチは第２の切り替え状態とされる。この場合、第１の光バスと第２の光バスとは光スイッチを介して接続される。そのため、例えば第１の光バスに接続されている第１のノードの光送信装置からの光信号は、この第１の光バスを構成する光結合装置、光スイッチ、第２の光バスを構成する光スイッチ、光分岐装置を介してこの第２の光バスに接続されている第２のノードの光受信装置に供給される。
【００２４】
このように、ある光バスに接続された複数のノードは、光スイッチを介して、他の光バスに接続できる。これにより、光バスに、より多くのノードの接続が可能となる。この場合、光分岐装置における分岐数が増大するものではなく、光量の減衰が問題となることはない。また、各ノードの出力側に光スイッチを設置するものではなく、また各ノードの出力側には１チャネル分の光導波路を接続するものであり、大きなコスト増を招くことはない。
【００２５】
例えば、光スイッチは、他の光スイッチとの間で通信を行う光通信手段を有するようにされる。このように光通信手段を持つことで、第１の光バスに接続されているノードと第２の光バスに接続されているノードとの間でデータの転送を行う場合、それぞれの光バスにおける光スイッチの切り替え等をスムーズに行うことができる。
【００２６】
また例えば、光バスに接続された複数のノードの光送信装置および光受信装置では第１の波長の光信号を取り扱うようにされ、上述した光通信手段では第１の波長とは異なる第２の波長の光信号を取り扱うようにされる。これにより、第１の光バスに接続されているノードから第２の光バスに接続されているノードにデータを送信している期間であっても、同一の光導波路を介して、光通信手段により光スイッチ間で通信を行うことが可能となる。
【００２７】
また例えば、光スイッチは、複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号を光分岐装置に入力する光信号として出力する光信号出力手段を有するようにされる。例えば、当該複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号は、複数のノードを順次ポーリングするための光信号とされる。これにより、バス調停が行われ、複数のノードの光送信装置からの光信号が光バス上で競合することを回避できる。またこのように、光スイッチでバス調停を行うようにしているので、第１の光バスに接続されているノードと第２の光バスに接続されているノードとの間でデータの転送を行う場合の光スイッチの切り替えを容易に行うことができる。
【００２８】
また例えば、光スイッチは、光結合装置からの光信号を受信して、この光信号に含まれる情報を取得する情報取得手段を有するようにされる。これにより、例えば、複数のノードのいずれかが他の光バスに接続されているノードからのデータ転送、あるいは他の光バスに接続されているノードへのデータ転送を要求している場合、光スイッチはそれを直ちに認識でき、そのことを通信手段を介して他の光バスの光スイッチに伝達できる。
【００２９】
また例えば、光スイッチは、第２の切り替え状態にあるとき、光結合装置からの光信号に含まれる情報を蓄える記憶手段と、この記憶手段に蓄えられた情報を含む光信号を光分岐装置に入力する光信号として出力する光信号出力手段とを有するようにされる。
【００３０】
第２の切り替え状態にある場合、光結合装置からの光信号は、光スイッチから、他の光スイッチに入力する光信号として出力される。つまりこの場合、この光結合装置からの光信号は光分岐装置を介して複数のノードの光受信装置に供給されない。そのため、例えばマルチプロセッサシステムである場合、複数のプロセッサは光バス上を流れるメモリアクセスを監視できず、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができなくなる。
【００３１】
この場合、上述したように、第２の切り替え状態にあるとき、光結合装置からの光信号に含まれる情報を蓄えておき、その情報を含む光信号を光分岐装置に入力する光信号として出力することで、例えば複数のプロセッサは光バス上を流れるメモリアクセスを監視できることになり、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができる。
【００３２】
また例えば、光スイッチは、第１の切り替え状態と第２の切り替え状態との間の切り替え動作時に、複数のノードの同期用の光信号を光分岐装置に入力する光信号として出力する光信号出力手段を有するようにされる。これにより、第１の切り替え状態と第２の切り替え状態との間の切り替え動作時にあっても、複数のノードは、光バス内での同期を確保できる。
【００３３】
また例えば、複数のノードの光送信装置より出力される光信号は、フレームフォーマットの光信号とされる。これにより、光信号を送受信する方式として、フレーム同期方式を用いることができる。
【００３４】
また例えば、光導波路の１チャネル分は、複数本の光導波路により構成される。これにより、データを並列データとして転送でき、例えばフレームフォーマットのデータの転送時間を短くできる。
【００３５】
また例えば、複数のノードの光送信装置から出力される複数の光信号をそれぞれ光結合装置に入力するための複数チャネル分の第１の光導波路の長さは同一とされ、光分岐装置で得られた複数の光信号をそれぞれ複数のノードの光受信装置に入力するための複数チャネル分の第４の光導波路の長さは同一とされる。この場合、あるノードの光送信装置から出力される光信号は、それぞれ同一の時間を経て複数のノードの光受信装置に入力される。そのため、ある送信から次の送信までの待ち時間を短くでき、例えば複数のノードのポーリングのサイクルを短くでき、ノード間のスムーズなデータ転送が可能となる。因みに、光導波路の長さが同一でないときは、あるノードの光送信装置から出力される光信号は異なった時間を経て各ノードの光受信装置に入力される。この場合、ある送信から次の送信までの待ち時間は、最も長い光伝送時間を考慮して決定されるため、長くなる。
【００３６】
また例えば、光スイッチは、第１の切り替え状態で、光結合装置からの光信号を光分岐装置に入力する光信号として出力する光信号経路に、他の光スイッチまでの光信号の遅延時間に相当する遅延手段を有するようにされる。この遅延手段は、例えば、他の光スイッチまでの信号線長と光路長が等しい光導波路で構成される。これにより、第１の切り替え状態から第２の切り替え状態となって、第１の光バスに接続されているノードから第２の光バスに接続されているノードにデータの転送を行う場合に、第２の光バス内で同期していた各ノードの同期がずれることを防止できる。
【発明の効果】
【００３７】
この発明によれば、光結合装置、光分岐装置を有し、複数のノードが接続される光バスに、他の光バスとの接続を行う光スイッチを備えるものであり、大きなコスト増を招くことなく、光バスにより多くのノードを接続することができる。
【発明を実施するための最良の形態】
【００３８】
この発明の実施の形態を説明する。図１は、実施の形態としてのマルチプロセッサシステム１００の構成を示している。このマルチプロセッサシステム１００は、２つのマルチプロセッサ部１００Ａ，１００Ｂからなっている。
【００３９】
マルチプロセッサ部１００Ａは、３個のプロセッサユニット（ＣＰＵユニット）Ｕ1a，Ｕ2a，Ｕ3aと、１個のメモリユニットＵ7aが、光バス１２０Ａに接続されて構成されている。これらプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aは、それぞれノードを構成している。
【００４０】
プロセッサユニットＵ1aは、ＣＰＵ(Central Processing Unit)１とキャッシュ（キャッシュメモリ）１１とで構成されている。プロセッサユニットＵ２aは、ＣＰＵ２とキャッシュ２１とで構成されている。プロセッサユニットＵ3aは、ＣＰＵ３とキャッシュ３１とで構成されている。これらプロセッサユニットＵ1a，Ｕ2aＵ3aは、光信号を送信する光送信装置１１０および光信号を受信する光受信装置１１１を有している。また、メモリユニットＵ7aは、メモリコントローラ７と、メモリ７１，７２とで構成されている。このメモリユニットＵ7aも、光送信装置１１０および光受信装置１１１を有している。
【００４１】
本実施の形態において、光信号を送受信する方式として、フレーム同期方式が用いられる。そのため、光送信装置１１０より出力される光信号は、フレームフォーマットの光信号とされる。図２は、そのフレームフォーマットを示している。すなわち、フレームは、ＳＯＦ(Start Of Frame)で始まり、ＥＯＦ(End Of Frame)で終わる。これらＳＯＦおよびＥＯＦの間には、ヘッダ、ペイロード（情報）およびＣＲＣ(Cyclic Redundancy Check)が配置される。ヘッダには、送信先のノードのアドレス、送信元のノードのアドレスなどが入る。ＣＲＣでは、エラーのチェックが行われる。
【００４２】
光バス１２０Ａは、光結合装置５、光分岐装置６、光スイッチ４および光導波路９，９ａ，１０ａ，１０により構成されている。光結合装置５は、プロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光送信装置１１０から出力される複数の光信号Ｓt1，Ｓt2，Ｓt3およびＳt7を結合して一つの光信号Ｓｔを得る装置である。光分岐装置６は、一つの光信号Ｓｒを分岐してプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１にそれぞれ入力するための光信号Ｓr1，Ｓr2，Ｓr3およびＳr7を得る装置である。
【００４３】
これら光結合装置５および光分岐装置６は、それぞれ、例えばファイバカプラを用いて実現できる。図３はファイバカプラＦＣで構成された光結合装置５を示し、図４はファイバカプラＦＣで構成された光分岐装置６を示している。このファイバカプラとして、例えば、トヨクニ電機株式会社製の「スタンダードツリーカプラ」を使用できる。
【００４４】
光導波路９は４チャネル分備えられている。これら４チャネル分の光導波路９は、プロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光送信装置１１０から出力される複数の光信号Ｓt1，Ｓt2，Ｓt3およびＳt7をそれぞれ光結合装置５に入力するためのものであって、第１の光導波路を構成している。光導波路９ａは１チャネル分備えられている。この１チャネル分の光導波路９ａは、光結合装置５で得られた一つの光信号Ｓｔを光スイッチ４に入力するためのものであって、第２の光導波路を構成している。
【００４５】
光導波路１０ａは１チャネル分備えられている。この１チャネル分の光導波路１０ａは、光スイッチ４より出力された一つの光信号Ｓｒを光分岐装置６に入力するためのものであって、第３の光導波路を構成している。光導波路１０は４チャネル分備えられている。これら４チャネル分の光導波路１０は、光分岐装置６で得られた光信号Ｓr1，Ｓr2，Ｓr3およびＳr7をそれぞれプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力するためのものであって、第４の光導波路を構成している。
【００４６】
なお、図１において、光導波路９，９ａ，１０ａ，１０ｂは、１チャネル当たり一本の線で描かれている。しかし、１チャネル当たり複数本の光導波路から構成されていてもよい。これにより、データを並列データとして転送でき、例えばフレームフォーマットのデータの転送時間を短くできる。また、光導波路９，９ａ，１０ａ，１０ｂは、光ファイバでもよく、ガラス基板上、または電気回路上に構築された光導波路でもよい。
【００４７】
また、４チャネル分の光導波路９の長さは同一とされると共に、４チャネル分の光導波路１０の長さは同一とされる。プロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aのいずれかの光送信装置１１０から出力される光信号は、それぞれ同一の時間を経てプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力される。そのため、ある送信から次の送信までの待ち時間を短くでき、例えばプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aのサイクルを短くでき、これらノード間のスムーズなデータ転送が可能となる。
【００４８】
因みに、光導波路の長さが同一でないときは、プロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aのいずれかの光送信装置１１０から出力される光信号は、それぞれ異なった時間を経てプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力される。この場合、ある送信から次の送信までの待ち時間は、最も長い光伝送時間を考慮して決定されるため、長くなる。
【００４９】
光スイッチ４は、少なくとも、第１の切り替え状態と、第２の切り替え状態とに切り替え可能とされている。光スイッチ４は、第１の切り替え状態では、光結合装置５からの光信号Ｓｔを、光分岐装置６に入力する光信号Ｓｒとして出力する。第２の切り替え状態では、光結合装置５からの光信号Ｓｔを、他の光スイッチ、すなわちマルチプロセッサ部１００Ｂの光バス１２０Ｂを構成する光スイッチ４に入力する光信号Ｓｉとして出力すると共に、この他の光スイッチからの光信号Ｓｊを光分岐装置６に入力する光信号Ｓｒとして出力する。
【００５０】
光スイッチ４は、光結合装置５から入力される光信号Ｓｔの送信先に応じて、第１の切り替え状態、または第２の切り替え状態となる。すなわち、光結合装置５から入力される光信号Ｓｔの送信先が、光バス１２０Ａに接続されているプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aのいずれかである場合には、第１の切り替え状態となる。一方、光結合装置５から入力される光信号Ｓｔの送信先が、光バス１２０Ｂに接続されているプロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bのいずれかである場合には、第２の切り替え状態となる。
【００５１】
マルチプロセッサ部１００Ｂは、３個のプロセッサユニット（ＣＰＵユニット）Ｕ1b，Ｕ2b，Ｕ3bと、１個のメモリユニットＵ7bが、光バス１２０Ｂに接続されて構成されている。これらプロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bは、それぞれノードを構成している。プロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bは、詳細説明は省略するが、それぞれ上述したマルチプロセッサ部１００ＡにおけるプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aと同様に構成されている。
【００５２】
光バス１２０Ｂは、上述したマルチプロセッサ部１００Ａにおける光バス１２０Ａと同様に、光結合装置５、光分岐装置６、光スイッチ４および光導波路９，９ａ，１０ａ，１０により構成されている。
【００５３】
光結合装置５は、プロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bの光送信装置１１０から出力される複数の光信号Ｓt1，Ｓt2，Ｓt3およびＳt7を結合して一つの光信号Ｓｔを得る装置である。光分岐装置６は、一つの光信号Ｓｒを分岐してプロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bの光受信装置１１１にそれぞれ入力するための光信号Ｓr1，Ｓr2，Ｓr3およびＳr7を得る装置である。
【００５４】
プロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bの光送信装置１１０と光結合装置５との間に、それぞれ光導波路９が配置され、光結合装置５と光スイッチ４との間に光導波路９ａが配置され、光スイッチ４と光分岐装置６との間に光導波路１０ａが配置され、光分岐装置６とプロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bの光受信装置１１１との間に、それぞれ光導波路１０が配置されている。
【００５５】
また、マルチプロセッサ部１００Ａ，１００Ｂにおける光バス１２０Ａ，１２０Ｂの光スイッチ４，４は、光導波路２０ａおよび光導波路２０ｂで接続されている。光導波路２０ａは、光バス１２０Ａの光スイッチ４より出力される光信号Ｓｉを、光バス１２０Ｂの光スイッチ４に光信号Ｓｊとして入力するためのものである。光導波路２０ｂは、光バス１２０Ｂの光スイッチ４より出力される光信号Ｓｉを、光バス１２０Ａの光スイッチ４に光信号Ｓｊとして入力するためのものである。
【００５６】
図１に示すマルチプロセッサシステム１００の動作例を説明する。
まず、光バス１２０Ａに接続されているプロセッサユニットＵ1aが、この光バス１２０Ａに接続されているメモリユニットＵ7aにあるデータを読み出す場合について説明する。
この場合、プロセッサユニットＵ1aの光送信装置１１０から、メモリアドレスを含む読み出し命令に係る光信号Ｓt1が出力される。この光信号Ｓt1は光導波路９、光結合装置５および光導波路９ａを介して光スイッチ４に入力される。このとき、光スイッチ４は第１の切り替え状態になっており、この光スイッチ４からは、入力された光信号Ｓｔが光分岐装置６に入力する光信号Ｓｒとして出力される。
【００５７】
このように光スイッチ４から出力される光信号Ｓｒは光導波路１０ａを介して光分岐装置６に入力されて分岐され、４つの光信号Ｓr1，Ｓr2，Ｓr3およびＳr7が得られる。これら光信号Ｓr1，Ｓr2，Ｓr3およびＳr7は、それぞれ、光導波路１０を介してプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力される。
【００５８】
メモリユニットＵ7aではその光信号Ｓr7に含まれるメモリアドレスのデータがメモリ７１，７２から読み出され、その光送信装置１１０からその読み出しデータを含む光信号Ｓt7が出力される。この光信号Ｓt7は光導波路９、光結合装置５および光導波路９ａを介して光スイッチ４に入力される。このとき、光スイッチ４は第１の切り替え状態になっており、この光スイッチ４からは、入力された光信号Ｓｔが光分岐装置６に入力する光信号Ｓｒとして出力される。
【００５９】
このように光スイッチ４から出力される光信号Ｓｒは光導波路１０ａを介して光分岐装置６に入力されて分岐され、４つの光信号Ｓr1，Ｓr2，Ｓr3およびＳr7が得られる。これら光信号Ｓr1，Ｓr2，Ｓr3およびＳr7は、それぞれ、光導波路１０を介してプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力される。これにより、プロセッサユニットＵ1aでは、メモリユニットＵ7aにあるデータが取得される。
【００６０】
このように光バス１２０Ａに接続されているプロセッサユニットＵ1a，Ｕ2a，Ｕ3aとメモリユニットＵ7aの間で命令とデータのやり取りが行われる場合、それに係る光信号Ｓr1，Ｓr2，Ｓr3が光分岐装置６からプロセッサユニットＵ1a，Ｕ2a，Ｕ3aの光受信装置１１１に入力され、プロセッサユニットＵ1a，Ｕ2a，Ｕ3aのそれぞれはその命令とデータのやり取りを全て知ることででき、キャッシュコヒーレンシを保つための適切な処理を行うことが可能となる。これは、光バス１２０Ｂに接続されているプロセッサユニットＵ1b，Ｕ2b，Ｕ3bとメモリユニットＵ7bの間で命令とデータのやり取りが行われる場合においても同様である。
【００６１】
次に、光バス１２０Ａに接続されているプロセッサユニットＵ1aが、光バス１２０Ｂに接続されているメモリユニットＵ7bにあるデータを読み出す場合について説明する。
この場合、プロセッサユニットＵ1aの光送信装置１１０から、メモリアドレスを含む読み出し命令に係る光信号Ｓt1が出力される。この光信号Ｓt1は光導波路９、光結合装置５および光導波路９ａを介して光スイッチ４に入力される。このとき、光スイッチ４は第１の切り替え状態になっており、この光スイッチ４からは、入力された光信号Ｓｔが光分岐装置６に入力する光信号Ｓｒとして出力される。
【００６２】
このように光スイッチ４から出力される光信号Ｓｒは光導波路１０ａを介して光分岐装置６に入力されて分岐され、４つの光信号Ｓr1，Ｓr2，Ｓr3およびＳr7が得られる。これら光信号Ｓr1，Ｓr2，Ｓr3およびＳr7は、それぞれ、光導波路１０を介してプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力される。
【００６３】
また、光スイッチ４では、光信号Ｓｔを受信し、この光信号Ｓｔに含まれる情報、すなわち光バス１２０Ｂに接続されているメモリユニットＵ7bにあるデータの読み出し命令が取得される。そして、この光バス１２０Ａ側の光スイッチ４から、その読み出し命令を光バス１２０Ｂ側に伝えるための光信号Ｓｉが出力される。この光信号Ｓｉは、光導波路２０ａを介して、光バス１２０Ｂ側の光スイッチ４に、光信号Ｓｊとして入力される。
【００６４】
光バス１２０Ｂ側の光スイッチ４では、その光信号Ｓｊに含まれる情報、すなわちメモリユニットＵ7bにあるデータの読み出し命令が取得される。そして、この光バス１２０Ｂでは、その読み出し命令に係る光信号Ｓｒが出力されると共に、光バス１２０Ａ側の光スイッチ４に第２の切り替え状態に切り替えるように要求するための光信号Ｓｉが出力される。
【００６５】
この光バス１２０Ｂ側の光スイッチ４から出力される光信号Ｓｒは光分岐装置６に入力されて分岐され、４つの光信号Ｓr1，Ｓr2，Ｓr3およびＳr7が得られる。これら光信号Ｓr1，Ｓr2，Ｓr3およびＳr7は、それぞれ、光導波路１０を介してプロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bの光受信装置１１１に入力される。
【００６６】
また、この光バス１２０Ｂ側の光スイッチ４から出力される光信号Ｓｉは、光導波路２０ｂを介して、光バス１２０Ａ側の光スイッチ４に、光信号Ｓｊとして入力される。光バス１２０Ａ側の光スイッチ４では、その光信号Ｓｊに含まれる情報、切り替え要求が取得される。光バス１２０Ａ側の光スイッチ４は、この切り替え要求に基づいて、第２の切り替え状態とされる。一方、光バス１２０Ｂ側の光スイッチ４も、第２の切り替え状態とされる。
【００６７】
この状態で、メモリユニットＵ7bでは光信号Ｓr7に含まれるメモリアドレスのデータがメモリ７１，７２から読み出され、その光送信装置１１０からその読み出しデータを含む光信号Ｓt7が出力される。この光信号Ｓt７は、光導波路９、光結合装置５および光導波路９ａを介して光スイッチ４に入力される。このとき、光スイッチ４は第２の切り替え状態になっており、この光スイッチ４からは、入力された光信号Ｓｔが他の光スイッチに入力する光信号Ｓｉとして出力される。
【００６８】
このように光バス１２０Ｂ側の光スイッチ４から出力される光信号Ｓｉは、光導波路２０ｂを介して、光バス１２０Ａ側の光スイッチ４に、光信号Ｓｊとして入力される。光バス１２０Ａ側の光スイッチ４では、この光信号Ｓｊが、光分岐装置６に入力される光信号Ｓｒとして出力される。
【００６９】
この光信号Ｓｒは光導波路１０ａを介して光分岐装置６に入力されて分岐され、４つの光信号Ｓr1，Ｓr2，Ｓr3およびＳr7が得られる。これら光信号Ｓr1，Ｓr2，Ｓr3およびＳr7は、それぞれ、光導波路１０を介してプロセッサユニットＵ1a，Ｕ2a，Ｕ3aおよびメモリユニットＵ7aの光受信装置１１１に入力される。これにより、光バス１２０Ａに接続されたプロセッサユニットＵ1aでは、光バス１２０Ｂに接続されたメモリユニットＵ7bにあるデータが取得される。
【００７０】
なお、このようにデータの転送が行われた後、光バス１２０Ａ側の光スイッチ４および光バス１２０Ｂ側の光スイッチ４は、それぞれ第１の切り替え状態に戻される。
【００７１】
このように光バス１２０Ａに接続されているプロセッサユニットＵ1a，Ｕ2a，Ｕ3aと光バス１２０Ｂに接続されているメモリユニットＵ7bとの間で命令とデータのやり取りが行われる場合、マルチプロセッサ部１００Ａ側では、それに係る光信号Ｓr1，Ｓr2，Ｓr3が光分岐装置６からプロセッサユニットＵ1a，Ｕ2a，Ｕ3aの光受信装置１１１に入力され、プロセッサユニットＵ1a，Ｕ2a，Ｕ3aのそれぞれはその命令とデータのやり取りを全て知ることででき、キャッシュコヒーレンシを保つための適切な処理を行うことができる。
【００７２】
また、光バス１２０Ａに接続されているプロセッサユニットＵ1a，Ｕ2a，Ｕ3aと光バス１２０Ｂに接続されているメモリユニットＵ7bとの間で命令とデータのやり取りが行われる場合、マルチプロセッサ部１００Ｂ側では、読み出し命令に係る光信号Ｓr1，Ｓr2，Ｓr3が光分岐装置６からプロセッサユニットＵ1b，Ｕ2b，Ｕ3bの光受信装置１１１に入力される。
【００７３】
また、マルチプロセッサ部１００Ｂ側では、上述せずも、第２の切り替え状態でメモリユニットＵ7bの光送信装置１１０から出力される読み出しデータを含む光信号Ｓr7の情報が、光スイッチ４内に蓄えられる。その後、光スイッチ４では、その蓄えられた情報に基づいて、読み出しデータを含む光信号Ｓｒが出力される。この光信号Ｓｒは光分岐装置６に入力されて分岐され、４つの光信号Ｓr1，Ｓr2，Ｓr3およびＳr7が得られる。これら光信号Ｓr1，Ｓr2，Ｓr3およびＳr7は、それぞれ、光導波路１０を介してプロセッサユニットＵ1b，Ｕ2b，Ｕ3bおよびメモリユニットＵ7bの光受信装置１１１に入力される。
【００７４】
これにより、マルチプロセッサ部１００Ｂ側でも、プロセッサユニットＵ1b，Ｕ2b，Ｕ3bのそれぞれはその命令とデータのやり取りを全て知ることででき、キャッシュコヒーレンシを保つための適切な処理を行うことができる。
【００７５】
図１に示すマルチプロセッサシステム１００においては、ある光バス（光バス１２０Ａまたは光バス１２０Ｂ）に接続された複数のノード（ユニットＵ1a，Ｕ2a，Ｕ3a，Ｕ7aまたはユニットＵ1b，Ｕ2b，Ｕ3b，Ｕ7b）は、光スイッチ４を介して、他の光バス（光バス１２０Ｂまたは光バス１２０Ａ）に接続できる。これにより、光バス（光バス１２０Ａまたは光バス１２０Ｂ）に、より多くのノードの接続が可能となる。この場合、光分岐装置6における分岐数が増大するものではなく、光量の減衰が問題となることはない。また、各ノードの出力側に光スイッチを設置するものではなく、また各ノードの出力側には１チャネル分の光導波路９を接続するものであり、大きなコスト増を招くことはない。
【００７６】
次に、光スイッチ４の詳細を説明する。図５は、光スイッチ４の構成を示している。光スイッチ４は、光路切り替え部４ａと、制御部４ｂとを有している。制御部４ｂは、光送信装置２００および光受信装置２０１、さらには光送信装置２１０および光受信装置２１１を有し、これら各装置の制御を行う。光路切り替え部４ａは、２個のミラーＭ３，Ｍ４で構成される。これらミラーＭ３，Ｍ４は、例えばＭＥＭＳ(Micro Electromechanical System：微小電気機械システム)ミラーを応用することで実現できる。
【００７７】
光導波路９ａから、光信号Ｂin（Ｓｔ）が入射（入力）される。この光信号ＢinはコリメータレンズＬｃにより平行光とされた後、ビームスプリッタＢＳ１により、二つの光路Ｂin1，Ｂin2に分岐される。光信号Ｂin2は、遅延線ＤＬに入射される。この遅延線ＤＬから所定時間だけ遅延されて出射される光信号Ｂin2はビープスプリッタＢＳ２を透過し、集光レンズＬｆにより集光され、光導波路１０ａに入射される。
【００７８】
遅延線ＤＬの遅延時間は、この光スイッチ４から他の光スイッチ４までの光信号の遅延時間に相当するものとされる。この遅延線ＤＬは、例えば、図６に示すように、光導波路ＤＬ１を用いて構成される。この光導波路ＤＬ１の長さは、この光スイッチ４から他の光スイッチ４までの信号線（図１の光導波路２０ａ，２０ｂ参照）の長さと等しくされる。光信号Ｂin2は、集光レンズＬｆにより集光され、光導波路ＤＬ１に入射される。そして、この光導波路ＤＬ１より出射される光信号はコリメータレンズＬｃにより平行光とされ、遅延線ＤＬの出力信号となる。
【００７９】
図５に戻って、光信号Ｂin1は、ミラーＭ１により光路を曲げられ、制御部４ｂの光受信装置２０１に入射される。これにより、制御部４ｂは、光結合装置５から光スイッチ４に入力される光信号Ｂin（Ｓｔ）に含まれる情報を取得でき、常にその情報をモニタ（監視）できる。これにより、例えば、複数のノードのいずれかが、他の光バスに接続されているノードからのデータ転送、あるいは他の光バスに接続されているノードへのデータ転送を要求している場合、制御部４ｂはそれを直ちに認識でき、そのことを通信手段（光送信装置２１０）を介して他の光バスの光スイッチ４に伝達できる。
【００８０】
また、制御部４ｂの光送信装置２００から出力される光信号Ｂout1は、ミラーＭ２で光路を曲げられ、ビームスプリッタＢＳ２で反射され、集光レンズＬｆにより集光され、光導波路１０ａに光信号Ｓｒとして入射される。この光信号Ｂout1も、フレームフォーマットの光信号とされる（図２参照）。これにより、制御部４ｂの光送信装置２００および光受信装置２０１では、フレーム同期による光信号の送受信が可能となる。
【００８１】
また、光スイッチ４は、ノードとしてのバス調停器ＢＡを有している。各ノードは、フレームに同期して、データの送受信を行う。その際に、バス調停器ＢＡは、光バス上の各ノードの送受信管理を行う。制御部４ｂの光送信装置２００は、バス調停器ＢＡの制御のもと、光信号Ｂout1として、複数のノード（ユニットＵ1a，Ｕ2a，Ｕ3a，Ｕ7aまたはユニットＵ1b，Ｕ2b，Ｕ3b，Ｕ7b）の光送信装置１１０（図１参照）における光信号の出力タイミングを制御するための光信号を出力する。
【００８２】
本実施の形態において、この光信号は、複数のノードを順次ポーリングするための光信号とされる。バス調停器ＢＡは、各ノード宛てにバスリクエストの有無を問い合わせるポーリングを行う。この場合、光スイッチ４に関しては、自分自身のノードであるので、ポーリングする必要はない。
【００８３】
これにより、バス調停が行われ、複数のノードの光送信装置１１０からの光信号が光バス（光バス１２０Ａまたは光バス１２０Ｂ）上で競合することを回避できる。またこのように、光スイッチ４でバス調整を行うようにしているので、第１の光バス（光バス１２０Ａまたは光バス１２０Ｂ）に接続されているノードと第２の光バス（光バス１２０Ｂまたは光バス１２０Ａ）に接続されているノードとの間でデータの転送を行う場合の光スイッチ４の切り替えを容易に行うことができる。
【００８４】
制御部４ｂの光送信装置２１０は、光バス１２０Ａ，１２０Ｂで用いられる光信号、つまり複数のノード（ユニットＵ1a，Ｕ2a，Ｕ3a，Ｕ7aおよびユニットＵ1b，Ｕ2b，Ｕ3b，Ｕ7b）で取り扱われる光信号の波長（第１の波長）λａとは異なる波長（第２の波長）λｂの光信号Ｂout_bを出力する。同様に、制御部４ｂの光受信装置２１１も、光送信装置２１０から出力される光信号Ｂout_bと同じ波長λｂの光信号Ｂin_bだけを受信する。これら光送信装置２１０および光受信装置２１１は、他の光スイッチ４との間で通信を行う光通信手段を構成している。
【００８５】
このように光通信手段を持つことで、第１の光バス（光バス１２０Ａまたは光バス１２０Ｂ）に接続されているノードと第２の光バス（光バス１２０Ｂまたは光バス１２０Ａ）に接続されているノードとの間でデータの転送を行う場合、それぞれの光バスにおける光スイッチ４の切り替え等をスムーズに行うことができる。また、この光通信手段で、光バスに接続された複数のノードで取り扱われる光信号の波長λａとは異なる波長λｂの光信号を取り扱うことで、第１の光バス（光バス１２０Ａまたは光バス１２０Ｂ）に接続されているノードから第２の光バス（光バス１２０Ｂまたは光バス１２０Ａ）に接続されているノードにデータを送信している期間であっても、同一の光導波路２０ａ，２０ｂを介して、光通信手段により光スイッチ４，４間で通信を良好に行うことができる。
【００８６】
制御部４ｂの制御のもと、光送信装置２１０からは、他の光スイッチ４に送信すべき情報を含む、波長λｂの光信号Ｂout_bが出力される。この光信号Ｂout_bは、ダイクロイックミラーＤＭ１に入射される。ダイクロイックミラーとは、特定の波長の光信号のみを反射し、それ以外の波長の光信号を透過する性質を持つミラーである。通常は、誘電体多層膜をガラス基板にコーティングすることで作成できる。ここで、ダイクロイックミラーＤＭ１は、波長λｂの光信号を反射し、それ以外の波長の光信号を透過する性質を持つようにされる。このダイクロイックミラーＤＭ１で反射された光信号Ｂout_bは、集光レンズＬｆにより集光されて、光導波路２０ａに光信号Ｓｉとして入射され、他の光スイッチ４へと送信される。
【００８７】
また、他の光スイッチ４から光導波路２０ｂを介して送信されてくる光信号Ｂin_bは光信号Ｓｊとして光スイッチ４に入力される。この光信号Ｂin_bは、コリメータレンズＬｃにより平行光とされた後、ダイクロイックミラーＤＭ２に入射される。このダイクロイックミラーＤＭ２は、上述したダイクロイックミラーＤＭ１と同じ特性を持っている。そのため、光信号Ｂin_bは、ダイクロイックミラーＤＭ２で反射され、光受信装置２１１に入射される。これにより、制御部４ｂは、光信号Ｂin_bに含まれる情報を取得できる。
【００８８】
上述した光信号Ｂout_b，Ｂin_bも、フレームフォーマットの光信号とされる（図２参照）。これにより、制御部４ｂの光送信装置２１０および光受信装置２１１では、フレーム同期による光信号の送受信が可能となる。
【００８９】
また、光路切り替え部４ａは、第１の切り替え状態にあるときは、図５に示すように、位置（１）にあるが、第２の切り替え状態となるときは、図７に示すように、位置（１）から位置（２）に移動する。
【００９０】
上述したように、光スイッチ４は、第１の切り替え状態では、光結合装置５からの光信号Ｓｔを、光分岐装置６に入力する光信号Ｓｒとして出力する。第２の切り替え状態では、光結合装置５からの光信号Ｓｔを、他の光スイッチ４に入力する光信号Ｓｉとして出力すると共に、この他の光スイッチ４からの光信号Ｓｊを光分岐装置６に入力する光信号Ｓｒとして出力する。
【００９１】
光路切り替え部４ａが位置（２）に移動した場合、光信号Ｂin2（波長λａ）はミラーＭ３で反射され、ダイクロイックミラーＤＭ１に入射される。ダイクロイックミラーＤＭ１は、波長λａの光信号を透過する性質を持っている。そのため、この光信号Ｂin2は、ダイクロイックミラーＤＭ１を透過し、集光レンズＬｆにより集光されて、光導波路２０ａに光信号Ｓｉとして入射され、他の光スイッチ４へと送信される。この場合、光スイッチ間通信用の光信号Ｂout_b（波長λｂ）と光信号Ｂin2（λａ）とは波長が異なるので、お互いに影響を及ぼすことはない。
【００９２】
また、他の光スイッチ４から光導波路２０ｂを介して送信されてくる光信号Ｂout2（波長λａ）は光スイッチ４に光信号Ｓｊとして入力される。この光信号Ｂout2は、コリメータレンズＬｃにより平行光とされた後、ダイクロイックミラーＤＭ２に入射される。このダイクロイックミラーＤＭ２は、波長λａの光信号を透過する性質を持っている。そのため、この光信号Ｂout2は、ダイクロイックミラーＤＭ２を透過し、さらにミラーＭ４で反射される。そして、ミラーＭ４で反射された光信号Ｂout2は、ビームスプリッタＢＳ２を透過して、集光レンズＬｆで集光され、光導波路１０ａに光信号Ｓｒとして入射される。この場合も、光スイッチ間通信用の光信号Ｂin_b（波長λｂ）と光信号Ｂout2（λａ）とは波長が異なるので、お互いに影響を及ぼすことはない。
【００９３】
上述したように、光スイッチ４は、第１の切り替え状態（光路切り替え部４ａは位置（１）にある）で、光結合装置５からの光信号Ｂin（Ｓｔ）を光分岐装置６に入力する光信号Ｓｒとして出力する光信号経路に、他の光スイッチ４までの光信号の遅延時間に相当する遅延手段としての遅延線ＤＬを有している。これにより、第１の切り替え状態から第２の切り替え状態となって、第１の光バス（光バス１２０Ａまたは光バス１２０Ｂ）に接続されているノードから第２の光バス（光バス１２０Ｂまたは光バス１２０Ａ）に接続されているノードにデータの転送を行う場合に、第２の光バス内で同期していた各ノードの同期がずれることを防止できる。
【００９４】
また、上述した制御部４ｂの光送信装置２００は、第１の切り替え状態と第２の切り替え状態との間の切り替え動作時に、複数のノード（ユニットＵ1a，Ｕ2a，Ｕ3a，Ｕ7aおよびユニットＵ1b，Ｕ2b，Ｕ3b，Ｕ7b）の同期用の光信号を出力する。これにより、第１の切り替え状態と第２の切り替え状態との間の切り替え動作時にあっても、複数のノードは、光バス（光バス１２０Ａまたは光バス１２０Ｂ）内での同期を確保できる。
【００９５】
また、バス調停器ＢＡは、図示せずも、第２の切り替え状態（図７参照）にあるとき、光結合装置５（図１参照）から入力される光信号Ｂinに含まれる情報を蓄える、記憶手段としてのバッファを有している。そして、第２の切り替え状態から第１の切り替え状態となった後に、制御部４ｂの制御のもと、光信号Ｂout1として、光送信装置２００は、当該バッファに蓄えられた情報を含む光信号を出力する。
【００９６】
第２の切り替え状態にある場合、光結合装置５からの光信号Ｂin2は、光スイッチ４から、他の光スイッチ４に入力する光信号Ｓｉとして出力される。つまりこの場合、この光結合装置５からの光信号は光分岐装置６を介して複数のノードの光受信装置１１１に供給されない。そのため、ＣＰＵ１〜３は光バス１２０Ａ，１２０Ｂ上を流れるメモリアクセスをスヌーピング（監視）できず、キャッシュ１１〜１３に対して、キャッシュコヒーレンシを保つための適切な処置をとることができなくなる。
【００９７】
上述したように、第２の切り替え状態にあるとき、光結合装置５からの光信号Ｂin1に含まれる情報を蓄えておき、その後に、その情報を含む光信号Ｂout1を光分岐装置６に入力する光信号Ｓｒとして出力することで、ＣＰＵ１〜３は、第２の切り替え状態にあるときに光バス１２０Ａ，１２０Ｂ上を流れるメモリアクセスをスヌーピング（監視）でき、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができる。
【００９８】
次に、図８を参照して、光バス内でのデータ通信の動作例を説明する。ここでは、光バス１２０Ａに接続されているプロセッサユニットＵ1aが、同じく光バス１２０Ａに接続されているメモリユニットＵ7aの所定アドレスのデータを要求する場合の動作を説明する。
【００９９】
光スイッチ４のバス調停器ＢＡが、プロセッサユニットＵ1a宛てにポーリングを行う（フェーズＩ）。この場合、制御部４ｂの光送信装置２００は、ポーリング用のフレーム（プロセッサユニットＵ1a宛て）を、光信号Ｂout1として出力する。図において、実線で示した矢印がそのノード宛てであることを示し、破線の矢印は、他のノードへも同一のフレームが届けられることを示している。
【０１００】
また、フレーム転送時間は、フレームの出力開始から出力終了までの時間を表している。光伝送時間は、そのフレームが各ノードに到達するまでの時間を表している。ここでは、上述したように、ユニットＵ1a，Ｕ2a，Ｕ3aおよびＵ7aの光送信装置１１０から出力される複数の光信号Ｓt1，Ｓt2，Ｓt3およびＳt7をそれぞれ光結合装置５に入力するための光導波路９を全て同一の長さとし、光分岐装置６で得られた光信号Ｓr1，Ｓr2，Ｓr3およびＳr7をそれぞれユニットＵ1a，Ｕ2a，Ｕ3aおよびＵ7aの光受信装置１１１に入力するための光導波路１０を全て同一の長さとしているので、各ユニットへの光伝送時間は同一である。
【０１０１】
プロセッサユニットＵ1aは、ポーリングを受けた後、メモリユニットＵ7aにデータの要求をしたいので、そのデータが存在するメモリアドレスを持つフレーム（メモリユニットＵ7a宛て）を、光送信装置１１０より送信する（フェーズII）。そして、そのフレームをメモリユニットＵ7aが受信する。
【０１０２】
次に、光スイッチ４のバス調停器ＢＡは、プロセッサユニットＵ2a宛てにポーリングを行う（フェーズIII）。この場合、制御部４ｂの光送信装置２００は、ポーリング用のフレーム（プロセッサユニットＵ2a宛て）を、光信号Ｂout1として出力する。ここでは、プロセッサユニットＵ2aはバスリクエストがないとする。プロセッサユニットＵ2aは、ポーリングを受けた後、ペイロードにバスリクエスト無しを示す情報を含むフレーム（光スイッチ４宛て）を、光送信装置１１０より送信する（フェーズIV）。
【０１０３】
次に、光スイッチ４のバス調停器ＢＡは、メモリユニットＵ7a宛てにポーリングを行う（フェーズＶ）。この場合、制御部４ｂの光送信装置２００は、ポーリング用のフレーム（プロセッサユニットＵ7a宛て）を、光信号Ｂout1として出力する。
【０１０４】
メモリユニットＵ7aは、プロセッサユニットＵ1aに送信すべきデータがあるので、ポーリングを受けた後、ペイロードにそのデータを含むフレーム（プロセッサユニットＵ1a宛て）を、光送信装置１１０より送信する（フェーズVI）。そして、そのフレームをプロセッサユニットＵ1aが受信する。これにより、プロセッサユニットＵ１ａは、メモリユニットＵ7aの所定アドレスのデータを取得できたことになる。
【０１０５】
なお、上述の動作では、光スイッチ４の切り替え状態は、光路切り換え部４ａが位置（１）にある第１の切り替え状態のままとされる。また、光スイッチ４のバス調停器ＢＡによるポーリングの順番は、プロセッサユニットＵ1aからはじまり、プロセッサユニットＵ2aへと順に、いわゆる「ラウンドロビン」で行われる。一通り、ポーリングした後は、再びプロセッサユニットＵ1aのポーリングに戻る。
【０１０６】
次に、図９、図１０を参照して、光バス間でのデータ通信の動作例を説明する。ここでは、光バス１２０Ａに接続されているプロセッサユニットＵ1aが、光バス１２０Ｂに接続されているメモリユニットＵ7bの所定アドレスのデータを要求する場合の動作を説明する。
【０１０７】
光バス１２０Ａ内では、光スイッチ４のバス調停器ＢＡが、プロセッサユニットＵ1a宛てにポーリングを行う（図９のフェーズＩ）。この場合、制御部４ｂの光送信装置２００は、ポーリング用のフレーム（プロセッサユニットＵ1a宛て）を、光信号Ｂout1として出力する。図において、実線で示した矢印がそのノード宛てであることを示し、破線の矢印は、他のノードへも同一のフレームが届けられることを示している。
【０１０８】
プロセッサユニットＵ1aは、ポーリングを受けた後、光バス１２０Ｂに接続されているメモリユニットＵ7bにデータの要求をしたいので、そのデータが存在するメモリアドレスを持つフレーム（光スイッチ４宛て）を、光送信装置１１０より送信する（図９のフェーズII）。
【０１０９】
次に、光バス１２０Ａ内では、光スイッチ４のバス調停器ＢＡは、プロセッサユニットＵ2a宛てにポーリングを行う（図９のフェーズIII）。この場合、制御部４ｂの光送信装置２００は、ポーリング用のフレーム（プロセッサユニットＵ2a宛て）を、光信号Ｂout1として出力する。また、このフェーズIIIでは、光バス１２０Ａ側の光スイッチ４は、上述のプロセッサユニットＵ1aのデータ要求に係るバスリクエストのフレームを、光送信装置２１０より送信する。
【０１１０】
ここでは、プロセッサユニットＵ2aはバスリクエストがないとする。プロセッサユニットＵ2aは、ポーリングを受けた後、ペイロードにバスリクエスト無しを示す情報を含むフレーム（光スイッチ４宛て）を、光送信装置１１０より送信する（図９のフェーズIV）。また、このフェーズIVでは、光バス１２０Ｂ側の光スイッチ４は、光バス１２０Ａ内において、バス調停器ＢＡ以外のノードの送信を停止することを要求するフレームを、光送信装置２１０より送信する。なお、光バス１２０Ｂ内においても、ポーリングされたユニットはバスリクエストがないとする。
【０１１１】
次に、光バス１２０Ａ内では、光スイッチ４のバス調停器ＢＡの制御のもと、その制御部４ｂの光送信装置２００は、全ノード宛てに、送信停止要求のフレームを光信号Ｂout1として出力する（図９のフェーズＶ）。また、このフェーズＶでは、光バス１２０Ｂ内では、光スイッチ４のバス調停器ＢＡの制御のもと、その制御部４ｂの光送信装置２００は、プロセッサユニットＵ1aのデータ要求のフレーム（メモリユニットＵ7b宛て）を、光信号Ｂout1として出力する。さらに、このフェーズＶでは、光バス１２０Ｂの光スイッチ４は、第１の切り替え状態から第２の切り替え状態への光スイッチ４の切り替え要求のフレームを、光送信装置２１０より送信する。
【０１１２】
次に、光バス１２０Ａ内および光バス１２０Ｂ内では、光スイッチ４が、それぞれ第１の切り替え状態（図５参照）から第２の切り替え状態（図７参照）に切り替えられる（図９のフェーズVI）。この場合、光路切り替え部４ａは、位置（１）から位置（２）に移動する。このフェーズVIでは、光バス１２０Ａの光スイッチ４と光バス１２０Ｂの光スイッチ１２０Ｂとの間で通信が行われる。一方、このフェーズVIでは、バス調停器ＢＡ以外のノードからの送信は行われない。さらに、このフェーズVIでは、光バス１２０Ａ内および光バス１２０Ｂ内では、光スイッチ４のバス調停器ＢＡの制御のもと、その制御部４ｂの光送信装置２００は、各ノードのフレーム同期を確保するためのフレームを、光信号Ｂout1として出力する。
【０１１３】
次に、光バス１２０Ｂ内では、メモリユニットＵ7bは、プロセッサユニットＵ1aの要求に係るデータをペイロードに含むフレーム（プロセッサユニットＵ1a宛て）を、光送信装置１１０より送信する（図９のフェーズVII）。このフレームは、光バス１２０Ｂ側の光スイッチ４、光導波路２０ｂ、光バス１２０Ａ側の光スイッチ４を介して、プロセッサユニットＵ1aが受信する。これにより、プロセッサユニットＵ１ａは、メモリユニットＵ7bの所定アドレスのデータを取得できたことになる。なお、このフェーズVIIでは、光バス１２０Ｂ内では、光スイッチ４のバス調停器ＢＡの制御のもと、その制御部４ｂの光送信装置２００は、各ノードのフレーム同期を確保するためのフレームを、光信号Ｂout1として出力する。
【０１１４】
また、このフェーズVIIでは、複数の光バス間でもキャッシュコヒーレンシを保つ工夫がされる。すなわち、光バス１２０Ｂ内の光スイッチ４のバス調停器ＢＡは、メモリユニットＵ7bからの光信号Ｓt3に含まれる情報を、内蔵のバッファに蓄える。上述したように、光結合装置５から光スイッチ４に入力される光信号Ｂin1は、全て制御部４ｂによりモニタされている。そのため、異なる光バスへの送信時には、送信されるデータやアドレス等を送信元の光バス内のバス調停器ＢＡのバッファに蓄えることが可能である。
【０１１５】
次に、上述のフェーズVIIの状態、つまりバス間通信から、通常のバス内通信への移行について説明する。図１０のフェーズ１は、図９のフェーズVIIと同じ状態を示している。光バス１２０Ｂに接続されているメモリユニットＵ7bからの送信が完了すると、光バス１２０Ａ側の光スイッチ４および光バス１２０Ｂ側の光スイッチ４は、メモリユニットＵ7bからの送信が完了したことを認識する。この認識は、それぞれの光スイッチ４内の制御部４ｂにより行われる。
【０１１６】
これに伴って、それぞれの光スイッチ４は、第２の切り替え状態（図７参照）から第１の切り替え状態（図５参照）に切り替えられる（図１０のフェーズII）。この場合、光路切り替え部４ａは、位置（２）から位置（１）に戻る。このフェーズIIでは、光バス１２０Ａ内および光バス１２０Ｂ内において、光スイッチ４のバス調停器ＢＡの制御のもと、その制御部４ｂの光送信装置２００は、各ノードのフレーム同期を確保するためのフレームを、光信号Ｂout1として出力する。
【０１１７】
この場合、光バス１２０Ｂ内では、光スイッチ４のバス調停器ＢＡのバッファに蓄えられた情報を、そのフレームに含むようにされる。これにより、光バス１２０Ｂに接続されているプロセッサユニットＵ1b，Ｕ2b，Ｕ3bのＣＰＵ１〜３は、第２の切り替え状態にあるときに光バス１２０Ｂ上を流れるメモリアクセスをスヌーピング（監視）でき、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができる。
【０１１８】
次に、光バス１２０Ａ内および光バス１２０Ｂ内の光スイッチ４の切り替えが動作が完了すると、光バス１２０Ａ内および光バス１２０Ｂ内の動作は、光スイッチ４の切り替わる前の動作に戻り、再びポーリングを始める（図１０のフェーズIII）。ポーリングをすることで、それぞれのノードは送信停止状態が解除されることになる。
【０１１９】
なお、上述実施の形態においては、光スイッチ４が第２の切り替え状態となるとき、図７に示すように、光結合装置５からの光信号Ｂin2は、ミラーＭ３で全て反射される。そのため、この光信号Ｂin2が光分岐装置６に入力されることはなく、プロセッサユニットを構成するＣＰＵ１〜３は、光バス上を流れるメモリアクセスをスヌーピング（監視）できない。この場合、ミラーＭ３，Ｍ４の代わりに、ビームスプリッタを用いて、光信号Ｂin2の一部が光分岐装置６に入力されるように構成し、プロセッサユニットを構成するＣＰＵ１〜３が、光バス上を流れるメモリアクセスをスヌーピング（監視）できるようにしてもよい。
【０１２０】
これによれば、光スイッチ４が第２の切り替え状態となるとき、バス調停器ＢＡのバッファに、光結合装置５からの光信号Ｂin1に含まれる情報を蓄えてき、その後この情報を含むフレームを出力し、プロセッサユニットを構成するＣＰＵ１〜３が光バス上を流れるメモリアクセスをスヌーピング（監視）できるようにするという操作を不要とできる。
【０１２１】
また、上述実施の形態は、２つのマルチプロセッサ部１００Ａ，１００Ｂからなっているマルチプロセッサシステム１００である。さらに、３つ以上のマルチプロセッサ部からなるマルチプロセッサシステムも同様に構成することができる。その場合、各マルチプロセッサ部を構成する光バス内の光スイッチを、光導波路で相互に接続することで構成できる。
【０１２２】
また、上述実施の形態においては、この発明を共有メモリ型のマルチプロセッサシステムに適用したものであるが、この発明は分散メモリ型のマルチプロセッサシステムにも同様に適用できる。
【０１２３】
また、上述実施の形態においては、この発明をマルチプロセッサシステムに適用したものであるが、この発明は、ＬＡＮ(ローカル・エリア・ネットワーク)、クラスター、ＳＡＮ(ストレージ・エリア・ネットワーク)等における各種情報のやり取りを行うための通信系統などにも同様に適用できることは勿論である。
【産業上の利用可能性】
【０１２４】
この発明は、大きなコスト増を招くことなく、光バスにより多くのノードを接続可能にした光バスシステムであり、マルチプロセッサシステム、さらにはＬＡＮ、クラスター、ＳＡＮ等における各種情報のやり取りを行うための通信系統などに適用できる。
【図面の簡単な説明】
【０１２５】
【図１】実施の形態としてのマルチプロセッサシステムの構成を示すブロック図である。
【図２】フレームフォーマットを説明するための図である。
【図３】ファイバカプラで構成された光結合装置を示す図である。
【図４】ファイバカプラで構成された光分岐装置を示す図である。
【図５】光スイッチの構成を示す図である。
【図６】光導波路で構成された遅延線を示す図である。
【図７】第１の切り替え状態から第２の切り替え状態になった光スイッチを示す図である。
【図８】光バス内でのデータ通信の動作例を説明するための図である。
【図９】光バス間でのデータ通信の動作例を説明するための図である。
【図１０】光バス間でのデータ通信の動作例を説明するための図である。
【図１１】マルチプロセッサシステム（共有メモリ型）の構成を示すブロック図である。
【符号の説明】
【０１２６】
１〜３・・・ＣＰＵ、４・・・光スイッチ、４ａ・・・光路切り替え部、４ｂ・・・制御部、５・・・光結合装置、６・・・光分岐装置、７・・・メモリコントローラ、９・・・第１の光導波路、９ａ・・・第２の光導波路、１０・・・第４の光導波路、１０ａ・・・第３の光導波路、１１，２１，３１・・・キャッシュ、２０ａ，２０ｂ・・・光導波路、７１，７２・・・メモリ、１００・・・マルチプロセッサシステム、１００Ａ，１００Ｂ・・・マルチプロセッサ部、１１０・・・光送信装置、１１１・・・光受信装置、１２０Ａ，１２０Ｂ・・・光バス、２００，２１０・・・光送信装置、２０１，２１１・・・光受信装置、ＢＡ・・・バス調停器、ＢＳ１，ＢＳ２・・・ビームスプリッタ、ＤＬ・・・遅延線、ＤＭ１，ＤＭ２・・・ダイクロイックミラー、Ｌｃ・・・コリメータレンズ、Ｌｆ・・・集光レンズ、Ｍ１〜Ｍ４・・・ミラー、Ｕ1a〜Ｕ3a，Ｕ1b〜Ｕ3b・・・プロセッサユニット、Ｕ7a，Ｕ7b・・・メモリユニット
【図１】
2005064950.tif 000003
【図２】
2005064950.tif 000004
【図３】
2005064950.tif 000005
【図４】
2005064950.tif 000006
【図５】
2005064950.tif 000007
【図６】
2005064950.tif 000008
【図７】
2005064950.tif 000009
【図８】
2005064950.tif 000010
【図９】
2005064950.tif 000011
【図１０】
2005064950.tif 000012
【図１１】
2005064950.tif 000013