特許第6707752号(P6707752)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人京都大学の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6707752
(24)【登録日】2020年5月25日
(45)【発行日】2020年6月10日
(54)【発明の名称】光乗算器および光乗算方法
(51)【国際特許分類】
   G06E 3/00 20060101AFI20200601BHJP
   G02F 3/00 20060101ALI20200601BHJP
【FI】
   G06E3/00
   G02F3/00
【請求項の数】4
【全頁数】14
(21)【出願番号】特願2017-159095(P2017-159095)
(22)【出願日】2017年8月22日
(65)【公開番号】特開2019-40225(P2019-40225A)
(43)【公開日】2019年3月14日
【審査請求日】2019年8月6日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度、国立研究開発法人科学技術振興機構、新たな光機能や光物性の発現・利活用を基軸とする次世代フォトニクスの基盤技術、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】100098394
【弁理士】
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100153006
【弁理士】
【氏名又は名称】小池 勇三
(74)【代理人】
【識別番号】100064621
【弁理士】
【氏名又は名称】山川 政樹
(72)【発明者】
【氏名】新家 昭彦
(72)【発明者】
【氏名】納富 雅也
(72)【発明者】
【氏名】野崎 謙悟
(72)【発明者】
【氏名】北 翔太
(72)【発明者】
【氏名】高田 健太
(72)【発明者】
【氏名】石原 亨
(72)【発明者】
【氏名】小野寺 秀俊
(72)【発明者】
【氏名】今井 悠貴
【審査官】 豊田 真弓
(56)【参考文献】
【文献】 特開昭55−43663(JP,A)
【文献】 国際公開第2014/203361(WO,A1)
【文献】 特開2016−45685(JP,A)
【文献】 特開平9−245019(JP,A)
【文献】 今井悠貴、他7名,「集積ナノフォトニクスに基づく光アナログ加算手法と光並列乗算器への適用」,情報処理学会 シンポジウム DAシンポジウム 2017,情報処理学会,2017年 8月23日,p.51-56
(58)【調査した分野】(Int.Cl.,DB名)
G06E 3/00
G02F 3/00
(57)【特許請求の範囲】
【請求項1】
Nビット(Nは2以上の整数)の第1デジタル信号と、Nビットの第2デジタル信号とによるN×N個の部分積を生成する部分積生成部と、
前記部分積を桁統合しながら加算して加算値を生成する加算部と、
前記加算値をアナログデジタル変換してデジタル値を生成する変換部と、
前記デジタル値をデジタル加算するデジタル加算部と
を備えることを特徴とする光乗算器。
【請求項2】
請求項1記載の光乗算器において、
前記部分積生成部および前記加算部は、前記部分積の生成に対して各々異なる波長の光を対応させて、前記部分積の生成および前記加算値の生成を波長多重で同時に処理することを特徴とする光乗算器。
【請求項3】
請求項1記載の光乗算器において、
前記部分積生成部は、2次のブースの方法により前記部分積を生成することを特徴とする光乗算器。
【請求項4】
Nビット(Nは2以上の整数)の第1デジタル信号と、Nビットの第2デジタル信号とによるN×N個の部分積を生成する第1ステップと、
前記部分積を桁統合しながら加算して加算値を生成する第2ステップと、
前記加算値をアナログデジタル変換してデジタル値を生成する第3ステップと、
前記デジタル値をデジタル加算する第4ステップと
を備えることを特徴とする光乗算方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、乗算のための光回路を用いた光乗算器および光乗算方法に関する。
【背景技術】
【0002】
現在の電子演算回路は、演算の処理速度を向上させるため、チップサイズや素子サイズを極限まで小さくする工夫がなされている。これは、回路内の抵抗(R)とキャパシタンス(C)が、信号の伝搬を大きく律速しているため、演算速度を上げるには、チップサイズや素子サイズを小さくするしかないためである。このため、狭面積の論理ブロックやコアに素子を詰め込み、マルチコア・メニーコア化などの工夫がなされているが、これらをつなぐための配線が新たな「遅延」を生み、演算の高速化に限界が見えつつある。
【0003】
一方、光通信などで用いられる光配線や光パスゲートは、この配線経路内のCやRに無依存で光信号を伝播させることができる。また、ナノフォトニクスの進展により、光ゲートの消費エネルギーは飛躍的に改善され、このエネルギーコスト[J/bit]は、CMOSゲートと光パスゲートとで同程度のレベルになりつつある。このため、チップ内やチップ間の通信を光化する様々な研究がなされている。
【0004】
ここで、光ゲートの電気制御ポート側から信号入力する接続形態をカスケード接続、スイッチの光伝搬経路が連続的に接続されている形態をシリアル接続と定義する。例えばシリアル接続とカスケード接続が混在した光電融合型の回路を想定した場合、カスケード接続の部分が光と電気の境界となる。この境界において、回路中を伝搬する光信号は一度電気に変換(OE変換)されることになる。この変換は、電気回路に律速されるため、OE変換の多用される回路は、光を使うことのメリットが小さい。このため、光と電気の境界、つまりカスケード接続の配置場所と数が、回路構成の重要なポイントとなる。以下では、乗算器についてこの問題を検討する。
【0005】
最初に、光伝搬経路中にOE変換を配置しない構成の光乗算器を検討する。非特許文献1において、2×2光パスゲートを用いれば、任意の論理関数をシリアル接続のみで実現可能であると示している。非特許文献1で提案されている「Direct Logic」を用いることで、任意の論理関数を光の伝搬速度で演算することができる(非特許文献2)。しかし、複雑な論理関数では入力数に対して指数関数のオーダの素子数が必要になるものもあり、乗算もその例に含まれる。
【0006】
非特許文献3では、光パスゲートに適した回路アーキテクチャとして二分決定グラフ(Binary Decision Diagram)に基づく回路構成を提案している。こちらの方法でも任意の論理関数をシリアル接続のみで実現可能である。しかしながら、「Direct Logic」と同様に、乗算などを用いる論理関数では必要な素子数が指数オーダとなる。したがって、「Direct Logic」や二分決定グラフによってOE変換なしで乗算器を構成することは現実的ではないといえる。
【0007】
次に、OE変換を用いることを前提に乗算器の回路構成を考えてみる。乗算器は、2進数で表される2つのデータを入力とし、これらの積を2進数データとして出力する演算回路である。図14に、4ビットの整数x3210とy3210に対する乗算の計算過程を示す。pijを部分積と呼び、この部分積は、xiとyjの論理積により求められる。部分積pij図14に示すように桁ごとに加算することで、乗算結果s6、s5、・・・、s0を求めることができる。並列乗算器は、上述した過程を1クロックサイクルで実現する乗算回路である。
【0008】
一般的な並列乗算器は、部分積生成部と部分積加算部で構成される。部分積生成部は、論理積演算(以下AND)ゲートを用いることで実現される。一方、部分積加算部には、配列型やウォリス木型などの構成が存在する。配列型乗算器の部分積加算部は、図15に示すように全加算器(FA)をアレイ状に多数段接続する。最大で2(N−1)個の全加算器を通過する信号パスが存在するため、演算時間はこの加算過程に律速される。
【0009】
ウォリス木型乗算器の部分積加算部は、図16に示すように、同一桁内の加算を並列化することで、FAの段数を減らして高速化を行っている。また各桁の桁上げを処理するために、最後に桁上げ先見加算器(Carry Lookahead Adder:CLA)を用いている。
【0010】
ここで、全加算器を光パスゲートで実現した例を、図17を用いて説明する(非特許文献4)。この全加算器は、強度情報が“1”の光信号を出力する光源501,502と、pass/block型の光ゲート503,504と、pass/cross型の光ゲート505〜507と、OE変換器508〜510とを備える。
【0011】
OE変換器508,509は、光信号xiを電気信号に変換する。OE変換器510は、光信号yiを電気信号に変換する。なお、xiの代わりに光信号yiをOE変換器508に入力してもよい。
光ゲート503は、電気信号xiが“1”であるときに光源501からの光信号を通過させ、電気信号xiが“0”であるときに光源501からの光信号を遮断する。光ゲート504は、電気信号xiが“1”であるときに光源502からの光信号を遮断し、電気信号xiが“0”であるときに光源502からの光信号を通過させる。なお、xiの代わりに電気信号yiを光ゲート503,504の電気制御入力としてもよい。
【0012】
光ゲート505は、電気信号xi,yiが共に“1”または共に“0”であるときに光ゲート503の出力を選択して出力し、電気信号xiが“1”で電気信号yiが“0”、または電気信号xiが“0”で電気信号yiが“1”であるときに、光信号Ciを選択して出力する。光ゲート506は、電気信号xi,yiが共に“1”または共に“0”であるときに光信号Ciを選択して出力し、電気信号xiが“1”で電気信号yiが“0”、または電気信号xiが“0”で電気信号yiが“1”であるときに、光信号バーCiを選択して出力する。光ゲート507は、電気信号xi,yiが共に“1”または共に“0”であるときに光ゲート504の出力を選択して出力し、電気信号xiが“1”で電気信号yiが“0”、または電気信号xiが“0”で電気信号yiが“1”であるときに、光信号バーCiを選択して出力する。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】J. Hardy et al., "Optics inspired logic architecture", Optics Express, vol. 15, no. 1, pp. 150-165, 2007.
【非特許文献2】Q. Xu et al., "Reconfigurable optical directed-logic circuits using microresonator-based optical switches", Optics Express, vol. 19, no. 6, pp. 5244-5259, 2011.
【非特許文献3】浅井哲也 他、「二分決定グラフにもとづくフォトニック結晶集積デバイス」、2000年電子情報通信学会総合大会講演論文集、 386−387頁、2000年。
【非特許文献4】石原亨 他、「光パスゲート論理に基づく並列加算回路の提案と光電混載回路シミュレータによる動作検証」、信学技報、 vol. 116, no. 94, pp. 109−114頁、2016年。
【発明の概要】
【発明が解決しようとする課題】
【0014】
上述した全加算器では、光信号xi、yiをOE変換する必要があるため、FAの数に対応するOE変換回数が必要になる。またこの回数は、入力の桁数に依存し、かつ、OE変換時間は光パスゲートにおける伝播遅延時間の数倍〜数十倍であるため、入力桁の多いほどOE変換に要する遅延時間が支配的となり、高速な演算処理が行えない。以上の理由から、配列型乗算器およびウォリス木型乗算器の構成は、より高速な光並列乗算器の構成としては適していないといえる。上述した全加算器は、2進数で部分積加算を演算するために用いられており、このことにより、乗算の演算速度がOE変換で律速される原因となっている。
【0015】
本発明は、以上のような問題点を解消するためになされたものであり、より高速に光乗算ができるようにすることを目的とする。
【課題を解決するための手段】
【0016】
本発明に係る光乗算器は、Nビット(Nは2以上の整数)の第1デジタル信号と、Nビットの第2デジタル信号とによるN×N個の部分積を生成する部分積生成部と、部分積を桁統合しながら加算して加算値を生成する加算部と、加算値をアナログデジタル変換してデジタル値を生成する変換部と、デジタル値をデジタル加算するデジタル加算部とを備える。
【0017】
上記光乗算器において、部分積生成部および加算部は、部分積の生成に対して各々異なる波長の光を対応させて、部分積の生成および加算値の生成を波長多重で同時に処理する。
【0018】
上記光乗算器において、部分積生成部は、2次のブースの方法により部分積を生成する。
【0019】
本発明に係る光乗算方法は、Nビット(Nは2以上の整数)の第1デジタル信号と、Nビットの第2デジタル信号とによるN×N個の部分積を生成する第1ステップと、部分積を桁統合しながら加算して加算値を生成する第2ステップと、加算値をアナログデジタル変換してデジタル値を生成する第3ステップと、デジタル値をデジタル加算する第4ステップとを備える。
【発明の効果】
【0020】
以上説明したことにより、本発明によれば、より高速に光乗算ができるという優れた効果が得られる。
【図面の簡単な説明】
【0021】
図1図1は、本発明の実施の形態における光乗算器の構成を示す構成図である。
図2図2は、本発明の実施の形態における光乗算方法を説明するためのフローチャートである。
図3図3は、本発明の概念を説明するための説明図である。
図4図4は、部分積生成部101の構成例を示す構成図である。
図5図5は、4ビットの乗算におけるziの2進数への変換工程を説明するための説明図である。
図6A図6Aは、桁統合を施さない場合の16ビットの乗算におけるziの2進数への変換工程を示す説明図である。
図6B図6Bは、桁統合を施した場合の16ビットの乗算におけるziの2進数への変換工程を示す説明図である。
図7A図7Aは、加算部102を構成する回路について説明する構成図である。
図7B図7Bは、方向性結合器201の構成例を示す構成図である。
図8A図8Aは、変換部103の構成例を示す構成図である。
図8B図8Bは、符号化器203の構成例を示す構成図である。
図9図9は、部分積生成部101および加算部102における波長多重による構成例を示す構成図である。
図10図10は、16ビット×16ビットの乗算を説明するための説明図である。
図11図11は、2次のブースの方法による符号化回路の構成例を示す構成図である。
図12図12は、2次のブースの方法と波長多重を併用した構成例を示す構成図である。
図13図13は、16ビット×16ビットの場合において、波長多重化と2次のブースの符号化を行う状態を説明するための説明図である。
図14図14は、4ビットの整数x3210とy3210に対する乗算の計算過程を示す説明図である。
図15図15は、配列型乗算器の部分積加算部の構成を示す構成図である。
図16図16は、ウォリス木型乗算器の部分積加算部の構成を示す構成図である。
図17図17は、光パスゲートで実現した全加算器の構成を示す構成図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態における光乗算器について図1を参照して説明する。この光乗算器は、部分積生成部101、加算部102、変換部103、デジタル加算部104を備える。
【0023】
部分積生成部101は、Nビット(Nは2以上の整数)の第1デジタル信号と、Nビットの第2デジタル信号とによるN×N個の部分積を生成する。加算部102は、生成されたN×N個の部分積を桁統合しながら加算して加算値を生成する。変換部103は、加算部102が生成した加算値をアナログデジタル変換してデジタル値を生成する。デジタル加算部104は、変換部103が生成したデジタル値をデジタル加算する。
【0024】
ここで、後述するように、部分積生成部101および加算部102は、部分積の生成に対して各々異なる波長の光を対応させて、部分積の生成および加算値の生成を波長多重で同時に処理することで、より高速な演算が可能となる。また、後述するように、部分積生成部101は、2次のブースの方法により部分積を生成するとよい。
【0025】
次に、本発明における光乗算方法について、図2のフローチャートを用いて説明する。まず、第1ステップS101で、部分積生成部101が、Nビット(Nは2以上の整数)の第1デジタル信号と、Nビットの第2デジタル信号とによるN×N個の部分積を生成する。
【0026】
次に、第2ステップS102で、加算部102が、生成された部分積を桁統合しながら加算して加算値を生成する。次に、第3ステップS103で、変換部103が、生成された加算値をアナログデジタル変換してデジタル値を生成する。次に、第4ステップS104で、デジタル加算部104が、生成されたデジタル値をデジタル加算する。
【0027】
上述したように、本発明では、部分積生成部101で部分積を生成した後の部分積の加算を、2進数演算に限定しない構成を採用したところに特徴がある。本発明では、部分積生成部101で部分積を生成(S101)した後、図3に示すように、加算部102で、桁統合を伴うアナログ加算により加算値を生成し(S102)、出力されたアナログデータを変換部103でAD変換し(S103)、デジタル加算部104で桁上げ処理する(S104)ことで、乗算結果を得る。
【0028】
上述した構成とすることで、アナログ加算は、光の電界の足し算で実現できるため、光の干渉を用いて実行できる。これにより、アナログ加算時の電気への変換(OE変換)は不要となる。また桁統合を行うことによりデジタル加算回数を削減し、この際に必要なOE変換の回数を削減する。
【0029】
上述したことにより、本発明によれば、従来型の乗算器に比べて圧倒的にOE変換の回数が削減され、演算時間の短縮が可能となる。
【0030】
以下、より詳細に説明する。はじめに、部分積生成部101についてより詳細に説明する。部分積生成部101は、図4に例示するように、光源111と、1×1光パスゲート112と、1×1光パスゲート113とから構成すればよい。1×1光パスゲート112と、1×1光パスゲート113とは、シリアルに接続する。1×1光パスゲート112への電気制御入力をxiとし、1×1光パスゲート113への電気制御入力をyiとする。電気制御入力が1の時のみ信号を透過させるように設定すれば、1×1光パスゲート112および1×1光パスゲート113の両者が透過状態になる電気信号の組み合わせ、つまり、xij=1の場合のみ光が出力される。これにより部分積を実現する。
【0031】
次に、加算部102についてより詳細に説明する。まず、加算部102における桁統合について説明する。例えば、図14を用いて説明した乗算の計算過程において、pijはxiとyjの部分積である。ここで、同一桁内の部分積の和(アナログ和)をziとする。例えばz2=p20+p11+p02である。Nビット×Nビット(Nは2以上の整数)の乗算の場合、ziは、N個の部分積の和により求められるため、最大Nまでの値をとる。この値から2進数の乗算結果であるSiを得るためには、ziを複数ビットの2進数に変換し、デジタル加算器を用いて桁上げ処理を施す必要がある。
【0032】
図5に、4ビットの乗算におけるziの2進数への変換工程を示す。また、図6A図6Bに、16ビットの乗算におけるziの2進数への変換工程を示す。まず、桁統合を施さない場合の処理工程について、図5の(a)および図6Aを参照して説明する。この場合、各桁において円、四角形、三角形、六角形、グレーの円、グレーの四角形、グレーの六角形の中の各数字は、当該桁が取り得る最大の整数であり、このことは、Nビットの乗算でlog2(N)回のデジタル加算がAD変換後に発生することを示している。AD変換後のデジタル加算の回数は、4ビット×4ビットなら2回(3行分の加算)、16ビット×16ビットなら4回(5行分の加算)となる。
【0033】
次に、桁統合を施す場合の処理について、図5の(b)および図6Bを参照して説明する。ここでは、4ビット×4ビット[図5の(a)]、16ビット×16ビット[図6B]の乗算において、それぞれk=2、4としてk桁統合を実施している。これにより、AD変換の後に発生するデジタル加算の回数を1回(2行分の加算)に削減することができる。
【0034】
例えば、図5の(b)に示すように、部分積の和であるz7、・・・、z0の8個を、それぞれ2個ずつに区切り、合計4個の集合に分割する。それぞれの集合に対し、2個の部分積加算結果を1つのアナログ量とみなしてDA変換を行う。ここでは、この操作を2桁単位の統合と呼ぶ。例えば、z0およびz1の2桁単位の統合z0、1とは、アナログ量2z1+z0を求めることである。一般に、部分積の加算結果をk桁ずつ統合してDA変換を行う場合、最下位側から数えてn番目の集合に対するk桁単位の統合zn、n+k-1は次式で与えられる。
【0035】
【数1】
【0036】
次に、統合して得られた系列zn、n+k-1をAD変換で2進数に変換する。ここで、AD変換によって得られる2進系列は、定数行(ここでは2行)にまとめることができる。最後に、定数行にまとめられた2進系列をデジタル加算することで、最終的な乗算結果が得られる。
【0037】
次に、加算部102における加算(アナログ加算)について、図7A図7Bを参照して説明する。図7Aは、図3を用いて説明した同一桁内の部分積加算znと、k桁単位の統合zn、n+k-1の演算を回路化した構成を示しており、方向性結合器201と減衰器202とから構成している。方向性結合器201は、図7Bに示すように、2つの光導波路から構成されて一方の光導波路に位相器201aを備え、干渉によって2つの光信号の電界の和をとるものである。方向性結合器201をツリー状に接続することで、同一桁内の部分積のアナログ加算と、桁統合の演算を行うことができる。
【0038】
2桁単位の統合については、スプリッタなどによる減衰器202により、下位ビットziの信号強度(光の電界強度)が上位ビットzi+1の信号強度(光の電界強度)の半分になる、すなわちzi=zi+1/2が成り立つように下位ビットziの信号強度を減衰させてから、方向性結合器201で2桁分の光を合成する。
【0039】
【数2】
【0040】
次に、変換部103について、より詳細に説明する。部分積生成部101および加算部102で得られる結果zi、jはアナログ値であるため、AD変換を行うことで2進数の系列へ変換する。アナログ値のNビットのデジタル値の関係は、例えば、以下の表1に示すものとなり、out0、out1、out2のデジタル値は、アナログ値に対して周期的に変化している。
【0041】
【表1】
【0042】
このような周期的な変化は、干渉計の位相をアナログ値で制御し、出力される光信号強度を閾値処理することで、デジタル光信号を容易に得ることができる。これらの変換部103の機能は、光非線形処理やOE変換を用いて実現することができる。変換部103は、例えば、図8Aに示すように、3つの符号化器203と3つの閾値処理器204とから構成することができる。符号化器203は、図8Bに示すように、よく知られたマッハツェンダー干渉計205から構成できる。マッハツェンダー干渉計205の一方のアームに設けられた加熱部206に、入力信号が入力される。
【0043】
次に、デジタル加算部104について、より詳細に説明する。変換部103で生成したデジタル値に対し、2Nビットの2進数定数行分のデジタル加算を実行することにより、乗算結果の2進数出力を得る。2行分のデジタル加算となる場合であれば、非特許文献4で提案されている光パスゲート論理に基づく並列加算器を用いることで、高速に演算することができる。
【0044】
例えば、まず、図17を用いて説明した全加算器のCiとCi+1,Ciの補数とCi+1の補数が、連続的に接続されるように全加算器をシリアルに接続した光並列加算器を用いる。図3で説明したデジタル加算による桁上げ処理(S104)における2行のデジタル値のそれぞれを、上記構成とした光並列加算器における全加算器のx側、y側に入力することにより、桁上げ処理を実行し、2進数の乗算値Siを得る。3行以上のデジタル加算の場合は、上述した上記光並列加算器を複数段接続することで実現できる。
【0045】
次に、部分積生成部101および加算部102における波長多重について説明する。上述した加算部102における桁上げと加算の過程では、OE変換が含まれない。このため図9の(a)に示すように、1×1光パスゲート112および1×1光パスゲート113による部分積生成部分と、リング共振器207と、減衰器202とを用い、異なる複数の乗算における部分積の生成に対して異なる波長を振り分けることで、異なる複数の乗算における実施の形態における光乗算器の演算過程を波長多重で同時に処理することが可能となる。なお、図9の(a)は、図9の(b)の枠301内の処理を実施する部分の構成について示している。
【0046】
次に、部分積生成部101における2次のブースの方法による部分積の生成について説明する。上述した加算部102におけるアナログ加算と桁統合の過程では、桁数Nの増加によってk桁統合後の値の最大値が増加した場合に、その後段のAD変換において不具合が生じる可能性がある。例えばk=4では統合後のzの最大値が229となり、後段のAD変換では0〜229の値に対して変換を行う必要があり、AD変換の線形性が保証できない可能性がある。
【0047】
この問題の緩和案として、2次のブースの方法を利用することが考えられる。2次のブースの方法は、部分積の計算の際に、乗数の隣接する3ビットの値に応じて被乗数の加算量および減算量を変更する。この方法は、図14を用いて説明したような単純な部分積の加算と比較し、多くの場合で部分積の加算回数を効率的に削減することができる。2次のブースの方法は、以下の表2に示す符号化規則を用いる。
【0048】
【表2】
【0049】
部分積計算の際に、乗数の隣接する3ビットの値に応じて0、±X、±2Xを部分積として使用する。これにより、図10に示すような16ビット×16ビットの乗算においては、部分積の加算を16行から9行に削減することが可能となり、その結果、桁統合をk=4(図6B)からk=3に削減し、統合後のzの最大値を229から58に削減できる。
【0050】
2次のブースの方法による符号化回路を図11に示す。符号化回路は、方向性結合器201を用いている。被乗数Xは、光信号として入力し、乗数Yは電気信号として入力している。ただし、部分積1つ分の符号化であるので、実際にはこの回路が部分積の個数分必要となる。例えば、16ビット×16ビットの場合では、16×9個の符号化回路が必要となる。
【0051】
次に、2次のブースの方法と波長多重を併用することで、ブースの符号化回路の個数を削減する方法について説明する。図12に、2次のブースの方法と波長多重を併用した回路構成を示す。この回路は、方向性結合器201、リング共振器207、1はパス(pass)、0はブロック(block)のpass/blockゲート208,0はパス(pass)、1はブロック(block)のpass/blockゲート209から構成されている。
【0052】
以下、表2に示した部分積0、X、−X、2X、−2Xの演算について説明する。
【0053】
部分積がXの場合、被乗数Xの各ビット、すなわち、xN-1、xN-2、・・・、x0に対し、それぞれλN-1、λN-2、・・・、λ0の波長を割り当て、波長多重化を行う。電気信号xN-1、xN-2、・・・、x0を、pass/blockゲート208に入力し、各波長の光のON/OFFを制御する。
【0054】
部分積が2Xの場合は、Xの場合と比べて波長を1ビット左にシフトさせればよい。これはXの2倍の値を取ることに対応する。
【0055】
部分積が−Xの場合は、Xの補数を用いればよい。つまりpass/blockゲート209を用いればよい。この場合、2N−1桁まで符号拡張を行う必要がある。部分積が−2Xの場合は、−Xの場合と比べて波長を1ビット左にシフトさせればよい。これは−Xの2倍の値を取ることに対応する。
【0056】
以上の波長多重操作により、16ビット×16ビットの場合において、ブースの符号化回路の個数を、16×9個から9個へ1/16に削減することができる。
【0057】
16ビット×16ビットの場合において、波長多重化と2次のブースの符号化を行った結果を図13に示す。ブースの符号化後の部分積加算を行う際には、波長多重化した信号から特定の波長を取り出すことで、それぞれの桁の部分積加算を行うことが可能である。この場合の部分積加算は、波長の異なる光信号の加算になる。異波長光信号の加算は、異波長の光信号を合波し、合波した光信号をフォトダイオードにより電流に変換することで実現できる。ただしこの場合、波長多重によってブースの符号化回路の個数を削減しているため、波長多重を用いて複数乗算を同時処理することによる演算の高速化の効果は得られない。
【0058】
以上に説明したように、本発明によれば、部分積を桁統合しながら加算して加算値を生成し、この加算値をアナログデジタル変換してデジタル値を生成し、デジタル値をデジタル加算するようにしたので、より高速に光乗算ができるようになる。
【0059】
なお、本発明は以上に説明した実施の形態に限定されるものではなく、本発明の技術的思想内で、当分野において通常の知識を有する者により、多くの変形および組み合わせが実施可能であることは明白である。
【符号の説明】
【0060】
101…部分積生成部、102…加算部、103…変換部、104…デジタル加算部。
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図8A
図8B
図9
図10
図11
図12
図13
図14
図15
図16
図17