JP4225160B2 - 光バスシステム - Google Patents

光バスシステム Download PDF

Info

Publication number
JP4225160B2
JP4225160B2 JP2003293519A JP2003293519A JP4225160B2 JP 4225160 B2 JP4225160 B2 JP 4225160B2 JP 2003293519 A JP2003293519 A JP 2003293519A JP 2003293519 A JP2003293519 A JP 2003293519A JP 4225160 B2 JP4225160 B2 JP 4225160B2
Authority
JP
Japan
Prior art keywords
optical
signal
bus
switch
optical signal
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
JP2003293519A
Other languages
English (en)
Other versions
JP2005064950A (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 Corp
Original Assignee
Sony Corp
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 Corp filed Critical Sony Corp
Priority to JP2003293519A priority Critical patent/JP4225160B2/ja
Publication of JP2005064950A publication Critical patent/JP2005064950A/ja
Application granted granted Critical
Publication of JP4225160B2 publication Critical patent/JP4225160B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Optical Communication System (AREA)

Description

この発明は、例えばマルチプロセッサシステム等に適用して好適な光バスシステムに関する。詳しくは、この発明は、光結合装置、光分岐装置を有し、複数のノードが接続される光バスに、他の光バスとの接続を行う光スイッチを備える構成とすることによって、大きなコスト増を招くことなく、光バスにより多くのノードを接続可能にした光バスシステムに係るものである。
従来、複数のプロセッサを用いて分散処理をすることで、コンピュータ全体の性能を上げるようにした、マルチプロセッサシステムが知られている。このマルチプロセッサシステムには、共有メモリ型と、分散メモリ型とがある。
共有メモリ型のマルチプロセッサシステムは、共有メモリと各プロセッサとをインターコネクトを介して接続した構成を採る。分散メモリ型のマルチプロセッサシステムは、個別にメモリを持ったプロセッサ同士をインターコネクトで接続した構成を採る。この場合、各プロセッサは他のプロセッサのメモリを直接アクセスすることはできない。
これら共有メモリ型および分散メモリ型のマルチプロセッサシステムで、インターコネクトとして、例えばバスを使用している。
図11は、インターコネクトとしてバスを使用する、共有メモリ型のマルチプロセッサシステム300の構成例を示している。
このマルチプロセッサシステム300は、3個のプロセッサ301a〜301cおよび1個の共有メモリ304が、バス303に接続されて構成されている。このような構成により、各プロセッサ301a〜301cは、バス303を介して、共有メモリ304にアクセスできる。
また、プロセッサ301a〜301cは、それぞれキャッシュ(キャッシュメモリ)302a〜302cを持っている。このようにプロセッサ301a〜301cにキャッシュ302a〜302cを持たせることで、共有メモリ304に対するアクセスの集中を避けることができる。すなわち、キャッシュ302a〜302cに共有メモリ304のメモリブロックがコピーされると、プロセッサ301a〜301cはキャッシュ302a〜302cにアクセスすればよく、共有メモリ304へのアクセスが減少する。
なお、このようにプロセッサ301a〜301cにキャッシュ302a〜302cを持たせる場合、共有メモリ304とキャッシュ302a〜302cとのデータが一致していること、つまりキャッシュコヒーレンシ(キャッシュ一貫性)を保つことが必要となる。
例えば、プロセッサ301a,301bが共有メモリ304の同じアドレスのデータを読み出し、キャッシュ302a,302bに書き込んだとする。その後、プロセッサ301aがある演算を行ってこのキャッシュ302aに書き込んだデータを書き換えたとする。これは、共有メモリ304の当該データを書き換えたことに相当する。
この場合、上述したプロセッサ301bが共有メモリ304から読み出してキャッシュ302bに書き込んだデータは、もはや共有メモリ304のデータと同じではなくなる。そのため、プロセッサ301bは、当該データを必要とするときは、再び共有メモリ304から読み出してこなければならない。つまり、プロセッサ301aがキャッシュ302aのデータを書き換えたとき、その情報を他のキャッシュに対して通知し、他のキャッシュではそのデータを破棄するような手続きが必要となる。
図11に示すマルチプロセッサシステム300においては、プロセッサ301a〜301cおよび共有メモリ304が同じバス303に接続されているので、各プロセッサ301a〜301cは、バス303上を流れるメモリアクセスを全て監視でき、必要に応じてキャッシュ302a〜302cに対して、キャッシュコヒーレンシを保つための適切な処置を容易に行うことができる。このように、バス上を流れるメモリアクセスを監視(スヌーピング)してキャッシュコヒーレンシを保つ方式は、スヌープキャッシュ方式と呼ばれている。
ところで、図11に示すマルチプロセッサシステム300のように、インターコネクトとしてバスを使用するものにあっては、一つのバスに、複数の、プロセッサやメモリ等(以下、「ノード」という)が接続される。その場合、バスの伝達特性が、ノードによるキャパシタンスの影響で、悪化する。そのため、高速で信号を伝送することが難しくなる。
そこで従来、電気信号を伝達するバスの代わりに、光信号を伝達する光バスを用いることが考えられている。特許文献1には、光スターカプラを用いた光バスが開示されている。この光スターカプラは、一つの光ファイバからの光信号を複数の光ファイバに分岐したり、逆に複数の光ファイバからの出力信号を一つの光ファイバに集めたりする機能を有するものである。
また、特許文献2には、光スイッチおよび光ファイバカプラを用いた光バスが開示されている。光スイッチは、各ノードの出力側にそれぞれ設置され、伝送すべきノードに接続される光ゲートを透過状態とする機能を持っている。また、光ファイバカプラは、複数の光ファイバからの出力信号を一つの光ファイバに集める機能を有するものである。
特開平2000−329962号公報(第6〜8頁、図4,図5〜図12) 特開平9−74423号公報(第4〜5頁、図1)
上述した特許文献1では、分岐による光量の減衰のために、分岐の数を多くできず、従って光バスに接続可能なノードを多くできないという問題がある。また、上述した特許文献2では、各ノードの出力側に光スイッチを設置し、所定のノードに選択的に光信号を伝送するものであり、分岐による光量の減衰がなく、従って光バスに接続可能なノードを多くできる。しかし、この特許文献2では、各ノードの出力側に光スイッチを設置し、また各ノードの出力側にノード数分の光ファイバを接続する必要があることから、大幅なコスト増になるという問題がある。
この発明の目的は、大きなコスト増を招くことなく、光バスにより多くのノードを接続可能にすることにある。
この発明に係る光バスシステムは、それぞれ光受信装置および光送信装置を有する複数のノードと、この複数のノードの光送信装置から出力される複数の光信号を結合して一つの光信号を得る光結合装置と、一つの光信号を分岐して複数のノードの光受信装置にそれぞれ入力するための複数の光信号を得る光分岐装置と、少なくとも、光結合装置からの光信号を光分岐装置に入力する光信号として出力する第1の切り替え状態、および光結合装置からの光信号を、光路切り替え部を有する他の光スイッチに入力する光信号として出力すると共に他の光スイッチの光路切り替え部で光路が切り替えられて、他の光スイッチから入力される光信号を光分岐装置に入力する光信号として出力する第2の切り替え状態に切り替え可能な光路切り替え部を有する光スイッチと、複数のノードの光送信装置から出力される複数の光信号をそれぞれ光結合装置に入力するための複数チャネル分の第1の光導波路と、光結合装置で得られた一つの光信号を光スイッチに入力するための1チャネル分の第2の光導波路と、光スイッチより出力された一つの光信号を光分岐装置に入力するための1チャネル分の第3の光導波路と、光分岐装置で得られた複数の光信号をそれぞれ複数のノードの光受信装置に入力するための複数チャネル分の第4の光導波路とを備え、光結合装置、光分岐装置、光スイッチおよび第1〜第4の光導波路を備えた光バスは、光バスと同様の構成で、光結合装置、光分岐装置および第1〜第4の光導波路を備えると共に、光バスの光スイッチと同様の構成で他の光スイッチを備えた他の光バスと、光スイッチと他の光スイッチが光導波路を介して接続されるものである。
この発明においては、複数のノードは、それぞれ光受信装置および光送信装置を有している。マルチプロセッサシステムを構成する場合、複数のノードに、複数のプロセッサおよび少なくともひとつのメモリが含まれる。複数のノードの光送信装置から出力される複数の光信号は、それぞれ第1の光導波路を介して光結合装置に入力されて結合され、一つの光信号が得られる。この光結合装置は、例えばファイバカプラで構成される。
光結合装置で得られた一つの光信号は第2の光導波路を介して光スイッチに入力される。この光スイッチより出力される一つの光信号は第3の光導波路を介して光分岐装置に入力されて分岐され、複数のノードの光受信装置にそれぞれ入力するための複数の光信号が得られる。この光分岐装置は、例えばファイバカプラで構成される。この光分岐装置で得られる複数の光信号は、それぞれ第4の光導波路を介して複数のノードの光受信装置に入力される。
光スイッチは、少なくとも、第1、第2の切り替え状態に切り替え可能とされている。第1の切り替え状態では、光結合装置からの光信号が光分岐装置に入力する光信号として出力される。第2の切り替え状態では、光結合装置からの光信号が他の光スイッチに入力する光信号として出力されると共に他の光スイッチからの光信号が光分岐装置に入力する光信号として出力される。
この場合、光結合装置、光分岐装置、光スイッチおよび第1〜第4の光導波路により光バスが構成されるが、当該光バスに接続された複数のノードは、光スイッチを介して、他の光バスに接続できる。ある光バスに接続されているノード間でデータの転送を行う場合、光スイッチは第1の切り替え状態とされる。この場合、第1のノードの光送信装置からの光信号は、光結合装置、光スイッチおよび光分岐装置を介して第2のノードの光受信装置に供給される。
また、第1の光バスに接続されているノードと第2の光バスに接続されているノードとの間でデータの転送を行う場合、双方の光バスの光スイッチは第2の切り替え状態とされる。この場合、第1の光バスと第2の光バスとは光スイッチを介して接続される。そのため、例えば第1の光バスに接続されている第1のノードの光送信装置からの光信号は、この第1の光バスを構成する光結合装置、光スイッチ、第2の光バスを構成する光スイッチ、光分岐装置を介してこの第2の光バスに接続されている第2のノードの光受信装置に供給される。
このように、ある光バスに接続された複数のノードは、光スイッチを介して、他の光バスに接続できる。これにより、光バスに、より多くのノードの接続が可能となる。この場合、光分岐装置における分岐数が増大するものではなく、光量の減衰が問題となることはない。また、各ノードの出力側に光スイッチを設置するものではなく、また各ノードの出力側には1チャネル分の光導波路を接続するものであり、大きなコスト増を招くことはない。
例えば、光スイッチは、他の光スイッチとの間で通信を行う光通信手段を有するようにされる。このように光通信手段を持つことで、第1の光バスに接続されているノードと第2の光バスに接続されているノードとの間でデータの転送を行う場合、それぞれの光バスにおける光スイッチの切り替え等をスムーズに行うことができる。
また例えば、光バスに接続された複数のノードの光送信装置および光受信装置では第1の波長の光信号を取り扱うようにされ、上述した光通信手段では第1の波長とは異なる第2の波長の光信号を取り扱うようにされる。これにより、第1の光バスに接続されているノードから第2の光バスに接続されているノードにデータを送信している期間であっても、同一の光導波路を介して、光通信手段により光スイッチ間で通信を行うことが可能となる。
また例えば、光スイッチは、複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号を光分岐装置に入力する光信号として出力する光信号出力手段を有するようにされる。例えば、当該複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号は、複数のノードを順次ポーリングするための光信号とされる。これにより、バス調停が行われ、複数のノードの光送信装置からの光信号が光バス上で競合することを回避できる。またこのように、光スイッチでバス調停を行うようにしているので、第1の光バスに接続されているノードと第2の光バスに接続されているノードとの間でデータの転送を行う場合の光スイッチの切り替えを容易に行うことができる。
また例えば、光スイッチは、光結合装置からの光信号を受信して、この光信号に含まれる情報を取得する情報取得手段を有するようにされる。これにより、例えば、複数のノードのいずれかが他の光バスに接続されているノードからのデータ転送、あるいは他の光バスに接続されているノードへのデータ転送を要求している場合、光スイッチはそれを直ちに認識でき、そのことを通信手段を介して他の光バスの光スイッチに伝達できる。
また例えば、光スイッチは、第2の切り替え状態にあるとき、光結合装置からの光信号に含まれる情報を蓄える記憶手段と、この記憶手段に蓄えられた情報を含む光信号を光分岐装置に入力する光信号として出力する光信号出力手段とを有するようにされる。
第2の切り替え状態にある場合、光結合装置からの光信号は、光スイッチから、他の光スイッチに入力する光信号として出力される。つまりこの場合、この光結合装置からの光信号は光分岐装置を介して複数のノードの光受信装置に供給されない。そのため、例えばマルチプロセッサシステムである場合、複数のプロセッサは光バス上を流れるメモリアクセスを監視できず、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができなくなる。
この場合、上述したように、第2の切り替え状態にあるとき、光結合装置からの光信号に含まれる情報を蓄えておき、その情報を含む光信号を光分岐装置に入力する光信号として出力することで、例えば複数のプロセッサは光バス上を流れるメモリアクセスを監視できることになり、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができる。
また例えば、光スイッチは、第1の切り替え状態と第2の切り替え状態との間の切り替え動作時に、複数のノードの同期用の光信号を光分岐装置に入力する光信号として出力する光信号出力手段を有するようにされる。これにより、第1の切り替え状態と第2の切り替え状態との間の切り替え動作時にあっても、複数のノードは、光バス内での同期を確保できる。
また例えば、複数のノードの光送信装置より出力される光信号は、フレームフォーマットの光信号とされる。これにより、光信号を送受信する方式として、フレーム同期方式を用いることができる。
また例えば、光導波路の1チャネル分は、複数本の光導波路により構成される。これにより、データを並列データとして転送でき、例えばフレームフォーマットのデータの転送時間を短くできる。
また例えば、複数のノードの光送信装置から出力される複数の光信号をそれぞれ光結合装置に入力するための複数チャネル分の第1の光導波路の長さは同一とされ、光分岐装置で得られた複数の光信号をそれぞれ複数のノードの光受信装置に入力するための複数チャネル分の第4の光導波路の長さは同一とされる。この場合、あるノードの光送信装置から出力される光信号は、それぞれ同一の時間を経て複数のノードの光受信装置に入力される。そのため、ある送信から次の送信までの待ち時間を短くでき、例えば複数のノードのポーリングのサイクルを短くでき、ノード間のスムーズなデータ転送が可能となる。因みに、光導波路の長さが同一でないときは、あるノードの光送信装置から出力される光信号は異なった時間を経て各ノードの光受信装置に入力される。この場合、ある送信から次の送信までの待ち時間は、最も長い光伝送時間を考慮して決定されるため、長くなる。
また例えば、光スイッチは、第1の切り替え状態で、光結合装置からの光信号を光分岐装置に入力する光信号として出力する光信号経路に、他の光スイッチまでの光信号の遅延時間に相当する遅延手段を有するようにされる。この遅延手段は、例えば、他の光スイッチまでの信号線長と光路長が等しい光導波路で構成される。これにより、第1の切り替え状態から第2の切り替え状態となって、第1の光バスに接続されているノードから第2の光バスに接続されているノードにデータの転送を行う場合に、第2の光バス内で同期していた各ノードの同期がずれることを防止できる。
この発明によれば、光結合装置、光分岐装置を有し、複数のノードが接続される光バスに、他の光バスとの接続を行う光スイッチを備えるものであり、大きなコスト増を招くことなく、光バスにより多くのノードを接続することができる。
この発明の実施の形態を説明する。図1は、実施の形態としてのマルチプロセッサシステム100の構成を示している。このマルチプロセッサシステム100は、2つのマルチプロセッサ部100A,100Bからなっている。
マルチプロセッサ部100Aは、3個のプロセッサユニット(CPUユニット)U1a,U2a,U3aと、1個のメモリユニットU7aが、光バス120Aに接続されて構成されている。これらプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aは、それぞれノードを構成している。
プロセッサユニットU1aは、CPU(Central Processing Unit)1とキャッシュ(キャッシュメモリ)11とで構成されている。プロセッサユニットU2aは、CPU2とキャッシュ21とで構成されている。プロセッサユニットU3aは、CPU3とキャッシュ31とで構成されている。これらプロセッサユニットU1a,U2aU3aは、光信号を送信する光送信装置110および光信号を受信する光受信装置111を有している。また、メモリユニットU7aは、メモリコントローラ7と、メモリ71,72とで構成されている。このメモリユニットU7aも、光送信装置110および光受信装置111を有している。
本実施の形態において、光信号を送受信する方式として、フレーム同期方式が用いられる。そのため、光送信装置110より出力される光信号は、フレームフォーマットの光信号とされる。図2は、そのフレームフォーマットを示している。すなわち、フレームは、SOF(Start Of Frame)で始まり、EOF(End Of Frame)で終わる。これらSOFおよびEOFの間には、ヘッダ、ペイロード(情報)およびCRC(Cyclic Redundancy Check)が配置される。ヘッダには、送信先のノードのアドレス、送信元のノードのアドレスなどが入る。CRCでは、エラーのチェックが行われる。
光バス120Aは、光結合装置5、光分岐装置6、光スイッチ4および光導波路9,9a,10a,10により構成されている。光結合装置5は、プロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光送信装置110から出力される複数の光信号St1,St2,St3およびSt7を結合して一つの光信号Stを得る装置である。光分岐装置6は、一つの光信号Srを分岐してプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111にそれぞれ入力するための光信号Sr1,Sr2,Sr3およびSr7を得る装置である。
これら光結合装置5および光分岐装置6は、それぞれ、例えばファイバカプラを用いて実現できる。図3はファイバカプラFCで構成された光結合装置5を示し、図4はファイバカプラFCで構成された光分岐装置6を示している。このファイバカプラとして、例えば、トヨクニ電機株式会社製の「スタンダードツリーカプラ」を使用できる。
光導波路9は4チャネル分備えられている。これら4チャネル分の光導波路9は、プロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光送信装置110から出力される複数の光信号St1,St2,St3およびSt7をそれぞれ光結合装置5に入力するためのものであって、第1の光導波路を構成している。光導波路9aは1チャネル分備えられている。この1チャネル分の光導波路9aは、光結合装置5で得られた一つの光信号Stを光スイッチ4に入力するためのものであって、第2の光導波路を構成している。
光導波路10aは1チャネル分備えられている。この1チャネル分の光導波路10aは、光スイッチ4より出力された一つの光信号Srを光分岐装置6に入力するためのものであって、第3の光導波路を構成している。光導波路10は4チャネル分備えられている。これら4チャネル分の光導波路10は、光分岐装置6で得られた光信号Sr1,Sr2,Sr3およびSr7をそれぞれプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力するためのものであって、第4の光導波路を構成している。
なお、図1において、光導波路9,9a,10a,10bは、1チャネル当たり一本の線で描かれている。しかし、1チャネル当たり複数本の光導波路から構成されていてもよい。これにより、データを並列データとして転送でき、例えばフレームフォーマットのデータの転送時間を短くできる。また、光導波路9,9a,10a,10bは、光ファイバでもよく、ガラス基板上、または電気回路上に構築された光導波路でもよい。
また、4チャネル分の光導波路9の長さは同一とされると共に、4チャネル分の光導波路10の長さは同一とされる。プロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aのいずれかの光送信装置110から出力される光信号は、それぞれ同一の時間を経てプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力される。そのため、ある送信から次の送信までの待ち時間を短くでき、例えばプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aのサイクルを短くでき、これらノード間のスムーズなデータ転送が可能となる。
因みに、光導波路の長さが同一でないときは、プロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aのいずれかの光送信装置110から出力される光信号は、それぞれ異なった時間を経てプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力される。この場合、ある送信から次の送信までの待ち時間は、最も長い光伝送時間を考慮して決定されるため、長くなる。
光スイッチ4は、少なくとも、第1の切り替え状態と、第2の切り替え状態とに切り替え可能とされている。光スイッチ4は、第1の切り替え状態では、光結合装置5からの光信号Stを、光分岐装置6に入力する光信号Srとして出力する。第2の切り替え状態では、光結合装置5からの光信号Stを、他の光スイッチ、すなわちマルチプロセッサ部100Bの光バス120Bを構成する光スイッチ4に入力する光信号Siとして出力すると共に、この他の光スイッチからの光信号Sjを光分岐装置6に入力する光信号Srとして出力する。
光スイッチ4は、光結合装置5から入力される光信号Stの送信先に応じて、第1の切り替え状態、または第2の切り替え状態となる。すなわち、光結合装置5から入力される光信号Stの送信先が、光バス120Aに接続されているプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aのいずれかである場合には、第1の切り替え状態となる。一方、光結合装置5から入力される光信号Stの送信先が、光バス120Bに接続されているプロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bのいずれかである場合には、第2の切り替え状態となる。
マルチプロセッサ部100Bは、3個のプロセッサユニット(CPUユニット)U1b,U2b,U3bと、1個のメモリユニットU7bが、光バス120Bに接続されて構成されている。これらプロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bは、それぞれノードを構成している。プロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bは、詳細説明は省略するが、それぞれ上述したマルチプロセッサ部100AにおけるプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aと同様に構成されている。
光バス120Bは、上述したマルチプロセッサ部100Aにおける光バス120Aと同様に、光結合装置5、光分岐装置6、光スイッチ4および光導波路9,9a,10a,10により構成されている。
光結合装置5は、プロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bの光送信装置110から出力される複数の光信号St1,St2,St3およびSt7を結合して一つの光信号Stを得る装置である。光分岐装置6は、一つの光信号Srを分岐してプロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bの光受信装置111にそれぞれ入力するための光信号Sr1,Sr2,Sr3およびSr7を得る装置である。
プロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bの光送信装置110と光結合装置5との間に、それぞれ光導波路9が配置され、光結合装置5と光スイッチ4との間に光導波路9aが配置され、光スイッチ4と光分岐装置6との間に光導波路10aが配置され、光分岐装置6とプロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bの光受信装置111との間に、それぞれ光導波路10が配置されている。
また、マルチプロセッサ部100A,100Bにおける光バス120A,120Bの光スイッチ4,4は、光導波路20aおよび光導波路20bで接続されている。光導波路20aは、光バス120Aの光スイッチ4より出力される光信号Siを、光バス120Bの光スイッチ4に光信号Sjとして入力するためのものである。光導波路20bは、光バス120Bの光スイッチ4より出力される光信号Siを、光バス120Aの光スイッチ4に光信号Sjとして入力するためのものである。
図1に示すマルチプロセッサシステム100の動作例を説明する。
まず、光バス120Aに接続されているプロセッサユニットU1aが、この光バス120Aに接続されているメモリユニットU7aにあるデータを読み出す場合について説明する。
この場合、プロセッサユニットU1aの光送信装置110から、メモリアドレスを含む読み出し命令に係る光信号St1が出力される。この光信号St1は光導波路9、光結合装置5および光導波路9aを介して光スイッチ4に入力される。このとき、光スイッチ4は第1の切り替え状態になっており、この光スイッチ4からは、入力された光信号Stが光分岐装置6に入力する光信号Srとして出力される。
このように光スイッチ4から出力される光信号Srは光導波路10aを介して光分岐装置6に入力されて分岐され、4つの光信号Sr1,Sr2,Sr3およびSr7が得られる。これら光信号Sr1,Sr2,Sr3およびSr7は、それぞれ、光導波路10を介してプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力される。
メモリユニットU7aではその光信号Sr7に含まれるメモリアドレスのデータがメモリ71,72から読み出され、その光送信装置110からその読み出しデータを含む光信号St7が出力される。この光信号St7は光導波路9、光結合装置5および光導波路9aを介して光スイッチ4に入力される。このとき、光スイッチ4は第1の切り替え状態になっており、この光スイッチ4からは、入力された光信号Stが光分岐装置6に入力する光信号Srとして出力される。
このように光スイッチ4から出力される光信号Srは光導波路10aを介して光分岐装置6に入力されて分岐され、4つの光信号Sr1,Sr2,Sr3およびSr7が得られる。これら光信号Sr1,Sr2,Sr3およびSr7は、それぞれ、光導波路10を介してプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力される。これにより、プロセッサユニットU1aでは、メモリユニットU7aにあるデータが取得される。
このように光バス120Aに接続されているプロセッサユニットU1a,U2a,U3aとメモリユニットU7aの間で命令とデータのやり取りが行われる場合、それに係る光信号Sr1,Sr2,Sr3が光分岐装置6からプロセッサユニットU1a,U2a,U3aの光受信装置111に入力され、プロセッサユニットU1a,U2a,U3aのそれぞれはその命令とデータのやり取りを全て知ることででき、キャッシュコヒーレンシを保つための適切な処理を行うことが可能となる。これは、光バス120Bに接続されているプロセッサユニットU1b,U2b,U3bとメモリユニットU7bの間で命令とデータのやり取りが行われる場合においても同様である。
次に、光バス120Aに接続されているプロセッサユニットU1aが、光バス120Bに接続されているメモリユニットU7bにあるデータを読み出す場合について説明する。
この場合、プロセッサユニットU1aの光送信装置110から、メモリアドレスを含む読み出し命令に係る光信号St1が出力される。この光信号St1は光導波路9、光結合装置5および光導波路9aを介して光スイッチ4に入力される。このとき、光スイッチ4は第1の切り替え状態になっており、この光スイッチ4からは、入力された光信号Stが光分岐装置6に入力する光信号Srとして出力される。
このように光スイッチ4から出力される光信号Srは光導波路10aを介して光分岐装置6に入力されて分岐され、4つの光信号Sr1,Sr2,Sr3およびSr7が得られる。これら光信号Sr1,Sr2,Sr3およびSr7は、それぞれ、光導波路10を介してプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力される。
また、光スイッチ4では、光信号Stを受信し、この光信号Stに含まれる情報、すなわち光バス120Bに接続されているメモリユニットU7bにあるデータの読み出し命令が取得される。そして、この光バス120A側の光スイッチ4から、その読み出し命令を光バス120B側に伝えるための光信号Siが出力される。この光信号Siは、光導波路20aを介して、光バス120B側の光スイッチ4に、光信号Sjとして入力される。
光バス120B側の光スイッチ4では、その光信号Sjに含まれる情報、すなわちメモリユニットU7bにあるデータの読み出し命令が取得される。そして、この光バス120Bでは、その読み出し命令に係る光信号Srが出力されると共に、光バス120A側の光スイッチ4に第2の切り替え状態に切り替えるように要求するための光信号Siが出力される。
この光バス120B側の光スイッチ4から出力される光信号Srは光分岐装置6に入力されて分岐され、4つの光信号Sr1,Sr2,Sr3およびSr7が得られる。これら光信号Sr1,Sr2,Sr3およびSr7は、それぞれ、光導波路10を介してプロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bの光受信装置111に入力される。
また、この光バス120B側の光スイッチ4から出力される光信号Siは、光導波路20bを介して、光バス120A側の光スイッチ4に、光信号Sjとして入力される。光バス120A側の光スイッチ4では、その光信号Sjに含まれる情報、切り替え要求が取得される。光バス120A側の光スイッチ4は、この切り替え要求に基づいて、第2の切り替え状態とされる。一方、光バス120B側の光スイッチ4も、第2の切り替え状態とされる。
この状態で、メモリユニットU7bでは光信号Sr7に含まれるメモリアドレスのデータがメモリ71,72から読み出され、その光送信装置110からその読み出しデータを含む光信号St7が出力される。この光信号St7は、光導波路9、光結合装置5および光導波路9aを介して光スイッチ4に入力される。このとき、光スイッチ4は第2の切り替え状態になっており、この光スイッチ4からは、入力された光信号Stが他の光スイッチに入力する光信号Siとして出力される。
このように光バス120B側の光スイッチ4から出力される光信号Siは、光導波路20bを介して、光バス120A側の光スイッチ4に、光信号Sjとして入力される。光バス120A側の光スイッチ4では、この光信号Sjが、光分岐装置6に入力される光信号Srとして出力される。
この光信号Srは光導波路10aを介して光分岐装置6に入力されて分岐され、4つの光信号Sr1,Sr2,Sr3およびSr7が得られる。これら光信号Sr1,Sr2,Sr3およびSr7は、それぞれ、光導波路10を介してプロセッサユニットU1a,U2a,U3aおよびメモリユニットU7aの光受信装置111に入力される。これにより、光バス120Aに接続されたプロセッサユニットU1aでは、光バス120Bに接続されたメモリユニットU7bにあるデータが取得される。
なお、このようにデータの転送が行われた後、光バス120A側の光スイッチ4および光バス120B側の光スイッチ4は、それぞれ第1の切り替え状態に戻される。
このように光バス120Aに接続されているプロセッサユニットU1a,U2a,U3aと光バス120Bに接続されているメモリユニットU7bとの間で命令とデータのやり取りが行われる場合、マルチプロセッサ部100A側では、それに係る光信号Sr1,Sr2,Sr3が光分岐装置6からプロセッサユニットU1a,U2a,U3aの光受信装置111に入力され、プロセッサユニットU1a,U2a,U3aのそれぞれはその命令とデータのやり取りを全て知ることででき、キャッシュコヒーレンシを保つための適切な処理を行うことができる。
また、光バス120Aに接続されているプロセッサユニットU1a,U2a,U3aと光バス120Bに接続されているメモリユニットU7bとの間で命令とデータのやり取りが行われる場合、マルチプロセッサ部100B側では、読み出し命令に係る光信号Sr1,Sr2,Sr3が光分岐装置6からプロセッサユニットU1b,U2b,U3bの光受信装置111に入力される。
また、マルチプロセッサ部100B側では、上述せずも、第2の切り替え状態でメモリユニットU7bの光送信装置110から出力される読み出しデータを含む光信号Sr7の情報が、光スイッチ4内に蓄えられる。その後、光スイッチ4では、その蓄えられた情報に基づいて、読み出しデータを含む光信号Srが出力される。この光信号Srは光分岐装置6に入力されて分岐され、4つの光信号Sr1,Sr2,Sr3およびSr7が得られる。これら光信号Sr1,Sr2,Sr3およびSr7は、それぞれ、光導波路10を介してプロセッサユニットU1b,U2b,U3bおよびメモリユニットU7bの光受信装置111に入力される。
これにより、マルチプロセッサ部100B側でも、プロセッサユニットU1b,U2b,U3bのそれぞれはその命令とデータのやり取りを全て知ることででき、キャッシュコヒーレンシを保つための適切な処理を行うことができる。
図1に示すマルチプロセッサシステム100においては、ある光バス(光バス120Aまたは光バス120B)に接続された複数のノード(ユニットU1a,U2a,U3a,U7aまたはユニットU1b,U2b,U3b,U7b)は、光スイッチ4を介して、他の光バス(光バス120Bまたは光バス120A)に接続できる。これにより、光バス(光バス120Aまたは光バス120B)に、より多くのノードの接続が可能となる。この場合、光分岐装置6における分岐数が増大するものではなく、光量の減衰が問題となることはない。また、各ノードの出力側に光スイッチを設置するものではなく、また各ノードの出力側には1チャネル分の光導波路9を接続するものであり、大きなコスト増を招くことはない。
次に、光スイッチ4の詳細を説明する。図5は、光スイッチ4の構成を示している。光スイッチ4は、光路切り替え部4aと、制御部4bとを有している。制御部4bは、光送信装置200および光受信装置201、さらには光送信装置210および光受信装置211を有し、これら各装置の制御を行う。光路切り替え部4aは、2個のミラーM3,M4で構成される。これらミラーM3,M4は、例えばMEMS(Micro Electromechanical System:微小電気機械システム)ミラーを応用することで実現できる。
光導波路9aから、光信号Bin(St)が入射(入力)される。この光信号BinはコリメータレンズLcにより平行光とされた後、ビームスプリッタBS1により、二つの光路Bin1,Bin2に分岐される。光信号Bin2は、遅延線DLに入射される。この遅延線DLから所定時間だけ遅延されて出射される光信号Bin2はビープスプリッタBS2を透過し、集光レンズLfにより集光され、光導波路10aに入射される。
遅延線DLの遅延時間は、この光スイッチ4から他の光スイッチ4までの光信号の遅延時間に相当するものとされる。この遅延線DLは、例えば、図6に示すように、光導波路DL1を用いて構成される。この光導波路DL1の長さは、この光スイッチ4から他の光スイッチ4までの信号線(図1の光導波路20a,20b参照)の長さと等しくされる。光信号Bin2は、集光レンズLfにより集光され、光導波路DL1に入射される。そして、この光導波路DL1より出射される光信号はコリメータレンズLcにより平行光とされ、遅延線DLの出力信号となる。
図5に戻って、光信号Bin1は、ミラーM1により光路を曲げられ、制御部4bの光受信装置201に入射される。これにより、制御部4bは、光結合装置5から光スイッチ4に入力される光信号Bin(St)に含まれる情報を取得でき、常にその情報をモニタ(監視)できる。これにより、例えば、複数のノードのいずれかが、他の光バスに接続されているノードからのデータ転送、あるいは他の光バスに接続されているノードへのデータ転送を要求している場合、制御部4bはそれを直ちに認識でき、そのことを通信手段(光送信装置210)を介して他の光バスの光スイッチ4に伝達できる。
また、制御部4bの光送信装置200から出力される光信号Bout1は、ミラーM2で光路を曲げられ、ビームスプリッタBS2で反射され、集光レンズLfにより集光され、光導波路10aに光信号Srとして入射される。この光信号Bout1も、フレームフォーマットの光信号とされる(図2参照)。これにより、制御部4bの光送信装置200および光受信装置201では、フレーム同期による光信号の送受信が可能となる。
また、光スイッチ4は、ノードとしてのバス調停器BAを有している。各ノードは、フレームに同期して、データの送受信を行う。その際に、バス調停器BAは、光バス上の各ノードの送受信管理を行う。制御部4bの光送信装置200は、バス調停器BAの制御のもと、光信号Bout1として、複数のノード(ユニットU1a,U2a,U3a,U7aまたはユニットU1b,U2b,U3b,U7b)の光送信装置110(図1参照)における光信号の出力タイミングを制御するための光信号を出力する。
本実施の形態において、この光信号は、複数のノードを順次ポーリングするための光信号とされる。バス調停器BAは、各ノード宛てにバスリクエストの有無を問い合わせるポーリングを行う。この場合、光スイッチ4に関しては、自分自身のノードであるので、ポーリングする必要はない。
これにより、バス調停が行われ、複数のノードの光送信装置110からの光信号が光バス(光バス120Aまたは光バス120B)上で競合することを回避できる。またこのように、光スイッチ4でバス調整を行うようにしているので、第1の光バス(光バス120Aまたは光バス120B)に接続されているノードと第2の光バス(光バス120Bまたは光バス120A)に接続されているノードとの間でデータの転送を行う場合の光スイッチ4の切り替えを容易に行うことができる。
制御部4bの光送信装置210は、光バス120A,120Bで用いられる光信号、つまり複数のノード(ユニットU1a,U2a,U3a,U7aおよびユニットU1b,U2b,U3b,U7b)で取り扱われる光信号の波長(第1の波長)λaとは異なる波長(第2の波長)λbの光信号Bout_bを出力する。同様に、制御部4bの光受信装置211も、光送信装置210から出力される光信号Bout_bと同じ波長λbの光信号Bin_bだけを受信する。これら光送信装置210および光受信装置211は、他の光スイッチ4との間で通信を行う光通信手段を構成している。
このように光通信手段を持つことで、第1の光バス(光バス120Aまたは光バス120B)に接続されているノードと第2の光バス(光バス120Bまたは光バス120A)に接続されているノードとの間でデータの転送を行う場合、それぞれの光バスにおける光スイッチ4の切り替え等をスムーズに行うことができる。また、この光通信手段で、光バスに接続された複数のノードで取り扱われる光信号の波長λaとは異なる波長λbの光信号を取り扱うことで、第1の光バス(光バス120Aまたは光バス120B)に接続されているノードから第2の光バス(光バス120Bまたは光バス120A)に接続されているノードにデータを送信している期間であっても、同一の光導波路20a,20bを介して、光通信手段により光スイッチ4,4間で通信を良好に行うことができる。
制御部4bの制御のもと、光送信装置210からは、他の光スイッチ4に送信すべき情報を含む、波長λbの光信号Bout_bが出力される。この光信号Bout_bは、ダイクロイックミラーDM1に入射される。ダイクロイックミラーとは、特定の波長の光信号のみを反射し、それ以外の波長の光信号を透過する性質を持つミラーである。通常は、誘電体多層膜をガラス基板にコーティングすることで作成できる。ここで、ダイクロイックミラーDM1は、波長λbの光信号を反射し、それ以外の波長の光信号を透過する性質を持つようにされる。このダイクロイックミラーDM1で反射された光信号Bout_bは、集光レンズLfにより集光されて、光導波路20aに光信号Siとして入射され、他の光スイッチ4へと送信される。
また、他の光スイッチ4から光導波路20bを介して送信されてくる光信号Bin_bは光信号Sjとして光スイッチ4に入力される。この光信号Bin_bは、コリメータレンズLcにより平行光とされた後、ダイクロイックミラーDM2に入射される。このダイクロイックミラーDM2は、上述したダイクロイックミラーDM1と同じ特性を持っている。そのため、光信号Bin_bは、ダイクロイックミラーDM2で反射され、光受信装置211に入射される。これにより、制御部4bは、光信号Bin_bに含まれる情報を取得できる。
上述した光信号Bout_b,Bin_bも、フレームフォーマットの光信号とされる(図2参照)。これにより、制御部4bの光送信装置210および光受信装置211では、フレーム同期による光信号の送受信が可能となる。
また、光路切り替え部4aは、第1の切り替え状態にあるときは、図5に示すように、位置(1)にあるが、第2の切り替え状態となるときは、図7に示すように、位置(1)から位置(2)に移動する。
上述したように、光スイッチ4は、第1の切り替え状態では、光結合装置5からの光信号Stを、光分岐装置6に入力する光信号Srとして出力する。第2の切り替え状態では、光結合装置5からの光信号Stを、他の光スイッチ4に入力する光信号Siとして出力すると共に、この他の光スイッチ4からの光信号Sjを光分岐装置6に入力する光信号Srとして出力する。
光路切り替え部4aが位置(2)に移動した場合、光信号Bin2(波長λa)はミラーM3で反射され、ダイクロイックミラーDM1に入射される。ダイクロイックミラーDM1は、波長λaの光信号を透過する性質を持っている。そのため、この光信号Bin2は、ダイクロイックミラーDM1を透過し、集光レンズLfにより集光されて、光導波路20aに光信号Siとして入射され、他の光スイッチ4へと送信される。この場合、光スイッチ間通信用の光信号Bout_b(波長λb)と光信号Bin2(λa)とは波長が異なるので、お互いに影響を及ぼすことはない。
また、他の光スイッチ4から光導波路20bを介して送信されてくる光信号Bout2(波長λa)は光スイッチ4に光信号Sjとして入力される。この光信号Bout2は、コリメータレンズLcにより平行光とされた後、ダイクロイックミラーDM2に入射される。このダイクロイックミラーDM2は、波長λaの光信号を透過する性質を持っている。そのため、この光信号Bout2は、ダイクロイックミラーDM2を透過し、さらにミラーM4で反射される。そして、ミラーM4で反射された光信号Bout2は、ビームスプリッタBS2を透過して、集光レンズLfで集光され、光導波路10aに光信号Srとして入射される。この場合も、光スイッチ間通信用の光信号Bin_b(波長λb)と光信号Bout2(λa)とは波長が異なるので、お互いに影響を及ぼすことはない。
上述したように、光スイッチ4は、第1の切り替え状態(光路切り替え部4aは位置(1)にある)で、光結合装置5からの光信号Bin(St)を光分岐装置6に入力する光信号Srとして出力する光信号経路に、他の光スイッチ4までの光信号の遅延時間に相当する遅延手段としての遅延線DLを有している。これにより、第1の切り替え状態から第2の切り替え状態となって、第1の光バス(光バス120Aまたは光バス120B)に接続されているノードから第2の光バス(光バス120Bまたは光バス120A)に接続されているノードにデータの転送を行う場合に、第2の光バス内で同期していた各ノードの同期がずれることを防止できる。
また、上述した制御部4bの光送信装置200は、第1の切り替え状態と第2の切り替え状態との間の切り替え動作時に、複数のノード(ユニットU1a,U2a,U3a,U7aおよびユニットU1b,U2b,U3b,U7b)の同期用の光信号を出力する。これにより、第1の切り替え状態と第2の切り替え状態との間の切り替え動作時にあっても、複数のノードは、光バス(光バス120Aまたは光バス120B)内での同期を確保できる。
また、バス調停器BAは、図示せずも、第2の切り替え状態(図7参照)にあるとき、光結合装置5(図1参照)から入力される光信号Binに含まれる情報を蓄える、記憶手段としてのバッファを有している。そして、第2の切り替え状態から第1の切り替え状態となった後に、制御部4bの制御のもと、光信号Bout1として、光送信装置200は、当該バッファに蓄えられた情報を含む光信号を出力する。
第2の切り替え状態にある場合、光結合装置5からの光信号Bin2は、光スイッチ4から、他の光スイッチ4に入力する光信号Siとして出力される。つまりこの場合、この光結合装置5からの光信号は光分岐装置6を介して複数のノードの光受信装置111に供給されない。そのため、CPU1〜3は光バス120A,120B上を流れるメモリアクセスをスヌーピング(監視)できず、キャッシュ11〜13に対して、キャッシュコヒーレンシを保つための適切な処置をとることができなくなる。
上述したように、第2の切り替え状態にあるとき、光結合装置5からの光信号Bin1に含まれる情報を蓄えておき、その後に、その情報を含む光信号Bout1を光分岐装置6に入力する光信号Srとして出力することで、CPU1〜3は、第2の切り替え状態にあるときに光バス120A,120B上を流れるメモリアクセスをスヌーピング(監視)でき、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができる。
次に、図8を参照して、光バス内でのデータ通信の動作例を説明する。ここでは、光バス120Aに接続されているプロセッサユニットU1aが、同じく光バス120Aに接続されているメモリユニットU7aの所定アドレスのデータを要求する場合の動作を説明する。
光スイッチ4のバス調停器BAが、プロセッサユニットU1a宛てにポーリングを行う(フェーズI)。この場合、制御部4bの光送信装置200は、ポーリング用のフレーム(プロセッサユニットU1a宛て)を、光信号Bout1として出力する。図において、実線で示した矢印がそのノード宛てであることを示し、破線の矢印は、他のノードへも同一のフレームが届けられることを示している。
また、フレーム転送時間は、フレームの出力開始から出力終了までの時間を表している。光伝送時間は、そのフレームが各ノードに到達するまでの時間を表している。ここでは、上述したように、ユニットU1a,U2a,U3aおよびU7aの光送信装置110から出力される複数の光信号St1,St2,St3およびSt7をそれぞれ光結合装置5に入力するための光導波路9を全て同一の長さとし、光分岐装置6で得られた光信号Sr1,Sr2,Sr3およびSr7をそれぞれユニットU1a,U2a,U3aおよびU7aの光受信装置111に入力するための光導波路10を全て同一の長さとしているので、各ユニットへの光伝送時間は同一である。
プロセッサユニットU1aは、ポーリングを受けた後、メモリユニットU7aにデータの要求をしたいので、そのデータが存在するメモリアドレスを持つフレーム(メモリユニットU7a宛て)を、光送信装置110より送信する(フェーズII)。そして、そのフレームをメモリユニットU7aが受信する。
次に、光スイッチ4のバス調停器BAは、プロセッサユニットU2a宛てにポーリングを行う(フェーズIII)。この場合、制御部4bの光送信装置200は、ポーリング用のフレーム(プロセッサユニットU2a宛て)を、光信号Bout1として出力する。ここでは、プロセッサユニットU2aはバスリクエストがないとする。プロセッサユニットU2aは、ポーリングを受けた後、ペイロードにバスリクエスト無しを示す情報を含むフレーム(光スイッチ4宛て)を、光送信装置110より送信する(フェーズIV)。
次に、光スイッチ4のバス調停器BAは、メモリユニットU7a宛てにポーリングを行う(フェーズV)。この場合、制御部4bの光送信装置200は、ポーリング用のフレーム(プロセッサユニットU7a宛て)を、光信号Bout1として出力する。
メモリユニットU7aは、プロセッサユニットU1aに送信すべきデータがあるので、ポーリングを受けた後、ペイロードにそのデータを含むフレーム(プロセッサユニットU1a宛て)を、光送信装置110より送信する(フェーズVI)。そして、そのフレームをプロセッサユニットU1aが受信する。これにより、プロセッサユニットU1aは、メモリユニットU7aの所定アドレスのデータを取得できたことになる。
なお、上述の動作では、光スイッチ4の切り替え状態は、光路切り換え部4aが位置(1)にある第1の切り替え状態のままとされる。また、光スイッチ4のバス調停器BAによるポーリングの順番は、プロセッサユニットU1aからはじまり、プロセッサユニットU2aへと順に、いわゆる「ラウンドロビン」で行われる。一通り、ポーリングした後は、再びプロセッサユニットU1aのポーリングに戻る。
次に、図9、図10を参照して、光バス間でのデータ通信の動作例を説明する。ここでは、光バス120Aに接続されているプロセッサユニットU1aが、光バス120Bに接続されているメモリユニットU7bの所定アドレスのデータを要求する場合の動作を説明する。
光バス120A内では、光スイッチ4のバス調停器BAが、プロセッサユニットU1a宛てにポーリングを行う(図9のフェーズI)。この場合、制御部4bの光送信装置200は、ポーリング用のフレーム(プロセッサユニットU1a宛て)を、光信号Bout1として出力する。図において、実線で示した矢印がそのノード宛てであることを示し、破線の矢印は、他のノードへも同一のフレームが届けられることを示している。
プロセッサユニットU1aは、ポーリングを受けた後、光バス120Bに接続されているメモリユニットU7bにデータの要求をしたいので、そのデータが存在するメモリアドレスを持つフレーム(光スイッチ4宛て)を、光送信装置110より送信する(図9のフェーズII)。
次に、光バス120A内では、光スイッチ4のバス調停器BAは、プロセッサユニットU2a宛てにポーリングを行う(図9のフェーズIII)。この場合、制御部4bの光送信装置200は、ポーリング用のフレーム(プロセッサユニットU2a宛て)を、光信号Bout1として出力する。また、このフェーズIIIでは、光バス120A側の光スイッチ4は、上述のプロセッサユニットU1aのデータ要求に係るバスリクエストのフレームを、光送信装置210より送信する。
ここでは、プロセッサユニットU2aはバスリクエストがないとする。プロセッサユニットU2aは、ポーリングを受けた後、ペイロードにバスリクエスト無しを示す情報を含むフレーム(光スイッチ4宛て)を、光送信装置110より送信する(図9のフェーズIV)。また、このフェーズIVでは、光バス120B側の光スイッチ4は、光バス120A内において、バス調停器BA以外のノードの送信を停止することを要求するフレームを、光送信装置210より送信する。なお、光バス120B内においても、ポーリングされたユニットはバスリクエストがないとする。
次に、光バス120A内では、光スイッチ4のバス調停器BAの制御のもと、その制御部4bの光送信装置200は、全ノード宛てに、送信停止要求のフレームを光信号Bout1として出力する(図9のフェーズV)。また、このフェーズVでは、光バス120B内では、光スイッチ4のバス調停器BAの制御のもと、その制御部4bの光送信装置200は、プロセッサユニットU1aのデータ要求のフレーム(メモリユニットU7b宛て)を、光信号Bout1として出力する。さらに、このフェーズVでは、光バス120Bの光スイッチ4は、第1の切り替え状態から第2の切り替え状態への光スイッチ4の切り替え要求のフレームを、光送信装置210より送信する。
次に、光バス120A内および光バス120B内では、光スイッチ4が、それぞれ第1の切り替え状態(図5参照)から第2の切り替え状態(図7参照)に切り替えられる(図9のフェーズVI)。この場合、光路切り替え部4aは、位置(1)から位置(2)に移動する。このフェーズVIでは、光バス120Aの光スイッチ4と光バス120Bの光スイッチ120Bとの間で通信が行われる。一方、このフェーズVIでは、バス調停器BA以外のノードからの送信は行われない。さらに、このフェーズVIでは、光バス120A内および光バス120B内では、光スイッチ4のバス調停器BAの制御のもと、その制御部4bの光送信装置200は、各ノードのフレーム同期を確保するためのフレームを、光信号Bout1として出力する。
次に、光バス120B内では、メモリユニットU7bは、プロセッサユニットU1aの要求に係るデータをペイロードに含むフレーム(プロセッサユニットU1a宛て)を、光送信装置110より送信する(図9のフェーズVII)。このフレームは、光バス120B側の光スイッチ4、光導波路20b、光バス120A側の光スイッチ4を介して、プロセッサユニットU1aが受信する。これにより、プロセッサユニットU1aは、メモリユニットU7bの所定アドレスのデータを取得できたことになる。なお、このフェーズVIIでは、光バス120B内では、光スイッチ4のバス調停器BAの制御のもと、その制御部4bの光送信装置200は、各ノードのフレーム同期を確保するためのフレームを、光信号Bout1として出力する。
また、このフェーズVIIでは、複数の光バス間でもキャッシュコヒーレンシを保つ工夫がされる。すなわち、光バス120B内の光スイッチ4のバス調停器BAは、メモリユニットU7bからの光信号St3に含まれる情報を、内蔵のバッファに蓄える。上述したように、光結合装置5から光スイッチ4に入力される光信号Bin1は、全て制御部4bによりモニタされている。そのため、異なる光バスへの送信時には、送信されるデータやアドレス等を送信元の光バス内のバス調停器BAのバッファに蓄えることが可能である。
次に、上述のフェーズVIIの状態、つまりバス間通信から、通常のバス内通信への移行について説明する。図10のフェーズ1は、図9のフェーズVIIと同じ状態を示している。光バス120Bに接続されているメモリユニットU7bからの送信が完了すると、光バス120A側の光スイッチ4および光バス120B側の光スイッチ4は、メモリユニットU7bからの送信が完了したことを認識する。この認識は、それぞれの光スイッチ4内の制御部4bにより行われる。
これに伴って、それぞれの光スイッチ4は、第2の切り替え状態(図7参照)から第1の切り替え状態(図5参照)に切り替えられる(図10のフェーズII)。この場合、光路切り替え部4aは、位置(2)から位置(1)に戻る。このフェーズIIでは、光バス120A内および光バス120B内において、光スイッチ4のバス調停器BAの制御のもと、その制御部4bの光送信装置200は、各ノードのフレーム同期を確保するためのフレームを、光信号Bout1として出力する。
この場合、光バス120B内では、光スイッチ4のバス調停器BAのバッファに蓄えられた情報を、そのフレームに含むようにされる。これにより、光バス120Bに接続されているプロセッサユニットU1b,U2b,U3bのCPU1〜3は、第2の切り替え状態にあるときに光バス120B上を流れるメモリアクセスをスヌーピング(監視)でき、キャッシュに対して、キャッシュコヒーレンシを保つための適切な処置をとることができる。
次に、光バス120A内および光バス120B内の光スイッチ4の切り替えが動作が完了すると、光バス120A内および光バス120B内の動作は、光スイッチ4の切り替わる前の動作に戻り、再びポーリングを始める(図10のフェーズIII)。ポーリングをすることで、それぞれのノードは送信停止状態が解除されることになる。
なお、上述実施の形態においては、光スイッチ4が第2の切り替え状態となるとき、図7に示すように、光結合装置5からの光信号Bin2は、ミラーM3で全て反射される。そのため、この光信号Bin2が光分岐装置6に入力されることはなく、プロセッサユニットを構成するCPU1〜3は、光バス上を流れるメモリアクセスをスヌーピング(監視)できない。この場合、ミラーM3,M4の代わりに、ビームスプリッタを用いて、光信号Bin2の一部が光分岐装置6に入力されるように構成し、プロセッサユニットを構成するCPU1〜3が、光バス上を流れるメモリアクセスをスヌーピング(監視)できるようにしてもよい。
これによれば、光スイッチ4が第2の切り替え状態となるとき、バス調停器BAのバッファに、光結合装置5からの光信号Bin1に含まれる情報を蓄えてき、その後この情報を含むフレームを出力し、プロセッサユニットを構成するCPU1〜3が光バス上を流れるメモリアクセスをスヌーピング(監視)できるようにするという操作を不要とできる。
また、上述実施の形態は、2つのマルチプロセッサ部100A,100Bからなっているマルチプロセッサシステム100である。さらに、3つ以上のマルチプロセッサ部からなるマルチプロセッサシステムも同様に構成することができる。その場合、各マルチプロセッサ部を構成する光バス内の光スイッチを、光導波路で相互に接続することで構成できる。
また、上述実施の形態においては、この発明を共有メモリ型のマルチプロセッサシステムに適用したものであるが、この発明は分散メモリ型のマルチプロセッサシステムにも同様に適用できる。
また、上述実施の形態においては、この発明をマルチプロセッサシステムに適用したものであるが、この発明は、LAN(ローカル・エリア・ネットワーク)、クラスター、SAN(ストレージ・エリア・ネットワーク)等における各種情報のやり取りを行うための通信系統などにも同様に適用できることは勿論である。
この発明は、大きなコスト増を招くことなく、光バスにより多くのノードを接続可能にした光バスシステムであり、マルチプロセッサシステム、さらにはLAN、クラスター、SAN等における各種情報のやり取りを行うための通信系統などに適用できる。
実施の形態としてのマルチプロセッサシステムの構成を示すブロック図である。 フレームフォーマットを説明するための図である。 ファイバカプラで構成された光結合装置を示す図である。 ファイバカプラで構成された光分岐装置を示す図である。 光スイッチの構成を示す図である。 光導波路で構成された遅延線を示す図である。 第1の切り替え状態から第2の切り替え状態になった光スイッチを示す図である。 光バス内でのデータ通信の動作例を説明するための図である。 光バス間でのデータ通信の動作例を説明するための図である。 光バス間でのデータ通信の動作例を説明するための図である。 マルチプロセッサシステム(共有メモリ型)の構成を示すブロック図である。
符号の説明
1〜3・・・CPU、4・・・光スイッチ、4a・・・光路切り替え部、4b・・・制御部、5・・・光結合装置、6・・・光分岐装置、7・・・メモリコントローラ、9・・・第1の光導波路、9a・・・第2の光導波路、10・・・第4の光導波路、10a・・・第3の光導波路、11,21,31・・・キャッシュ、20a,20b・・・光導波路、71,72・・・メモリ、100・・・マルチプロセッサシステム、100A,100B・・・マルチプロセッサ部、110・・・光送信装置、111・・・光受信装置、120A,120B・・・光バス、200,210・・・光送信装置、201,211・・・光受信装置、BA・・・バス調停器、BS1,BS2・・・ビームスプリッタ、DL・・・遅延線、DM1,DM2・・・ダイクロイックミラー、Lc・・・コリメータレンズ、Lf・・・集光レンズ、M1〜M4・・・ミラー、U1a〜U3a,U1b〜U3b・・・プロセッサユニット、U7a,U7b・・・メモリユニット

Claims (15)

  1. それぞれ光受信装置および光送信装置を有する複数のノードと、
    上記複数のノードの光送信装置から出力される複数の光信号を結合して一つの光信号を得る光結合装置と、
    一つの光信号を分岐して上記複数のノードの光受信装置にそれぞれ入力するための複数の光信号を得る光分岐装置と、
    少なくとも、上記光結合装置からの光信号を上記光分岐装置に入力する光信号として出力する第1の切り替え状態、および上記光結合装置からの光信号を、光路切り替え部を有する他の光スイッチに入力する光信号として出力すると共に上記他の光スイッチの上記光路切り替え部で光路が切り替えられて、上記他の光スイッチから入力される光信号を上記光分岐装置に入力する光信号として出力する第2の切り替え状態に切り替え可能な光路切り替え部を有する光スイッチと、
    上記複数のノードの光送信装置から出力される複数の光信号をそれぞれ上記光結合装置に入力するための複数チャネル分の第1の光導波路と、
    上記光結合装置で得られた一つの光信号を上記光スイッチに入力するための1チャネル分の第2の光導波路と、
    上記光スイッチより出力された一つの光信号を上記光分岐装置に入力するための1チャネル分の第3の光導波路と、
    上記光分岐装置で得られた複数の光信号をそれぞれ上記複数のノードの光受信装置に入力するための複数チャネル分の第4の光導波路とを備え
    上記光結合装置、上記光分岐装置、上記光スイッチおよび上記第1〜第4の光導波路を備えた光バスは、上記光バスと同様の構成で、上記光結合装置、上記光分岐装置および上記第1〜第4の光導波路を備えると共に、上記光バスの上記光スイッチと同様の構成で上記他の光スイッチを備えた他の光バスと、上記光スイッチと上記他の光スイッチが光導波路を介して接続される
    光バスシステム。
  2. 上記光スイッチは、上記他の光スイッチとの間で通信を行う光通信手段を有する
    ことを特徴とする請求項1に記載の光バスシステム。
  3. 上記複数のノードの光受信装置および光送信装置では第1の波長の光信号を取り扱うと共に、上記光通信手段では上記第1の波長とは異なる第2の波長の光信号を取り扱う
    ことを特徴とする請求項2に記載の光バスシステム。
  4. 上記光スイッチは、上記複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号を上記光分岐装置に入力する光信号として出力する光信号出力手段を有する
    ことを特徴とする請求項1に記載の光バスシステム。
  5. 上記複数のノードの光送信装置における光信号の出力タイミングを制御するための光信号は、上記複数のノードを順次ポーリングするための光信号である
    ことを特徴とする請求項4に記載の光バスシステム。
  6. 上記光スイッチは、上記光結合装置からの光信号を受信して、該光信号に含まれる情報を取得する情報取得手段を有する
    ことを特徴とする請求項1に記載の光バスシステム。
  7. 上記光スイッチは、
    上記第2の切り替え状態にあるとき、上記光結合装置からの光信号に含まれる情報を蓄える記憶手段と、
    上記記憶手段に蓄えられた情報を含む光信号を上記光分岐装置に入力する光信号として出力する光信号出力手段とを有する
    ことを特徴とする請求項1に記載の光バスシステム。
  8. 上記光スイッチは、上記第1の切り替え状態と上記第2の切り替え状態との間の切り替え動作時に、上記複数のノードの同期用の光信号を上記光分岐装置に入力する光信号として出力する光信号出力手段を有する
    ことを特徴とする請求項1に記載の光バスシステム。
  9. 上記光導波路の1チャネル分は、複数本の光導波路により構成される
    ことを特徴とする請求項1に記載の光バスシステム。
  10. 上記複数のノードの光送信装置より出力される光信号は、フレームフォーマットの光信号である
    ことを特徴とする請求項1に記載の光バスシステム。
  11. 上記複数チャネル分の第1の光導波路の長さは同一であると共に、上記複数チャネル分の第4の光導波路の長さは同一である
    ことを特徴とする請求項1に記載の光バスシステム。
  12. 上記光スイッチは、上記第1の切り替え状態で、上記光結合装置からの光信号を上記光分岐装置に入力する光信号として出力する光信号経路に、上記他の光スイッチまでの光信号の遅延時間に相当する遅延手段を有する
    ことを特徴とする請求項1に記載の光バスシステム。
  13. 上記遅延手段は、上記他の光スイッチまでの信号線長と光路長が等しい光導波路で構成される
    ことを特徴とする請求項12に記載の光バスシステム。
  14. 上記複数のノードに、複数のプロセッサおよび少なくとも一つのメモリを含む
    ことを特徴とする請求項1に記載の光バスシステム。
  15. 上記光結合装置および上記光分岐装置は、それぞれファイバカプラで構成される
    ことを特徴とする請求項1に記載の光バスシステム。
JP2003293519A 2003-08-14 2003-08-14 光バスシステム Expired - Fee Related JP4225160B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003293519A JP4225160B2 (ja) 2003-08-14 2003-08-14 光バスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003293519A JP4225160B2 (ja) 2003-08-14 2003-08-14 光バスシステム

Publications (2)

Publication Number Publication Date
JP2005064950A JP2005064950A (ja) 2005-03-10
JP4225160B2 true JP4225160B2 (ja) 2009-02-18

Family

ID=34370444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003293519A Expired - Fee Related JP4225160B2 (ja) 2003-08-14 2003-08-14 光バスシステム

Country Status (1)

Country Link
JP (1) JP4225160B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219852A (ja) 2006-02-16 2007-08-30 Fujitsu Ltd メモリシステム
JP2007267155A (ja) 2006-03-29 2007-10-11 Fujitsu Ltd メモリシステム
EP2289184A4 (en) 2008-06-17 2012-10-31 Hewlett Packard Development Co SYSTEMS AND METHOD FOR THE OPTICAL BROADCAST
KR101990856B1 (ko) 2012-05-21 2019-06-19 삼성전자주식회사 광-연결 메모리 모듈을 포함하는 광 메모리 시스템 및 이를 포함하는 컴퓨팅 시스템
CN106471482B (zh) 2015-06-19 2019-05-03 华为技术有限公司 一种光开关控制方法及装置
KR102154275B1 (ko) * 2018-08-13 2020-09-09 현대오트론 주식회사 차량용 라이다 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
JP2005064950A (ja) 2005-03-10

Similar Documents

Publication Publication Date Title
JP4484757B2 (ja) 情報処理装置
US7395379B2 (en) Methods and apparatus for responding to a request cluster
US5602663A (en) Information processing apparatus for multiplex transmission of signal for arbitration and signal for data transfer
US10552227B2 (en) Reconfigurable computing cluster with assets closely coupled at the physical layer by means of an optical circuit switch
WO1999000736A1 (en) Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates
FR2915594A1 (fr) Systeme de memorisation.
JP3589058B2 (ja) 信号通信装置および多重バス制御装置
JP5050028B2 (ja) サーバ装置
JP4225160B2 (ja) 光バスシステム
US20060236032A1 (en) Data storage system having memory controller with embedded CPU
JP3647055B2 (ja) 情報処理システム、管理方法および管理装置
US6078337A (en) Maintaining consistency of cache memory data by arbitrating use of a connection route by plural nodes
US20090235048A1 (en) Information processing apparatus, signal transmission method, and bridge
US8824496B2 (en) Two-phase arbitration mechanism for shared optical links
WO1996030842A1 (en) Bus structure for a multiprocessor system
CN102090000B (zh) 光学使能的广播总线
JP2001222517A (ja) 方向分離二重リング構造を有する分散共有メモリ多重プロセッサシステム
US20020161453A1 (en) Collective memory network for parallel processing and method therefor
JP3599381B2 (ja) 情報処理システム及びその方法
US7356669B2 (en) Processing system and method for transmitting data
Ghose Performance potentials of an optical bus using wavelength-division multiplexing
JP3904498B2 (ja) プロセッサ間通信システム
JP3466728B2 (ja) 情報処理システム及びその方法
RU2139566C1 (ru) Многопроцессорная система обработки данных
JP3466727B2 (ja) 情報処理システム及びその方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080908

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: 20081104

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: 20081117

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees