IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ フィンチェット・リミテッドの特許一覧

特表2024-514550算術演算を実行するための装置および方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-02
(54)【発明の名称】算術演算を実行するための装置および方法
(51)【国際特許分類】
   G06E 3/00 20060101AFI20240326BHJP
   G02F 3/00 20060101ALI20240326BHJP
   G02F 1/37 20060101ALN20240326BHJP
   G02F 1/39 20060101ALN20240326BHJP
【FI】
G06E3/00
G02F3/00 501
G02F1/37
G02F1/39
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023561026
(86)(22)【出願日】2022-03-30
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 GB2022050801
(87)【国際公開番号】W WO2022208085
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】2104684.2
(32)【優先日】2021-03-31
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】523374714
【氏名又は名称】フィンチェット・リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マイケル・パーシー
(72)【発明者】
【氏名】マーク・ラッシュウォース
【テーマコード(参考)】
2K102
【Fターム(参考)】
2K102AA06
2K102AA07
2K102AA08
2K102AA09
2K102AA37
2K102BA18
2K102BA31
2K102BB02
2K102BC01
2K102DA01
2K102DA10
2K102DA20
2K102DC07
2K102DC08
2K102DD05
2K102EA21
2K102EB06
2K102EB20
(57)【要約】
所定の基数および算術論理演算装置において算術演算を実行するための装置および方法が提供される。一例において、装置は非線形媒質を備える。装置は、非線形媒質に向けて第1の周波数帯域および第2の周波数帯域における光子を出力するための1つまたは複数の光子源をさらに備え、第1の周波数帯域は第1の数値を表し、第2の周波数帯域は第2の数値を表す。装置は、少なくとも1つの数値を示す信号を受信する入力をさらに備える。装置は、信号に応じて、第1の周波数帯域および第2の周波数帯域のうちの少なくとも一方を選択するロジックをさらに備える。装置は、第1の周波数帯域および第2の周波数帯域のうちの少なくとも一方における1つまたは複数の光子源の少なくとも1つからの光子が非線形媒質に入射したことに応答して非線形媒質から出力された第3の周波数帯域内の光子を検出するように構成された検出器をさらに備え、第3の周波数帯域は第3の数値を表す。非線形媒質に入射した光子は、非線形媒質の非線形現象に曝され、第1の数値および第2の数値のうちの一方または両方に算術演算を実行して第3の数値を生成する。
【特許請求の範囲】
【請求項1】
所定の基数で算術演算を実行するための装置であって、
非線形媒質と、
前記非線形媒質に向けて第1の周波数帯域および第2の周波数帯域における光子を出力するための1つまたは複数の光子源であって、前記第1の周波数帯域は、第1の数値を表し、前記第2の周波数帯域は、第2の数値を表す、1つまたは複数の光子源と、
少なくとも1つの数値を示す信号を受信する入力と、
前記信号に応じて、前記第1の周波数帯域および第2の周波数帯域のうちの少なくとも一方を選択するロジックと、
前記第1の周波数帯域および第2の周波数帯域のうちの前記少なくとも一方における前記1つまたは複数の光子源のうちの少なくとも1つからの光子が前記非線形媒質に入射したことに応答して前記非線形媒質から出力された第3の周波数帯域内の光子を検出するように構成された検出器であって、前記第3の周波数帯域は、第3の数値を表す、検出器と
を備え、
前記非線形媒質に入射した前記光子は、前記非線形媒質の非線形現象に曝され、前記第1の数値および前記第2の数値のうちの一方または両方に算術演算を実行して、前記第3の数値を生成する、装置。
【請求項2】
前記第1の周波数帯域と前記第2の周波数帯域とは異なり、前記第1の数値と前記第2の数値とは異なる、請求項1に記載の装置。
【請求項3】
前記1つまたは複数の光子源のうちの少なくとも1つは、前記ロジックによる選択に応答して光子を出力するように構成される、請求項1または請求項2に記載の装置。
【請求項4】
前記検出器は、前記第3の数値を表す電気信号を出力するように構成される、請求項1から3のいずれか一項に記載の装置。
【請求項5】
前記1つまたは複数の光子源は、前記非線形媒質に向けて第1の周波数帯域内の光子を出力するための第1の光子源と、前記非線形媒質に向けて第2の周波数帯域内の光子を出力するための第2の光子源とを含む、請求項1から4のいずれか一項に記載の装置。
【請求項6】
前記ロジックは、前記信号に応じて、前記第1の光子源および前記第2の光子源のうちの少なくとも一方を選択する、請求項5に記載の装置。
【請求項7】
光子を出力するために前記ロジックによって選択される光子源の数は、前記算術演算に基づく、請求項5または請求項6に記載の装置。
【請求項8】
前記装置内の光子源の数は、前記算術演算の前記基数に対応する、請求項5から7のいずれか一項に記載の装置。
【請求項9】
前記非線形媒質に向けて前記第1の光子源および前記第2の光子源によって出力される前記光子は、前記非線形媒質に入射する単一ビームに結合される、請求項5から8のいずれか一項に記載の装置。
【請求項10】
前記装置は、少なくとも1つのさらなる光子源を備え、各光子源は、前記非線形媒質に向けて異なる数値を表す異なるそれぞれの周波数帯域内の光子を出力するためのものであり、
前記信号は、さらなる数値を示し、
前記ロジックは、前記信号に基づいて、前記少なくとも1つのさらなる光子源のうちのさらなる光子源を選択するようにさらに構成され、
前記さらなる光子源は、前記ロジックによる選択に応答して光子を出力するように構成される、請求項5から9のいずれか一項に記載の装置。
【請求項11】
前記装置は、前記入力と前記ロジックとを含むコントローラをさらに備え、前記コントローラは、前記ロジックに基づいて光子を出力するために前記少なくとも1つの数値に対応する出力周波数帯域を有する前記1つまたは複数の光子源のみに1つまたは複数の選択信号を出力するように構成される、請求項5から10のいずれか一項に記載の装置。
【請求項12】
前記コントローラの前記入力は、前記算術演算の実行対象となる少なくとも1つの数値を示す電気信号またはフォトニック信号を受信するように構成される、請求項11に記載の装置。
【請求項13】
前記1つまたは複数の選択信号は、電気信号またはフォトニック信号である、請求項11または請求項12に記載の装置。
【請求項14】
前記装置は、前記非線形媒質に向けて、前記第1の周波数帯域および前記第2の周波数帯域とは異なるさらなる周波数帯域内の光子を出力するためのさらなる光子源を備え、前記さらなる周波数帯域は、第4の数値を表し、
前記非線形媒質に入射した前記光子は、前記非線形媒質の前記非線形現象に曝され、前記第4の数値ならびに前記第1の数値および前記第2の数値のうちの一方または両方に算術演算を実行して、前記第3の数値を生成する、請求項5から13のいずれか一項に記載の装置。
【請求項15】
前記第1の光子源は、前記第1の周波数帯域および前記第2の周波数帯域とは異なるさらなる周波数帯域内の光子を出力するようにさらに構成され、前記さらなる周波数帯域は、第4の数値を表し、
前記ロジックは、前記第1の光子源の前記第1の周波数帯域および前記さらなる周波数帯域のうちの一方を選択する、請求項5から14のいずれか一項に記載の装置。
【請求項16】
前記第2の光子源は、前記第1の周波数帯域、前記第2の周波数帯域、および前記さらなる周波数帯域とは異なる第2のさらなる周波数帯域内の光子を出力するようにさらに構成され、前記第2のさらなる周波数帯域は、第5の数値を表し、
前記ロジックは、前記第2の光子源の前記第2の周波数帯域および前記第2のさらなる周波数帯域のうちの一方を選択する、請求項15に記載の装置。
【請求項17】
前記ロジックは、前記算術演算を実行するのに必要な数値に基づいて、前記第1の光子源および前記第2の光子源の周波数帯域を選択する、請求項16に記載の装置。
【請求項18】
前記第1の光子源の前記第1の周波数帯域およびさらなる周波数帯域は重なり合わず、前記第2の光子源の前記第2の周波数帯域および前記第2のさらなる周波数帯域は重なり合わない、請求項15から17のいずれか一項に記載の装置。
【請求項19】
前記1つまたは複数の光子源は、前記非線形媒質に向けて第1の周波数帯域および第2の周波数帯域内の光子を出力するための第1の光子源を含む、請求項1から4のいずれか一項に記載の装置。
【請求項20】
前記ロジックによって選択される周波数帯域の数は、前記算術演算に基づく、請求項19に記載の装置。
【請求項21】
前記第1の光子源は、前記算術演算の前記基数に対応する複数の周波数帯域内の光子を出力するためのものである、請求項19または請求項20に記載の装置。
【請求項22】
前記第1の光子源によって出力される前記光子は、前記非線形媒質に入射する単一ビーム内にある、請求項19から21のいずれか一項に記載の装置。
【請求項23】
前記非線形媒質は、複屈折性結晶である、請求項1から22のいずれか一項に記載の装置。
【請求項24】
各光子源は、レーザーダイオードである、請求項1から23のいずれか一項に記載の装置。
【請求項25】
前記1つまたは複数の光子源の周波数帯域は、重なり合わない、請求項1から24のいずれか一項に記載の装置。
【請求項26】
各周波数帯域内で出力される光子の大半は、その周波数帯域内の単一の周波数にある、請求項1から25のいずれか一項に記載の装置。
【請求項27】
前記非線形媒質から出力された前記光子を受光するように構成されたフィルタであって、前記第3の周波数帯域内の周波数を有する光子のみが前記フィルタを通って前記検出器に伝搬するように前記光子をフィルタリングするように構成されたフィルタをさらに備える、請求項1から26のいずれか一項に記載の装置。
【請求項28】
前記算術演算は、加算、減算、乗算、除算、シフト、論理演算、およびビット操作のうちの1つである、請求項1から27のいずれか一項に記載の装置。
【請求項29】
前記算術演算は、2より大きい基数の演算である、請求項1から28のいずれか一項に記載の装置。
【請求項30】
前記第3の数値が、前記基数によって許容可能な最大の数値を超える場合、前記第3の数値に付加された桁上げビットがセットされる、請求項1から29のいずれか一項に記載の装置。
【請求項31】
前記算術演算は、加算であり、前記非線形現象は、和周波発生である、請求項1から30のいずれか一項に記載の装置。
【請求項32】
請求項1から31のいずれか一項に記載の装置である1つまたは複数の装置を備える、算術論理演算装置(ALU)。
【請求項33】
前記1つまたは複数の装置のうちの少なくとも2つの装置は、異なる算術演算を実行するためのものであり、
各装置の前記入力において受信される前記信号は、算術演算の種類および前記少なくとも1つの数値に基づく、請求項32に記載のALU。
【請求項34】
実行されるべき算術演算の前記種類および前記算術演算の実行対象となる前記少なくとも1つの数値を示す少なくとも1つの命令信号を受信し、
前記種類の算術演算を実行するために信号を前記装置のみに出力する
ように構成されているコントローラを備える、請求項33に記載のALU。
【請求項35】
前記命令信号は、電気信号またはフォトニック信号である、請求項34に記載のALU。
【請求項36】
同じ算術演算を実行するための2つの装置は、
第2の装置の第1の光子源が、第1の装置から出力された前記第3の数値を表す前記第3の周波数帯域内の光子を出力するように構成され、前記第2の装置の前記第1の光子源または第2の光子源が、第4の数値を表すさらなる周波数帯域内の光子を出力するように構成され、それにより、前記算術演算が、前記第4の数値ならびに前記第1の数値および前記第2の数値のうちの一方または両方に対して実行される
ように、カスケード構成で配置される、請求項32から35のいずれか一項に記載のALU。
【請求項37】
非線形媒質を使用して所定の基数で算術演算を実行するための方法であって、
第1の数値を示す信号を受信するステップと、
前記信号に応じて、第1の光子源の第1の周波数帯域を選択するステップと、
前記第1の光子源から前記非線形媒質に向けて前記第1の周波数帯域内の光子を出力するステップであって、前記第1の周波数帯域は、前記第1の数値を表す、ステップと、
前記光子源からの光子が前記非線形媒質に入射したことに応答して前記非線形媒質から出力された第3の周波数帯域内の光子を検出するステップであって、前記第3の周波数帯域は、第3の数値を表す、ステップと
を含み、
前記非線形媒質に入射した前記光子は、前記第1の数値に算術演算を実行して前記第3の数値を生成する前記非線形媒質の非線形現象に曝される、方法。
【請求項38】
前記信号は、第2の数値をさらに示し、前記方法は、
前記信号に応じて、前記第1の光子源または第2の光子源の第2の周波数帯域を選択するステップと、
前記第1の光子源または前記第2の光子源から前記非線形媒質に向けて前記第2の周波数帯域内の光子を出力するステップであって、前記第2の周波数帯域は、前記第2の数値を表す、ステップと、
両方の周波数帯域内の光子が前記非線形媒質に入射したことに応答して前記非線形媒質から出力された第3の周波数帯域内の光子を検出するステップと
をさらに含み、
前記非線形媒質に入射した前記光子は、前記第1の数値および前記第2の数値に対して算術演算を実行して前記第3の数値を生成する前記非線形媒質の前記非線形現象に曝される、請求項37に記載の方法。
【請求項39】
フォトニック制御ユニットであって、
少なくとも2つの行および少なくとも2つの列を有するフォトニック要素の2次元アレイと、
命令を示す命令ビームを受光し、前記命令ビームの特性に基づいて、前記命令ビームを前記少なくとも2つの行のうちの少なくとも1つの行内に屈折させるための第1の屈折器と、
数値を示す数値ビームを受光し、前記数値ビームの特性に基づいて、前記数値ビームを前記少なくとも2つの列のうちの少なくとも1つの列内に屈折させるための第2の屈折器と
を備え、
前記命令ビームおよび前記数値ビームは、少なくとも1つのフォトニック要素において交差し、前記フォトニック要素に、前記命令および前記数値を示す制御信号を出力させる、フォトニック制御ユニット。
【請求項40】
請求項32から36のいずれか一項に記載のALUと、請求項39に記載のフォトニック制御ユニットとを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、算術演算を実行するための装置および方法、特に、フォトニクスを利用して算術演算を実行する装置に関する開示を提供する。
【背景技術】
【0002】
CPUとも称される現在のプロセッサは、動作するために電子トランジスタに依存しており、電子トランジスタは、プロセッサを通る電子の流れを制御する。過去数十年間、プロセッサは、チップに組み込まれるトランジスタの数が約2年毎に倍増することを示唆するムーアの法則によって発展を推進されてきた。しかしながら、2016年以降、ムーアの法則は、半導体産業がサブミクロン微細化の基本的限界に近づくにつれ、減速している。スマートデバイスの数と種類が増え続けるにつれて、サイズに妥協することなく、より強力なプロセッサに対する需要が高まっている。
【0003】
プロセッサの基本的な態様の1つは、算術論理演算装置(ALU)である。ALUは、プロセッサが動作するのに必要な2進数に対してCPUが算術演算を実行することを可能にする。これらの算術演算は、CPUの基本的な構成要素であり、したがって、ALUはCPUが動作している間、常に使用されている。
【0004】
しかしながら、半導体産業がサブミクロン微細化の基本的限界に近づいていることに起因して、ALUのサイズを縮小し、ALUの速度およびパワーを向上させることは、もはや容易ではない。さらに、さらなる改善はより複雑になり、製造時の欠陥の可能を高める。これは、結果として、そのようなCPUは信頼性を低下させる。さらに、いかなる改善を加えようと、その複雑さに比較してプロセッサパワーの最低限の改善しかもたらさず、したがって製造の複雑さの欠点が、プロセッサパワーの改善の利点を上回ることが多い。
【0005】
上記の文脈において、本開示が考え出された。
【発明の概要】
【発明が解決しようとする課題】
【0006】
CPU内で、一般的には電子デバイス内でフォトニクスを利用してデータを定義し、操作し、転送し、記憶することは、電気信号に勝る著しい利点をもたらすが、それは、光子は極めて高速であり、したがって通常の電子回路の伝搬遅延よりも短い時間でデータを伝送するかまたは処理することができ、光子は制御可能であり、したがって容易に操作することができ、光子は、操作に必要なエネルギーが少なく、したがってより持続可能であり、フォトンは、熱の発生が少なく、したがってCPUの性能制約またはコンポーネント故障を結果としてもたらす過熱を引き起こす可能性が低い。したがって、ALUの速度およびパワーを向上させるために、ALUは、電気信号の代わりに、または電気信号に加えてフォトニック信号を使用して動作し得る。電気信号を使用して実行された算術演算は、したがって、フォトニック信号を使用して実行される可能性があり、既存の2進数演算インフラストラクチャは複製されるが、たとえば光トランジスタを使用して、少なくとも部分的にフォトニクスに置き換えられる。これは、ALUの速度および持続可能性を高め得る。
【0007】
しかしながら、そのようなALUは、既存の電子ALUと比較して段階的変化をもたらさず、既存の2進数インフラストラクチャを使用することに起因して柔軟性を欠いており、新規性のあるフォトニックコンポーネントを同等のものと置き換えて適切に確立された電子コンポーネントおよびシステム製造方法に変えることによってコストと複雑さを増大させる。
【課題を解決するための手段】
【0008】
本発明者らは、既存のALUコンポーネントを、フォトニック信号の特性を受け取り利用する本明細書において説明されているような装置に置き換えれば柔軟で汎用性の高いALUが得られることに気付いた。そのようなALUは、一般的なコンピューティングで使用される多種多様な算術演算を実行することができ、特定のユースケースに合わせて手直しされ得る。これは、フォトニック信号は、周波数、波長、エネルギー、位相、スピン、および偏光などの微分可能な多くの固有の特性を有しており、したがって、データを定義し解釈するために使用され得るからである。
【0009】
特に、本発明者らは、非線形媒質中のフォトニック信号の挙動を利用することによって算術演算を実行すれば、そのような演算が実行されるのに必要なコンポーネントの数が少ないことに起因して、低レイテンシーで高速に、低いコストで、低電力で、かつ、小さいデバイスフットプリントで算術演算を実行する装置が実現されることに気付いた。CPUのALU内でそのような装置を使用することで、CPUの速度を上げ、コスト、サイズ、エネルギー要件を低減し得る。さらに、そのような装置は、任意の基数で動作し、算術演算を実行するように適合させ得るので柔軟性をもたらす。
【0010】
したがって、本発明の一態様によれば、所定の基数で算術演算を実行するための装置が提供される。この装置は、非線形媒質を備える。この装置は、非線形媒質に向けて第1の周波数帯域および第2の周波数帯域における光子を出力するための1つまたは複数の光子源をさらに備え、第1の周波数帯域は第1の数値を表し、第2の周波数帯域は第2の数値を表す。装置は、少なくとも1つの数値を示す信号を受信する入力をさらに備える。装置は、信号に応じて、第1の周波数帯域および第2の周波数帯域のうちの少なくとも一方を選択するロジックをさらに備える。装置は、第1の周波数帯域および第2の周波数帯域のうちの少なくとも一方における1つまたは複数の光子源のうちの少なくとも1つからの光子が非線形媒質に入射したことに応答して非線形媒質から出力された第3の周波数帯域内の光子を検出するように構成された検出器をさらに備え、第3の周波数帯域は第3の数値を表す。非線形媒質に入射した光子は、非線形媒質の非線形現象に曝され、第1の数値および第2の数値のうちの一方または両方に算術演算を実行して第3の数値を生成する。
【0011】
第1の周波数帯域と第2の周波数帯域とは異なっていてもよく、第1の数値と第2の数値とは異なっていてもよい。
【0012】
1つまたは複数の光子源のうちの少なくとも1つは、ロジックによる選択に応答して光子を出力するように構成され得る。代替的に、1つまたは複数の光子源は、光子を使用中に連続的に出力し、1つまたは複数の光子源によって出力された光子は、ロジックによる選択に応答して非線形媒質に向けて選択的に伝搬され得る。
【0013】
検出器は、第3の数値を表す電気信号を出力するように構成され得る。
【0014】
1つまたは複数の光子源は、非線形媒質に向けて第1の周波数帯域内の光子を出力するための第1の光子源と、非線形媒質に向けて第2の周波数帯域内の光子を出力するための第2の光子源とを含み得る。各光子源から出力される光子の大部分は、その光子源の周波数帯域内の単一の周波数にあってもよい。
【0015】
ロジックは、信号に応じて第1の光子源および第2の光子源のうちの少なくとも一方を選択するものであってよい。検出器は、第1および第2の光子源の少なくとも一方からの光子が非線形媒質に入射したことに応答して非線形媒質から出力された第3の周波数帯域内の光子を検出するように構成され得る。
【0016】
光子を出力するためにロジックによって選択される光子源の数は、算術演算に基づき得る。
【0017】
装置内の光子源の数は、算術演算の基数に対応し得る。
【0018】
非線形媒質に向けて第1の光子源および第2の光子源によって出力される光子は、非線形媒質に入射する単一ビームに結合され得る。
【0019】
装置は、少なくとも1つのさらなる光子源を備えてよく、各光子源は非線形媒質に向けて異なる数値を表す異なるそれぞれの周波数帯域内の光子を出力するためのものである。信号は、さらなる数値を示し得る。ロジックは、信号に基づいて少なくとも1つのさらなる光子源のうちのさらなる光子源を選択するようにさらに構成され得る。さらなる光子源は、ロジックによる選択に応答して光子を出力するように構成され得る。
【0020】
装置は、入力とロジックとを含むコントローラをさらに備えてよく、コントローラはロジックに基づいて光子を出力するために少なくとも1つの数値に対応する出力周波数帯域を有する1つまたは複数の光子源のみに1つまたは複数の選択信号を出力するように構成される。
【0021】
コントローラの入力は、算術演算の実行対象となる少なくとも1つの数値を示す電気信号またはフォトニック信号を受信するように構成され得る。
【0022】
1つまたは複数の選択信号は、電気信号またはフォトニック信号であってよい。
【0023】
装置は、非線形媒質に向けて第1および第2の周波数帯域とは異なるさらなる周波数帯域内の光子を出力するためのさらなる光子源を備えてよく、さらなる周波数帯域は第4の数値を表す。非線形媒質に入射した光子は、非線形媒質の非線形現象に曝され、第4の数値ならびに第1および第2の数値のうちの一方または両方に算術演算を実行して、第3の数値を生成し得る。
【0024】
第1の光子源は、第1および第2の周波数帯域とは異なるさらなる周波数帯域内の光子を出力するようにさら構成されてよく、さらなる周波数帯域は第4の数値を表す。ロジックは、第1の光子源の第1の周波数帯域およびさらなる周波数帯域のうちの一方を選択するものであってもよい。
【0025】
第2の光子源は、第1、第2、およびさらなる周波数帯域とは異なる第2のさらなる周波数帯域で光子を出力するようにさらに構成されてもよく、第2のさらなる周波数帯域は第5の数値を表す。ロジックは、第2の光子源の第2の周波数帯域および第2のさらなる周波数帯域のうちの一方を選択するものであってもよい。
【0026】
ロジックは、算術演算を実行するのに必要な数値に基づいて第1および第2の光子源の周波数帯域を選択し得る。
【0027】
第1の光子源の第1の周波数帯域およびさらなる周波数帯域は、重なり合わなくてもよい。第2の光子源の第2の周波数帯域および第2のさらなる周波数帯域は、重なり合わなくてもよい。
【0028】
1つまたは複数の光子源は、非線形媒質に向けて第1の周波数帯域および第2の周波数帯域内の光子を出力するための第1の光子源を含み得る。
【0029】
ロジックによって選択される周波数帯域の数は、算術演算に基づき得る。
【0030】
第1の光子源は、算術演算の基数に対応する複数の周波数帯域内の光子を出力するためのものであってよい。
【0031】
第1の光子源によって出力される光子は、非線形媒質に入射する単一ビームであってもよい。
【0032】
非線形媒質は、複屈折性結晶であってもよい。非線形媒質は、ホウ酸バリウムまたはニオブ酸リチウムであってもよい。非線形媒質は、薄膜ニオブ酸リチウムであってよい。ニオブ酸リチウムは、信頼性の高い出力とともにより高い変換効率を達成する。非線形媒質は、たとえばマグネシウムをドープされてよく、それにより変換効率を改善し、結晶を損傷から保護し得る。非線形媒質は、性能特性改善ために亜鉛またはチタンをドープされてもよい。
【0033】
1つまたは複数の光子源の各々は、たとえばレーザーダイオードなどのレーザーであってもよい。
【0034】
1つまたは複数の光子源の周波数帯域は、重なり合わなくてもよい。
【0035】
各周波数帯域において出力される光子の大部分は、周波数帯域内の単一の周波数であってもよい。
【0036】
装置は、非線形媒質から出力された1つまたは複数の光子源から出力された光子を受光するように構成されたフィルタであって、第3の周波数帯域内の周波数を有する光子のみがフィルタを通って検出器に伝搬するように光子をフィルタリングするように構成されたフィルタをさらに備え得る。
【0037】
算術演算は、加算、減算、乗算、除算シフト、論理演算、およびビット操作のうちの1つであってよい。そのような算術演算は、検出器レベルで決定され得るという点で低レベルである。低レベルの算術演算は、累乗、パーセンテージ、対数、および三角関数など、より複雑な算術演算の構成要素として使用され得る。複雑な算術演算は、1つまたは複数の低レベルの算術演算を利用し得る。複雑な算術演算は、1つまたは複数の低レベルの算術演算に加えて、さらなる計算を含み得る。これらの計算は、検出器に接続されたプロセッサによって実装され得る。
【0038】
算術演算は、2を超える基数の演算であってもよい。
【0039】
標準的なプロセッサは、2進単位(ビットとも称される)が0または1のいずれかの状態にある2を基数とする2進法を使用して動作する。これは、これらのプロセッサが2つの状態を有するトランジスタを使用しているからである。トランジスタは、典型的には1のビットを示す、オン(高電流で表される)であるか、典型的には0のビットを示す、オフ(低電流で表される)であるかのいずれかである。しかしながら、2進法を使用することは、大きな数を表す場合に多数の2進単位が必要になるので非効率である。多数の2進単位が多くの場合に必要になることに起因して、これらの2進単位に算術演算を実行するには長い時間および大量のコンピューティングリソースを要する。より大きな基数を使用することは、個々のデータに対して、より多くのエントロピーが伝達されることを意味する。基数が高いほどエントロピーも高くなる。たとえば、基数2の単位は2つの状態を伝達することができるが、基数10の単位の単位は10個の状態を伝達することができる。さらに、基数2の2つの単位は4つの状態を伝達することができるが、基数10の2つの単位は100個の状態を、したがってより多くの情報を伝達することができる。したがって、計算システムの効率を最大化するためには2より大きい基数で算術演算を実行するのが有利である。トランジスタを使用した場合、2つの状態しか確実に読み取ることができないので、これは不可能であるが、本発明の装置は、2より大きい基数で算術演算を実行するために使用することができる。たとえば、装置の各光子源または周波数帯域は、その基数における単位の異なる状態を与え得る。そのような演算は、装置および装置を構成するALUの効率を高め、電力使用量を低減する。さらに、単位あたりの状態が多くなり、したがってより大きな数が表現され得るので、桁上げビット、または桁上げ単位(carry unit)、その結果桁上げレート(carry rate)を必要とする可能性が低減される。
【0040】
第3の数値が、基数によって許容可能な最大の数値を超える場合、第3の数値に付加された桁上げビットまたは桁上げ単位がセットされ得る。
【0041】
算術演算は加算であり、非線形現象は和周波発生、SFGであり得る。
【0042】
別の態様によると、本開示は、本明細書において説明されているような1つまたは複数の装置を含む、算術論理演算装置(ALU)を提供する。
【0043】
1つまたは複数の装置のうちの少なくとも2つの装置は、異なる算術演算を実行するためのものであってよい。各装置の入力において受信される信号は、算術演算の種類および少なくとも1つの数値に基づき得る。
【0044】
ALUは、コントローラを含み得る。コントローラは、実行されるべき算術演算の種類および算術演算の実行対象となる少なくとも1つの数値を示す少なくとも1つの命令信号を受信するように構成され得る。コントローラは、その種類の算術演算を実行するための装置のみに信号を出力するようにさらに構成されてもよい。
【0045】
命令信号は、電気信号またはフォトニック信号であってよい。
【0046】
同じ算術演算を実行するための2つの装置は、第2の装置の第1の光子源が、第1の装置から出力された第3の数値を表す第3の周波数帯域内の光子を出力するように構成され、第2の装置の第1の光子源または第2の光子源が、第4の数値を表すさらなる周波数帯域内の光子を出力するように構成され、それにより、算術演算が、第4の数値ならびに第1の数値および第2の数値のうちの一方または両方に対して実行されるように、カスケード構成で配置され得る。
【0047】
別の態様によると、本開示は、非線形媒質を使用して所定の基数で算術演算を実行するための方法を提供する。この方法は、第1の数値を示す信号を受信することを含む。この方法は、信号に応じて第1の光子源の第1の周波数帯域を選択することをさらに含む。この方法は、第1の光子源から非線形媒質に向けて第1の周波数帯域内の光子を出力することをさらに含み、第1の周波数帯域は第1の数値を表す。この方法は、光子源からの光子が非線形媒質に入射したことに応答して非線形媒質から出力された第3の周波数帯域内の光子を検出することをさらに含み、第3の周波数帯域は第3の数値を表す。非線形媒質に入射した光子は、第1の数値に算術演算を実行して第3の数値を生成する非線形媒質の非線形現象に曝される。
【0048】
信号は、第2の数値をさらに示し得る。この方法は、信号に応じて第1の光子源または第2の光子源の第2の周波数帯域を選択することをさらに含み得る。この方法は、非線形媒質に向けて第1の光子源または第2の光子源から第2の周波数帯域内の光子を出力することをさらに含んでよく、第2の周波数帯域は第2の数値を表す。この方法は、両方の周波数帯域内の光子が非線形媒質に入射したことに応答して非線形媒質から出力された第3の周波数帯域内の光子を検出することをさらに含み得る。非線形媒質に入射した光子は、第1の数値および第2の数値に対して算術演算を実行して第3の数値を生成する非線形媒質の非線形現象に曝され得る。
【0049】
第1および第2の周波数帯域は異なっていてもよく、第1および第2の数値は異なっていてもよい。
【0050】
この方法は、算術演算の実行対象の少なくとも第1および第2の数値を選択する信号を受信することと、光子を出力するために少なくとも第1および第2の数値に対応する出力周波数帯域を有する光子源のみを制御することとをさらに含み得る。
【0051】
光子を出力するために制御される光子源の数は、算術演算に基づき得る。
【0052】
受信される信号は電気信号であってもよい。この方法は、第3の数値を示す電気信号を出力することをさらに含み得る。
【0053】
この方法は、さらなる光子源から非線形媒質に向けてさらなる周波数帯域内の光子を出力することをさらに含んでよく、さらなる周波数帯域は第4の数値を表す。非線形媒質に入射する光子は、第1の数値、第2の数値、および第4の数値に算術演算を実行して第3の数値を生成する非線形媒質の非線形現象に曝され得る。
【0054】
この方法は、コントローラ内のロジックに基づいて光子を出力するために出力周波数帯域が少なくとも1つの数値に対応する1つまたは複数の光子源のみにコントローラからの1つまたは複数の選択信号を出力することをさらに含み得る。
【0055】
この方法は、算術演算の実行対象となる少なくとも1つの数値を示す電気信号またはフォトニック信号を受信することをさらに含み得る。
【0056】
1つまたは複数の選択信号は、電気信号またはフォトニック信号であってよい。
【0057】
光子を出力するために選択される光子源の数は、算術演算に基づき得る。
【0058】
装置内の光子源の数は、算術演算の基数に対応し得る。
【0059】
装置は、非線形媒質に向けて第1および第2の周波数帯域とは異なるさらなる周波数帯域内の光子を出力するためのさらなる光子源を備えてよく、さらなる周波数帯域は第4の数値を表す。非線形媒質に入射した光子は、非線形媒質の非線形現象に曝され、第4の数値ならびに第1および第2の数値のうちの一方または両方に算術演算を実行して、第3の数値を生成し得る。
【0060】
第1の光子源は、第1および第2の周波数帯域とは異なるさらなる周波数帯域内の光子を出力するようにさら構成されてよく、さらなる周波数帯域は第4の数値を表す。ロジックは、第1の光子源の第1の周波数帯域およびさらなる周波数帯域のうちの一方を選択するものであってもよい。
【0061】
第2の光子源は、第1、第2、およびさらなる周波数帯域とは異なる第2のさらなる周波数帯域で光子を出力するようにさらに構成されてもよく、第2のさらなる周波数帯域は第5の数値を表す。ロジックは、第2の光子源の第2の周波数帯域および第2のさらなる周波数帯域のうちの一方を選択するものであってもよい。
【0062】
第1の光子源および第2の光子源を選択することは、算術演算を実行するのに必要な数値に基づいて第1および第2の光子源の周波数帯域を選択することを含み得る。
【0063】
第1の光子源の第1の周波数帯域およびさらなる周波数帯域は、重なり合わなくてもよい。第2の光子源の第2の周波数帯域および第2のさらなる周波数帯域は、重なり合わなくてもよい。
【0064】
非線形媒質は、複屈折性結晶であってもよい。
【0065】
各光子源は、レーザーダイオードであってもよい。
【0066】
各光子源の周波数帯域は、他の光子源の周波数帯域と重なり合わなくてもよい。
【0067】
各光子源から出力される光子の大部分は、光子源の周波数帯域内の単一の周波数であってもよい。
【0068】
この方法は、第3の周波数帯域内の周波数を有する光子のみがフィルタを通って伝播し検出されるように非線形媒質によって出力された光子をフィルタリングすることをさらに含み得る。
【0069】
算術演算は、加算、減算、乗算、除算シフト、論理演算、およびビット操作のうちの1つであってよい。
【0070】
算術演算は、2を超える基数の演算であってもよい。
【0071】
この方法は、第3の数値が基数によって許容可能な最大の数値より大きい場合に、第3の数値に付加された桁上げビットをセットすることをさらに含み得る。
【0072】
算術演算は加算であり、非線形現象は和周波発生であり得る。いくつかの例において、複雑な算術演算を実行するために、複数の非線形媒質が使用されてもよく、各非線形媒質の出力は次の非線形媒質に入力される。
【0073】
別の態様によると、本開示は、フォトニック制御ユニットを提供する。フォトニック制御ユニットは、少なくとも2つの行および少なくとも2つの列を有するフォトニック要素の2次元アレイを備える。フォトニック制御ユニットは、命令を示す命令ビームを受光し、命令ビームの特性に基づいて命令ビームを少なくとも2つの行のうちの少なくとも1つの行内に屈折させるための第1の屈折器をさらに備える。フォトニック制御ユニットは、数値を示す数値ビームを受光し、数値ビームの特性に基づいて数値ビームを少なくとも2つの列のうちの少なくとも1つの列内に屈折させるための第2の屈折器を備える。命令ビームおよび数値ビームは、少なくとも1つのフォトニック要素において交差し、フォトニック要素に、命令および数値を示す制御信号を出力させる。
【0074】
別の態様によると、本開示は、本明細書において説明されているALUと、本明細書において説明されているフォトニック制御ユニットとを備えるシステムを提供する。
【0075】
コンピュータ可読媒体は、プロセッサによって実行されたときに、プロセッサに本明細書において説明されているコントローラの方法を実行させる命令を含み得る。コンピュータプログラムおよび/または本明細書において説明されているような方法を実行するためのコード/命令は、コンピュータ可読媒体またはコンピュータプログラム製品上でコンピュータなどのデバイスに提供され得る。コンピュータ可読媒体は、たとえば、電子、磁気、光学、電磁、赤外線、もしくは半導体システム、またはたとえばインターネットからコードをダウンロードするためのデータ伝送のための伝搬媒体であり得る。代替的に、コンピュータ可読媒体は、半導体またはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、CD-ROM、CD-R/W、DVDなどの光ディスクなどの物理的コンピュータ可読媒体の形態を取ることも可能である。
【0076】
本明細書において述べた発明の多くの修正形態および他の実施形態は、本明細書において提示されている教示に照らしてこれらの発明が関連する技術分野の当業者には思いつくものであろう。したがって、本明細書における開示は、本明細書において開示されている特定の実施形態に限定されるものでないことは理解されるであろう。さらに、本明細書において提供される説明は、要素のいくつかの組合せの文脈において例示的な実施形態を提示するが、ステップおよび/または機能は、本発明の範囲から逸脱することなく代替的な実施形態によって提供され得る。
【0077】
本発明の実施形態は、添付図面を参照しつつ、例のみを用いて、以下で説明される。
【図面の簡単な説明】
【0078】
図1】一例による算術演算を実行するための装置の概略図である。
図2図1の例示的な装置の例示的な周波数分布を示す図である。
図3A】例示的な算術演算の例示的図解を示す図である。
図3B】例示的な算術演算の例示的図解を示す図である。
図4】別の例による算術演算を実行するための装置の概略図である。
図5】別の例による算術演算を実行するための装置の概略図である。
図6】算術演算を実行するための装置の光子源の例示的な図解を示す図である。
図7】算術演算が加算であるときの例示的な真理値表である。
図8】一例による算術演算を実行するための方法のフローチャートである。
図9】別の例による算術演算を実行するための方法のフローチャートである。
図10】一例による算術論理演算装置の概略図である。
図11】別の例による算術論理演算装置の概略図である。
図12】別の例による算術論理演算装置の概略図である。
図13図12の算術論理演算装置の例示的な概略図である。
図14A】例示的なフォトニック制御ユニットの概略図である。
図14B】例示的なフォトニック制御ユニットの概略図である。
図15A】例示的な装置の例示的な実装形態を例示する図である。
図15B】例示的な装置の例示的な実装形態を例示する図である。
【発明を実施するための形態】
【0079】
説明および図面全体を通して、同様の参照番号は、同様の部分を指す。
【0080】
様々な実施形態が以下で説明されるが、本発明は、これらの実施形態に限定されず、これらの実施形態の変形は、特許請求の範囲によってのみ限定される本発明の範囲内に十分に含まれ得る。
【0081】
「算術演算」という用語は、標準的な算術演算、論理演算、ビットおよびビット単位演算、ならびにビットシフト演算を含む、プロセッサにおける数値に対する任意の演算を意味するものと理解されるべきである。たとえば、算術演算は、加算、減算、乗算、除算、シフト、論理演算、およびビット操作のうちの1つであってよい。
【0082】
「数値」という用語は、「数値的値」という用語と交換可能であり、少なくとも整数、分数、虚数、複素数、および非整数、たとえば円周率を含むと理解されるべきである。数値は、基数との関連で以下で説明されるように、状態であってもよい。
【0083】
非線形光学は、非線形媒質における光子、特に可視光または近可視光の挙動を記述するフォトニクスの一分野に対する古典的用語である。しかしながら、これは電磁スペクトル全体を通して光子周波数にも適用される。たとえば、入力周波数はマイクロ波範囲内にあり、および/または出力周波数は赤外線範囲内にあり得る。
【0084】
「非線形媒質」という用語は、その媒体に入射するフォトニック信号が非線形応答することを引き起こす任意の媒体を意味すると理解されるべきである。特に、非線形媒質の分極密度は、Pを分極密度とし、Eを電界とする次の式によって示されるように、光子の電界に対して非線形応答する。
P=ε0(1)E+χ(2)E+χ(3)E+...]
【0085】
χ(1)Eは線形偏光を表し、続く式の要素は非線形偏光を表し、χ(2)は2次非線形感受性を表す。非線形感受性は小さく、したがってEが小さい場合、偏光の非線形要素は無視できる。しかしながら、Eが実質的である場合、非線形光学が優勢となる。非線形効果が予想される電界限界はシュウィンガー限界である。シュウィンガー限界を超えると、真空でさえ非線形媒質になる可能性がある。非線形媒質は、古典的な非線形結晶、微小球状もしくはナノ球状形成物、GaAs膜であり得る。例示的な非線形媒質は、1550nmのCバンド波長で和周波発生用に位相整合され、約24nmの帯域幅を許容するPPLN結晶である。
【0086】
非線形媒質に関係する「非線形現象」という用語は、入射ビームの光子が非線形媒質と相互作用することを意味すると理解されるべきである。これは、非線形媒質に対する入射光子の非線形応答の結果である。この現象は、媒質に入射する光子が高い強度を有する、たとえば入射する光子がレーザーによって供給される典型的な強度である108V/mの電界強度を有し得るときに発生し得る。しかしながら、これは、また、光子が高強度でないときに発生し得るが、それは光子レベルで個別の光子に光学的非線形性が生じ得るからである。したがって、非線形光学は、高強度信号に限定されるものではない。本明細書において説明される装置は、任意の1つまたは複数の非線形現象を使用し得る。
【0087】
非線形現象の一例は、第二次高調波発生である。第二次高調波発生は3波混合プロセスの一例であり、二次非線形性を意味するχ(2)項を含む。光子が非線形現象に曝されるプロセスはN波混合プロセスと称され得、Nは関わる光波の数である。4波混合プロセスは、それが三次非線形性であることを意味するχ(3)項を伴う。
【0088】
光子が「非線形媒質の非線形現象に曝される」ことは、非線形媒質に入射した光子が非線形媒質内で相互作用し、上で説明されているように媒質に対して非線形応答することを意味すると理解されるべきである。非線形現象に曝される、非線形媒質に入射した光子は、通常、非線形現象に起因して媒質を透過する際に操作されるか、または破壊され、破壊された光子を基に新しい光子が生成される。たとえば、非線形現象が和周波発生である場合、2つの異なる周波数の入射光子が破壊され、その結果、2つの異なる周波数の和である周波数の光子が生成され、非線形媒質から出力される。したがって、光子に関する「非線形媒質からの出力」という用語は、光子が非線形媒質と相互作用した後に非線形媒質から届いたことを意味すると理解されるべきである。たとえば、光子は非線形媒質を透過したものであり得るか、または非線形媒質内で生成され、したがって非線形媒質から発せられたものであり得る。
【0089】
非線形媒質は、入射光子を1つの非線形現象に曝すことのみに限定されず、条件、たとえば、存在する電界ならびに入力光子の強度、周波数、および範囲に基づき、光子を多くの非線形現象のうちの1つに曝し得る。他の条件は、温度、非線形媒質への入射角、ならびに電磁場のサイズおよび方向を含む。非線形媒質は、また、光子を同時に複数の非線形現象に曝し得る。
【0090】
非線形媒質に入射する光子と非線形媒質との間の相互作用に起因して生じる非線形現象は、非線形媒質に入射する光子とは異なる光子が非線形媒質から出力されることを引き起こす。たとえば、出力される光子は、周波数、偏光、位相、または経路の1つまたは複数などの、入力される光子とは異なる特性を有し得る。この違いは、発生する非線形現象の種類および入射光子の特性に基づいている。周波数の特性を考慮すると、非線形媒質から出力される光子は、入射光子の周波数と非線形現象の種類の両方に基づく。各周波数は、対応する数値を割り当てることができ、したがってその周波数は数値を表す。さらに、非線形現象の各種類は、算術演算と同一視され得る。したがって、非線形媒質から出力される光子は、数値それ自体を表す周波数を有し、入力された数値および算術演算に基づく。したがって、非線形現象は、数値に対して効果的に算術演算を実行し、数値の結果出力を生成する。非線形現象に起因する非線形媒質の出力光子と入力光子の周波数の関係が、算術演算を表す関係であるときに、非線形現象は、その算術演算を効果的に実行する。異なる非線形現象であっても同じ算術演算を効果的に実行し得る。たとえば、第二次高調波発生および第三次高調波発生は、乗算という同じ算術演算を効果的に実行し得る。
【0091】
「基数」という用語は、単位が置かれ得る状態の数を意味するものと理解されるべきである。たとえば、2進数としても知られる2の基数については、1つの単位は「0」および「1」などの2つの状態しか取り得ない。たとえば、3進数としても知られる3の基数については、1つの単位は「0」、「1」、および「2」などの3つの状態のうちの1つとなり得る。「所定の基数」は、装置が演算を実行する前に決定される装置の基数を意味すると理解されるべきである。基数は、符号なし整数(たとえば、2進数、3進数、および4進数)、符号付き整数(たとえば、平衡3進数、および平衡27進数)、複素数(たとえば、1/4虚数)、非整数(たとえば、0.5)、または無理数(たとえば、φ、π、およびе)であってよい。符号付き整数、複素数、および非整数基数は、個々のデータに対してより多くのエントロピーが伝達されることを可能にする。たとえば、符号付きの平衡3進数については、状態は「-1」(
【数1】
と書かれる)、「0」、および「1」であり、10進数「10」は「101」と表現され、10進数「-10」は
【数2】
と表現され得る。2進数は、正の10進数「10」しか表現できず、そうするためには4ビットを必要とし、10進数「10」は2進数で「1010」となる。したがって、同じ情報を送信するのに必要な単位の数は少なくなる。その結果、平衡3進数の使用はプロセッサの速度および効率を改善する。有利である別の基数は16進数であり、これは16の基数を有する。この基数は、ベイリー・ボールウェイン・プラウフ(BBP)アルゴリズムを使用して、ほぼ線形時間で対数空間内で円周率(π)を、さらにはBBPの一般化を使用して他の定数、たとえばカタラン定数、π3、π4を計算するために使用され得るという利点を有する。この基数は、また、フォトニック集積回路に使用する上で有利であるが、それは小型化がより多くのコンポーネントがフォトニック集積回路内に備えられることを可能にするからである。基数を大きくすることは、複雑なシステムに対して非線形効率を有する指数関数的関係を提供する。有利なさらなる基数は6であり、この6進法は基数6を有する。この基数は、6進法で表されるすべての素数が「1」または「5」で終わるので素数操作に特に有用である。
【0092】
「数値を表す」という用語は、光子源が数値を伝送しているが特定の周波数帯域内にあることを意味すると理解されるべきである。このフォトニック信号が検出されたときに、数値を示すことが検出器によって理解されるであろう。周波数帯域と数値との間の関係は、装置に固有の関係であり得るか、またはALU全体を通して使用され得る。
【0093】
「周波数帯域」という用語は、本出願全体を通して使用され、周波数の範囲を指すが、各周波数帯域は、単一の周波数において、またはその周波数帯域よりも小さい10GHzなどの狭い周波数範囲内においてピーク強度を有してよく、したがって、周波数帯域内の光子の大部分は、そのピーク強度を有し得るか、または狭い周波数範囲内にあり得る。特定の周波数が周波数帯域、たとえばω1と併せて提供される場合、この周波数は周波数帯域内にあり、ピーク強度がある場合に、この周波数はピーク強度である。たとえば、光子源が単一の周波数帯域内で光子を出力するときに、その光子源から出力される光子の大部分は、その周波数帯域内の、ω1によって指示される単一の周波数であってもよい。代替的に、この特定の周波数は、光子源が単一の周波数帯域内で光子を出力するときに、その光子源から出力される光子の大部分がその周波数帯域内の狭い周波数範囲内にあり得るように周波数帯域内の狭い周波数範囲内にあり得る。光子源が2つの周波数帯域内で光子を出力するときに、その光子源から出力される光子の大部分は、各周波数帯域内に1つずつ、2つの周波数または周波数範囲にあり得る。「周波数」という用語が説明される場合、そのような用語は、その周波数におけるピーク強度を有する周波数帯域を意味し得ることは理解されるべきである。
【0094】
光子を出力し伝搬することを含む、光の透過、および光路を通る光子の伝送を説明するときに、これは、たとえば、ディスクリートコンポーネントの間の光ファイバーケーブルを使用して達成され得る。代替的に、これは特に空間内で使用するために、自由光学系によって達成され得る。代替的に、これは、たとえば、フォトニック集積回路内の導波路に通すことによって達成され得る。装置がフォトニック集積回路である場合、これは次の利点を提供する。
(i)コンポーネント密度の増大、および全コンポーネント数を著しく増やすことができること、
(ii)電力消費量の低減、
(iii)たとえばファイバー結合および電子入出力を通しての、外部コンポーネントとの標準化された相互運用性、
(iv)標準化された高信頼性コンポーネント、
(v)一貫した、安定したコンポーネントのアライメントおよび動作、
(vi)フォームファクタの著しい小型化、
(vii)異なる動作を行う異なる材料プラットフォームを、たとえばシリコンフォトニクスをIII-V族半導体材料と、容易に統合することができること、
(viii)大量に製造する上で高い費用効果、
(ix)光子強度の要件が低く、必要とする電力が少なく、コンポーネントの効率が高いこと。
【0095】
図1は、一例による算術演算を実行するための装置100の概略図である。算術演算は、所定の基数で実行される。装置100は、非線形媒質106を備える。装置100は、非線形媒質に向けて第1の周波数帯域および第2の周波数帯域における光子を出力するための1つまたは複数の光子源をさらに備える。図1は、装置100の1つまたは複数の光子源が、非線形媒質106に向けて第1の周波数帯域内の光子116を出力するための第1の光子源102と、非線形媒質に向けて第2の周波数帯域内の光子118を出力するための第2の光子源104とを含むことを例示しており、第1および第2の光子源を備える装置は以下で詳細に説明される。しかしながら、装置100の1つまたは複数の光子源は、その代わりに、非線形媒質に向けて第1の周波数帯域および第2の周波数帯域内の光子を出力するための単一の光子源を含み得る。
【0096】
第1の周波数帯域は第1の数値を表す。第2の周波数帯域は第2の数値を表す。装置100は、少なくとも1つの数値を示す信号111を受信する入力112をさらに備える。装置は、信号111に応じて第1の光子源102および第2の光子源104の少なくとも一方を選択するロジック110をさらに備える。装置100は、第1および第2の光子源102、104の少なくとも一方からの光子が非線形媒質106に入射したことに応答して非線形媒質から出力された第3の周波数帯域内の光子120を検出するように構成されている検出器108をさらに備え、第3の周波数帯域は第3の数値を表す。非線形媒質106に入射した光子は、非線形媒質106の非線形現象に曝され、第1の数値および第2の数値のうちの一方または両方に算術演算を実行して第3の数値を生成する。
【0097】
装置100は次のように動作する。信号111が装置100の入力112によって受信される。次に、装置100内のロジック110が信号111を受信し、信号111によって指示される数値に基づいて第1の光子源102および第2の光子源104のうちの一方または両方を選択する。第1の光子源102は、ロジック110によって選択されたことに応答して、第1の周波数帯域内の光子を出力し、および/または、第2の光子源104は、第2の周波数帯域内の光子を出力する。第1の光子源102および/または第2の光子源104から出力された光子は、非線形媒質106に入射し、第3の周波数帯域内の光子を出力する非線形媒質106の非線形現象に曝される。非線形媒質106から出力される光子の周波数帯域は、第1の周波数帯域と第2の周波数帯域のうちの一方または両方にある入射光子の周波数に基づいている。非線形媒質106から出力される光子の周波数帯域は、入力光子が曝される非線形現象の種類にも基づく。非線形現象の各種類は、算術演算と同一視され得る。したがって、出力光子の周波数帯域は、実質的に、算術演算が第1の周波数帯域の光子および/または第2の周波数帯域の光子に対して実行されることに起因する。これに対応して、非線形媒質106は、第3の周波数帯域内の光子を効果的に出力する。第1の周波数帯域は第1の数値を表し、第2の周波数帯域は第2の数値を表すので、非線形媒質106は、第1の数値および/または第2の数値に対して効果的に算術演算を実行し、第3の周波数帯域によって表される第3の数値を生成する。次いで、検出器108は、非線形媒質106から出力された光子を検出して、第3の数値を決定する。
【0098】
装置100の入力112における信号111は、選択する1つまたは複数の光子源を指示し、ロジック110は、この指示に基づいて光子源を選択し得る。信号111は、算術演算の実行対象の1つまたは複数の数値を示し、ロジック110は、対応する数値により光子源を選択し得る。ロジックは、受信された信号111に基づいて第1の光子源102および第2の光子源104のうちの少なくとも一方を選択するための任意の回路であってよい。ロジックは、1つまたは複数の論理ゲートを含み得る。ロジックは、その光子源に信号を送信することを通してその光子源をパワーオンことによって、第1および/または第2の光子源を選択してよく、それにより光子源のうちの1つがロジックによって選択されない場合に、その光子源は信号を受信せず、したがってパワーオンせず、オフのままである。したがって、信号111は、電力信号または活性化信号であってよい。ロジック110は、装置100に入力された信号111を、指示されているか、または信号によって対応する数値が指示されている光子源に迂回させ得る。ロジック110は、各それぞれの光子源に対する出力を有するデマルチプレクサであってもよく、デマルチプレクサはその入力において信号111を受信し、その信号を第1および/または第2の光子源に接続された1つまたは複数の出力にルーティングするように配置される。代替的に、ロジックは、光子源は両方とも信号を受信するような光子源と入力112との間の接続であってもよい。代替的に、ロジック110は、第1および第2の光子源102、104を制御するコントローラであってもよい。コントローラは、入力112から信号111を受信し、その信号に基づいて第1の光子源102および/または第2の光子源104をパワーオンするかまたは活性化し得る。コントローラは、入力112から受信した信号を1つまたは複数の選択信号に変換し得る。コントローラは、第1の光子源102および/または第2の光子源104に選択信号を送信することによって、第1の光子源102および/または第2の光子源104をパワーオンまたは活性化し得る。選択信号は、電気信号またはフォトニック信号であってよい。選択信号は、AC信号またはDC信号であってよい。
【0099】
第1の光子源102および/または第2の光子源104は、光子を出力させるロジック110からの信号を供給され得る。各光子源102、104は、光子源がパワーオンされたときに光子を出力し、光子源がパワーオンされていないときにオフであり光子を出力しないように、ロジック110によって別々にパワーオン、パワーオフされ得る。一例において、光子源はフォトニック結晶面発光レーザー(PCSEL)であってよく、これは必要とされるときのみレーザーがオンにされるように内部変調され、それにより各レーザーの電力消費量を減らすことができる。PCSELはまた、波長帯域間のチャネル間隔がたとえば0.1nmと小さい結果、非線形媒質は小さな帯域幅でのみ動作すればよい。したがって、非線形媒質は、小さな帯域幅に合わせて微調整され得、より効果的に光子入力周波数を光子出力周波数に変換し、その結果変換効率が高くなる。
【0100】
代替的に、第1および第2の光子源102、104は、使用中に連続的に光子を出力し、第1および第2の光子源によって出力された光子は、ロジックによる選択に応答して非線形媒質に向けて選択的に伝搬され得る。たとえば、第1および第2の光子源102、104は、使用時に常にオンであり、外部変調され得るが、たとえば、各光子源の出力は、別々のスイッチ(図示せず)、たとえば、別のマッハツェンダー変調器(MZM)に入力され得る。MZMの数は、光子源の数に等しいものとしてよい。各光子源は、連続波ビームをMZMに出力し得る。各MZMは、光子源の出力をオン/オフキーする(on/off key)ためのデジタル入力信号として、信号111またはロジック110からの異なる信号を受信し得る。たとえば、MZMは、信号111に基づいて光子源の出力を伝搬するか、または光子源の出力の伝搬を阻止するかのいずれかを行い得る。したがって、MZMは、信号111に基づいて各光子源のオン/オフを効果的に切り替えるために使用され得る。各MZMを含むことで、装置100のスイッチング速度が増大し、装置100を含むALUの速度が増大する。
【0101】
第1の光子源102は、非線形媒質106に向けて第1の周波数帯域内の光子116を出力するためのものである。第1の周波数帯域は第1の数値を表す。したがって、第1の周波数帯域と第1の数値との間には関連がある。そのため、第1の周波数帯域内の周波数を有する光子が検出されたときに、これらは第1の数値に関係付けられる。たとえば、検出器108が第1の周波数帯域内の周波数を有する光子を受光した場合、検出器108は、これを第1の数値に関連付け、したがって第1の数値を使用するか、または出力し得る。
【0102】
第1の光子源102は、図1に示されているように、第1の周波数帯域内の第1の周波数ω1で光子116の大半を出力し得る。第1の光子源102は、第1の周波数帯域内の第1の周波数ω1で光子を出力するように配置され得る。したがって、第1の光子源から出力される光子の大部分は、第1の周波数ω1であってもよい。しかしながら、ノイズなどの他の要因に起因して、第1の光子源102は、第1の周波数からわずかに異なる第1の周波数帯域内の周波数の光子を出力し得る。第1の周波数は第1の数値を表し得る。たとえば、第1の周波数と第1の数値との間には関連があり得る。第1の周波数または第1の周波数帯域と第1の数値との間の関連を示すデータは、装置または装置を含むALUに記憶され得る。
【0103】
第2の光子源104は、非線形媒質106に向けて第2の周波数帯域内の光子118を出力するためのものである。第2の周波数帯域は、第1の周波数帯域と異なっていてもよく、第1の周波数帯域と重なり合わなくてもよい。代替的に、第1の周波数帯域および第2の周波数帯域は、部分的に重なり合ってもよい。第2の周波数帯域は第2の数値を表す。したがって、第2の周波数帯域と第2の数値との間には関連がある。そのため、第2の周波数帯域内の周波数を有する光子が検出されたときに、これらは第2の数値に関係付けられる。たとえば、検出器108が第2の周波数帯域内の周波数を有する光子を受光した場合、検出器108は、これを第2の数値に関連付け、したがって第2の数値を使用するか、または出力し得る。
【0104】
第2の光子源は、図1に示されているように、第2の周波数帯域内の第2の周波数ω2で光子118の大半を出力し得る。第2の光子源104は、第2の周波数帯域内の第2の周波数の光子を出力するように配置され得る。したがって、第2の光子源から出力される光子の大部分は、第2の周波数であってもよい。しかしながら、ノイズなどの他の要因に起因して、第2の光子源104は、第2の周波数からわずかに異なる第2の周波数帯域内の周波数の光子を出力し得る。第2の周波数ω2は第2の数値を表し得る。たとえば、第2の周波数と第2の数値との間には関連があり得る。第2の周波数または第2の周波数帯域と第2の数値との間の関連を示すデータは、装置100または装置を含むALUに記憶され得る。
【0105】
第1の周波数ω1および第2の周波数ω2は異なっていてもよい。第1の周波数帯域および第2の周波数帯域は重なり合ってもよいが、第1の周波数および第2の周波数は異なっていてもよい。したがって、第1の数値および第2の数値は異なっていてもよい。光子源102、104から出力される光子の周波数は、電磁スペクトルの可視領域または近可視領域内にあり得る。
【0106】
光子源102、104は、光子の強い光ビームを出力し得る。光子源は、電子的に生成されたコヒーレント光子源であってもよい。光子源は、レーザーダイオードであってもよい。レーザーダイオードはチューニング可能であり得る。レーザーダイオードはシリコンレーザーダイオードであってもよい。第1の光子源102は、単一周波数レーザーであってもよく、単一周波数レーザーから出力される光子の大部分は第1の周波数の光子である。第2の光子源104は、単一周波数レーザーであってもよく、単一周波数レーザーから出力される光子の大部分は第2の周波数の光子である。第1の光子源102および第2の光子源104の強度は、たとえば、装置100が和周波発生の非線形現象を使用するときに、同じであり得る。代替的に、第1の光子源102および第2の光子源104の強度は、たとえば、装置100が光パラメトリック増幅の非線形現象を使用するときに、異なり得る。
【0107】
非線形媒質106に入射する第1および/または第2の周波数帯域内の光子は、非線形媒質106の非線形現象に曝され、その結果、光子は、第3の周波数帯域で非線形媒質106から出力される。非線形媒質106から出力される光子の少なくとも一部は、第3の数値を表す第3の周波数帯域内にある。第3の周波数帯域は、第1および第2の周波数帯域と異なり得る。第3の周波数帯域は、第1および第2の周波数帯域と重なり合わないか、または部分的に重なり合ってよい。
【0108】
第1の光子源102は、第1の周波数帯域内の第1の周波数ω1において光子116の大部分を出力し、第2の光子源104は、第2の周波数帯域内の第2の周波数ω2において光子118の大部分を出力し得る。非線形媒質106から出力される光子の周波数は、非線形媒質106に入射する光子の周波数に依存するので、非線形媒質106から出力される光子の大部分は、したがって、第3の周波数帯域内の第3の周波数ω3を有してもよく、第3の周波数は第1および/または第2の周波数に基づく。第3の周波数ω3は第3の数値を表し得る。第3の周波数は、第1および第2の周波数と異なり得る。したがって、第1、第2、および第3の数値は異なり得る。
【0109】
非線形媒質に向けて第1の光子源102および第2の光子源104によって出力される光子は、非線形媒質106に入射する単一ビームに結合され得る。たとえば、装置100は、マルチプレクサ(図示せず)をさらに備え得る。マルチプレクサは、各光子源から出力された光子を結合し、これらを単一の光路(単一ビームとも呼ばれる)に通して伝搬させるように動作可能であり得る。単一の光路を通して伝送される結合された光子は、非線形媒質に向けて出力され、結合された光子が非線形媒質106の非線形現象に曝されるように非線形媒質106に入射し得る。したがって、各光子源からの光子は、非線形媒質106に向けて出力される。マルチプレクサを利用することによって、光子が非線形媒質に入射することを確実にするように単一の光路のみが正しく位置決めされる必要があり、これは、装置の構造を簡素化し、変換効率を改善し、非線形媒質が単一ビームに合わせてより効果的にチューニングされ得る。マルチプレクサは、波長分割マルチプレクサであってもよい。たとえば、マルチプレクサは、高密度波長分割マルチプレクサ(DWDM)であってもよい。DWDMを使用することで、0.4nm程度の低いチャネルステップが可能になる。
【0110】
単一の光路から光子を受光したことに応答して、非線形媒質は光子を直接的に検出器108に出力し得る。代替的に、非線形媒質は、光子を第2の非線形媒質(図示せず)に出力して、光子に対して下方変換、たとえば半高調波発生を実行し得る。これは、非線形媒質の出力の周波数を処理しやすい周波数、たとえば約1500nmまで下げることである。したがって、装置100は、第2の非線形媒質をさらに備えてもよい。装置100が下方変換を実行するための別の方法は、より低い周波数の値で差周波発生(DFG)を実行することである。たとえば、最初の2つの周波数帯域が1540と1550nmとの間に存在する場合、和周波発生(SFG)は約770~775nmの波長を生成する。これを以前の帯域幅に戻すには、1550nmと770~775nmのビームの間のDFGが、再び1540~1550nmの範囲内のビームを生成するために使用され得る。
【0111】
装置100は、デマルチプレクサ(図示せず)をさらに備え得る。デマルチプレクサは、波長分割デマルチプレクサであってもよい。たとえば、デマルチプレクサは、高密度波長分割デマルチプレクサであってもよい。デマルチプレクサは、非線形媒質から出力された光子、または第2の非線形媒質から出力された光子を、光子の周波数に基づいて1つまたは複数の検出器108にルーティングするように動作可能であり得る。非線形媒質からデマルチプレクサに入力された光子は、その周波数に基づいてデマルチプレクサの正しい出力にルーティングされ得る。デマルチプレクサの各出力は、異なる周波数または周波数帯域に対応し得る。たとえば、第3の周波数帯域内の光子が非線形媒質から出力される場合、これらの光子は、第3の周波数帯域に対応するデマルチプレクサの出力にルーティングされる。非線形媒質から出力される光子がただ1つの周波数帯域内にある場合、光子は単一のデマルチプレクサ出力にルーティングされる。装置100は、デマルチプレクサの各出力に接続された検出器が存在するような複数の検出器108(図示せず)をさらに備え得る。各検出器は、したがって、特定の周波数または周波数帯域を検出し得る。たとえば、第3の周波数帯域内の光子が非線形媒質によって出力される場合、これらの光子は、第3の周波数帯域に対応するデマルチプレクサの出力にルーティングされ、その出力に接続された検出器に入射し得る。したがって、各検出器は、検出器に入射する光子の周波数を検出する必要はなく、検出器に入射した任意の光子が特定のデマルチプレクサ出力の周波数または周波数帯域の光子であるときに光子が検出器に入射したかどうかを単に検出するだけでよい。したがって、フォトダイオードなどの、単純な検出器が使用されてよく、これは装置100の速度を高める。したがって、特定の検出器上の光子の存在は、特定の周波数帯域を指示し、したがって特定の数値を示す。デマルチプレクサは、算術演算の可能な結果の数、すなわち非線形媒質によって出力される可能な周波数帯域の数に対応する複数の出力を備え得る。検出器の数は、デマルチプレクサの出力の数に対応し得る。
【0112】
装置100は、光子源、非線形媒質および/または第2の非線形媒質からの出力のパワーを増幅するためのエルビウムドープファイバー増幅器(EDFA)(図示せず)または導波路増幅器をさらに備え得る。たとえば、装置100は、1つまたは複数の検出器108による検出を行える十分な光パワーがあることを確実にするために各非線形媒質の前後にEDFAまたは導波路増幅器を備え得る。
【0113】
図2は、図1の例示的な装置100の例示的な周波数分布200を提示している。図2は、第1の光子源102から出力される光子の例示的な周波数分布202、第2の光子源104から出力される光子の例示的な周波数分布204、および非線形媒質106から出力される光子の例示的な周波数分布206を例示している。出力のすべてについて、信号は特定の周波数で最大となり、これは光子の大部分がその周波数であることを意味する。分布202は、第1の光子源102から出力されるすべての光子が、上限および下限を有する第1の周波数帯域内にあること、ならびに光子の大部分が第1の周波数ω1にあることを示している。分布204は、第2の光子源104から出力されるすべての光子が、上限および下限を有する第2の周波数帯域内にあること、ならびに光子の大部分が第2の周波数ω2にあることを示している。分布206は、非線形媒質106から出力される光子が、上限および下限を有する第3の周波数帯域内にあること、ならびに光子の大部分が第3の周波数ω3にあることを示している。この図は説明のためのものであり、光子源および非線形媒質はこのような分布を出力することに限定されないことは理解されるべきである。
【0114】
再び図1を参照すると、装置100は第1の光子源102および第2の光子源104を備えるが、ロジック110は、入力信号111に応じて光子を出力する光子源のうちの一方のみを選択し得る。たとえば、ロジック110は、第2の光子源から出力される光子118の破線によって例示されているように、第1の光子源のみが光子116を出力することを選択してもよく、これはこのような出力は任意選択であることを示す。ロジック110は、代替的に、光子源102、104の両方を選択して光子を同時に出力し得るが、これは第1の光子源102および第2の光子源104の両方が非線形媒質106に向けて光子を同時に出力し得ることを意味する。第1の光子源102から出力された光子116および/または第2の光子源104から出力された光子118は、非線形媒質106に入射する。
【0115】
非線形媒質106に入射した光子は、以下でより詳細に説明されるように、非線形媒質106の非線形現象に曝され、第1の数値および第2の数値のうちの一方または両方に算術演算を実行して第3の数値を生成する。非線形現象に曝される、非線形媒質106に入射した光子は、非線形現象に起因して媒質を透過する際に操作され得るか、または破壊された光子を基に生成される新しい光子で破壊され得る。非線形媒質106は、二次非線形性を有していてもよい。非線形媒質106は、複屈折性結晶であってもよい。非線形媒質106は、光子を1つの種類の非線形現象に曝すことができるだけであり、装置100は1つの種類の非線形現象を使用し得る。代替的に、非線形媒質106は、光子を複数の非線形現象に、別個または同時のいずれかで曝すことができるものとしてよい。装置100は、複数の非線形媒質を含み得る。装置100は、複数の異なる非線形現象を使用し得る。したがって、装置100は、図13に関して以下で説明されるように、複数の異なる算術演算を実行するためのものであってもよい。
【0116】
第1の光子源102のみが光子を出力する場合、非線形媒質106に入射する光子は非線形媒質106の非線形現象に曝され、その結果、光子は第3の周波数帯域内で非線形媒質106から出力される。第3の周波数帯域において出力される光子は、非線形現象によって引き起こされる第1の周波数帯域の入力光子に対する算術演算の結果である。第1の周波数帯域は第1の数値を表し、第3の周波数帯域は第3の数値を表す。したがって、第3の数値は、非線形現象によって引き起こされる第1の数値に対する算術演算によって生成される。
【0117】
両方の光子源102、104が光子を同時に出力する場合、第3の周波数帯域において出力される光子は、非線形現象によって引き起こされる第1の周波数帯域および第2の周波数帯域内の入力光子に対する算術演算の結果である。したがって、第3の数値は、非線形現象によって引き起こされる第1の数値および第2の数値に対する算術演算によって生成される。
【0118】
非線形媒質106から出力される光子120の少なくとも一部は、第3の数値を表す第3の周波数帯域内にある。しかしながら、他の周波数の光子も生成され得る。たとえば、第3の周波数帯域とは異なる第5の周波数帯域内のまたは第5の周波数ω5の光子122は、図1において破線で例示されているように、非線形媒質106から出力されてよく、これはそのような光子122が任意選択であることを示している。これらの光子122は、2つの数値を計算するために望ましいものであり得る。これらの光子122は、入力光子と非線形現象との間の相互作用の結果として生成され、第5の周波数帯域は、算術演算に起因して生成される第5の数値を表し得る。この場合、非線形媒質106に入射した光子は、非線形媒質106の非線形現象に曝され、第1の数値および第2の数値のうちの一方または両方に対して算術演算を実行し、第3の数値および第5の数値を生成し得る。代替的に、第5の周波数帯域内のまたは第5の周波数ω5の周波数を有する光子122は、分散およびウォークオフなどの他の制限によって引き起こされ得る。したがって、これらの光子は望ましくない場合がある。図4に関してさらに説明されるように、これらの光子を除去するためにフィルタが使用され得る。代替的に、光子の大部分が第3の周波数帯域内にある場合、検出器は、これが望ましい周波数帯域であることを検出し、他の検出された光子の寄与を除去することができるものとしてよい。
【0119】
検出器108は、第1および第2の光子源102、104の少なくとも一方からの光子が非線形媒質106に入射したことに応答して非線形媒質106から出力された第3の周波数帯域内の光子を検出するように構成される。検出器108は、非線形媒質106から伝送されたフォトニック信号を受信する。検出器108は、第3の数値を表す第3の周波数帯域の光子を受光し、その結果、第3の数値を出力し得る114。検出器108は、フォトニック信号を電気信号に変換し、電気信号を出力する114ように構成され得る。電気信号は第3の数値を示し得る。検出器108は、非線形媒質106から入力されたアナログ光をデジタル電気出力に変換するCCD検出器であってもよい。検出器は、記憶および/またはさらなる操作のために、第3の数値を示す電気信号を出力し得る。代替的に、検出器は、第3の数値を示すフォトニック信号を出力し得る114。1つの検出器108が図示されているが、装置100は、任意の数の検出器108を備え得る。たとえば、装置100は、検出されるべき可能な周波数毎に検出器108を備えてもよい。
【0120】
装置100は、入力112で第1および第2の数値を示す信号111を受信し、第1および第2の数値に対して算術演算を実行し、第3の数値を生成して出力する114ものとしてよい。代替的に、装置100は、第1または第2の数値のみを受信し、この数値に対して演算を実行して第3の数値を生成し得る。したがって、装置100は、装置100を含むALUによって使用され、1つまたは複数の数値に対して特定の算術演算を実行し得る。装置100は、電子コンポーネントに接続され得るので、その入力において電気信号を受信し、電気信号を出力し得る。たとえば、装置100は電子コントローラに接続され得る。代替的に、装置100は、フォトニックコンポーネントに接続され得るので、その入力においてフォトニック信号を受信し、フォトニック信号を出力し得る。たとえば、装置100はフォトニックコントローラに接続され得る。装置100がフォトニック信号を出力することになっているときに、検出器はフォトニックメモリであってよい。
【0121】
第1および第2の光子源102、104の各々は、3状態光子源であってもよい。したがって、光子源は、オフ状態、第1の周波数帯域の光子を伝送する第1の状態、および第1の周波数帯域と異なる周波数帯域内の光子を伝送する第3の状態で動作できるものとしてよい。この異なる周波数帯域は、異なる数値を表し得る。したがって、ロジック110は、示されている数値に基づいて光子源および光子源の周波数帯域を選択し得る。第1および第2の光子源が3状態光子源である場合、第1および第2の光子源を備える装置は、4つの異なる周波数帯域が非線形媒質106への入力として利用され得るので、4の基数で動作し得る。したがって、1つまたは複数の3状態光子源を備える装置は、より少ない数のコンポーネントでより大きな計算を実行することができ、効率を改善し、装置のサイズを縮小することができる。
【0122】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の一例は、図3Aおよび図3Bに例示されているような和周波発生である。図3Aは、非線形現象が和周波発生であるときの図1の非線形媒質106の概略図300を例示している。図3Bは、非線形現象が和周波発生であるときに非線形媒質106に入射し、非線形媒質106から出力される光子のエネルギー準位図350を例示している。和周波発生は、非線形媒質106から出力される光子の周波数が非線形媒質106に入射する光子の2つの入力周波数の和である二次非線形現象である。したがって、和周波発生は、2つの入力周波数または2つの代表的な数値の加算を効果的に実行する。和周波発生を使用して加算を実行する装置100は、加算器と称され得る。
【0123】
図3Aに示されているように、また、図1に関してすでに説明されているように、第1の周波数ω1の光子は非線形媒質106に向けられ、非線形媒質106に入射し、第2の周波数ω2の光子は非線形媒質106に向けられ、非線形媒質106に入射する。非線形媒質106に入射した光子は、非線形媒質106の非線形現象、この場合は、和周波発生に曝され、第1および第2の周波数の和である第3の周波数ω3、すなわちω312で非線形媒質106から光子が出力されることを引き起こす。和周波発生では、周波数ω3で1つの光子を発生させるために、周波数ω1およびω2で2つの入力光子が同時に破壊される。出力のところに生成される光子の数は、各周波数の入力光子の数に基づく。したがって、和周波発生の非線形現象は、入力光子の周波数を効果的に加算し、その結果得られる周波数の光子を出力する。光子周波数が数値を表すときに、和周波発生は、数値の加算の算術演算を効果的に実行し、結果を出力する。
【0124】
図3Bは、非線形媒質106に入力され、非線形媒質106から出力されるエネルギー準位を示すエネルギー準位図350を示している。非線形フォトニクスでは、2つの保存則、すなわち、エネルギー保存則および運動量保存則が適用され、これら2つの保存則は同時に位相整合と呼ばれる。位相整合は、図4に関して以下で説明される。図3図350の基本原理は、エネルギー保存則を満たすために、エネルギーが保存されるので非線形媒質106に入力される全エネルギーは、非線形媒質106から出力される全エネルギーと等価であるべきであることである。各光子のエネルギーは、
【数3】
として、周波数に直接的に依存する。したがって、非線形媒質106に入射する第1の周波数ω1の各光子のエネルギーと、非線形媒質106に入射する周波数ω2の各光子のエネルギーとが結合して、図3Bの一番上の線で例示されているような全エネルギーをもたらす。非線形媒質106から出力される各光子は、第1および第2の周波数の和である周波数ω3にあり、非線形媒質106から出力される各光子のエネルギーは、非線形媒質106に入力される第1および第2の周波数ω1、ω2の2つの光子の結合されたエネルギーに等しくなる。
【0125】
図3Bは、第1の周波数ω1および第2の周波数ω2が異なるサイズであり、したがって異なる周波数であることを例示しているが、これらの周波数は同じであってもよく、たとえば、両方とも第1の周波数ω1であってもよい。これらの周波数が同じである場合、これは第二次高調波発生として知られる和周波発生の特別な種類であり、装置100によって使用され得る別の非線形現象である。周波数倍増としても知られる、第二次高調波発生では、周波数ω3で1つの光子を発生させるために、周波数ω1の2つの入力光子が同時に破壊される。したがって、第二次高調波発生は、第1の周波数の2倍である第3の周波数ω3で非線形媒質106から光子が出力されることを引き起こす。図1の装置100において、これは、光子源のうちの1つのみ伝送しており、その結果、同じ周波数の光子が非線形媒質に向けられるか、または第1および第2の光子源が同じ周波数の光子を出力するときに生じ得る。第二次高調波発生は、入力周波数または代表的な数値に2を乗じる算術演算を効果的に実行する。したがって、乗算を実行するための装置100は、光子を第二次高調波発生に曝すものであってよく、乗算器と称され得る。和周波発生および第二次高調波発生のために、非線形媒質106は、マグネシウムドープニオブ酸リチウム結晶(MgO:PPLN)であってもよい。
【0126】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、同じ周波数の3つの入力光子を破壊し入力光子の周波数の3倍の周波数を有する光子を生成することを引き起こす第三次高調波発生である。したがって、第三次高調波発生は、入力周波数または代表的な数値に3を乗じる算術演算を効果的に実行する。したがって、乗算を実行するための装置100は、光子を第三次高調波発生に曝すものであってよく、乗算器と称され得る。
【0127】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、同じ周波数を有する任意の数の入力光子を破壊し入力光子の周波数より著しく高い周波数を有する光子を生成することを引き起こす高次高調波発生である。生成される光子の周波数は、入力光子の周波数の100倍から1000倍であり得る。したがって、高次高調波発生は、入力周波数または代表的な数値に100または1000などの大きな数を乗じる算術演算を効果的に実行する。高次高調波発生については、非線形媒質106は、ZnO結晶であってもよい。入力周波数は赤外線範囲内にあり、出力周波数は紫外線範囲内にあってよい。
【0128】
装置100によって算術演算が実行される光子が受ける可能性のある非線形現象の別の例は、異なる周波数の2つの入力光子を破壊し入力光子の周波数の差である周波数を有する光子を生成することを引き起こす差周波発生(DFG)である。出力のところに生成される光子の数は、入力光子の数に基づく。したがって、差周波生成は、低い周波数から高い周波数の減算、または代表数値の減算の算術演算を効果的に実行する。差周波生成のために、非線形媒質106はPPMgLN結晶であってもよく、入力周波数は400nmから3100nmの範囲内であってよい。入力周波数は30nmの増分単位としてよい。減算を実行するための装置は減算器と称され得る。減算を実行するための装置は、論理「AND」演算などの他の算術演算に使用され得るが、それは出力が「0」の差を与える場合、数値は同じであり、したがって論理「AND」の結果は、真または2進数「1」であるからである。
【0129】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、光パラメトリック増幅である。非線形媒質106は、ポンプ周波数とも称され得る、第1の周波数の入力光子および第2のより高い周波数の入力光子を受光し得る。光パラメトリック増幅は、ポンプ周波数の光子のパワーの一部を使用して第1の周波数による光子の増幅を引き起こし、アイドラー周波数とも称され得る、異なる周波数のさらなる光子の生成を引き起こす。ポンプ周波数は、第1の周波数とアイドラー周波数との組合せである。したがって、光パラメトリック増幅は、ポンプ周波数からの第1の周波数の減算がアイドラー周波数を発生させるので減算の算術演算を効果的に実行する。したがって、光パラメトリック増幅は、ポンプ周波数および第1の周波数の代表数値に対して減算を効果的に実行する。光パラメトリック増幅については、非線形媒質106は、MgOドープPPLN結晶であってもよい。
【0130】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、光パラメトリック発振である。非線形媒質106は、ポンプ周波数とも称され得る、第1の周波数の入力光子を受光し得る。したがって、光パラメトリック発振については、ただ1つの光子源のみが電力を供給される必要がある。光パラメトリック発振は、共振器内のパラメトリック増幅器を使用して信号周波数およびアイドラー周波数の光子の発生を引き起こす。入力ポンプ周波数は、出力信号周波数とアイドラー周波数との和である。したがって、光パラメトリック発振は、ポンプ周波数からのアイドラー周波数の減算が信号周波数を発生させるので減算の算術演算を効果的に実行する。したがって、光パラメトリック増幅は、ポンプ周波数およびアイドラー周波数の代表数値に対して減算を効果的に実行する。光子に光パラメトリック増幅を施す非線形媒質106は、図13に関して以下で説明されているように、分解器と称され得る。光パラメトリック発振については、非線形媒質106は、MgOドープPPLN結晶であってもよい。
【0131】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、同じ入力を利用し、光パラメトリック発振と同じ出力を生成するが共振器の代わりに非常高い利得を使用して光子の発生を引き起こす光パラメトリック発生である。したがって、光パラメトリック発生は、光パラメトリック発振と同じ算術演算を効果的に実行する。
【0132】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、半高調波発生である。非線形媒質106は、ポンプ周波数とも称され得る、第1の周波数の入力光子を受光し得る。半高調波発生は、特定の種類の光パラメトリック発振または光パラメトリック発生であり、共振器内のパラメトリック増幅器を使用して信号周波数およびアイドラー周波数の光子の発生を引き起こす。半高調波発生では、信号周波数およびアイドラー周波数は同じであり、したがってポンプ周波数は2で除算され、それにより信号周波数およびアイドラー周波数を生成する。したがって、半高調波発生は、入力周波数または代表数値を2で除算する算術演算を効果的に実行する。
【0133】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の別の例は、自発的パラメトリック下方変換である。非線形媒質106は、ポンプ周波数とも称され得る、第1の周波数の入力光子を受光し得る。自発的パラメトリック下方変換は、低利得領域における真空揺らぎの増幅を通して各入力光子を信号周波数の光子およびアイドラー周波数の光子に変換することを引き起こす。出力のところに生成される光子の数は、入力光子の数に基づく。入力ポンプ周波数は、出力信号周波数とアイドラー周波数との和である。したがって、自発的パラメトリック下方変換は、ポンプ周波数からのアイドラー周波数の減算が信号周波数を発生させるので減算の算術演算を効果的に実行する。したがって、自発的パラメトリック下方変換は、ポンプ周波数およびアイドラー周波数の代表数値に対して減算を効果的に実行する。自発的パラメトリック下方変換については、非線形媒質106は、βホウ酸バリウム結晶であってもよい。
【0134】
装置100によって算術演算が実行されることを引き起こす光子が曝され得る非線形現象の他の例は、光学整流および非線形光子物質相互作用である。光学整流については、非線形媒質106は、ニオブ酸リチウムLiNbO3結晶であってよい。
【0135】
光子が曝される特定の非線形現象は、非線形媒質106の種類、ならびに非線形媒質106に入射する光子の角度およびパワーなどの、装置の特定の条件に依存し得る。
【0136】
一例において、加算器(加算を実行するための装置100)は、和周波発生および第二次高調波発生の非線形現象について選択される、マグネシウムドープニオブ酸リチウム結晶(MgO:PPLN)の非線形媒質106を有し得る。そのような加算器は、たとえば、1500nm(199,862GHz)から始まり、870nm(344,589GHz)まで70nmずつ連続的に減少する周波数を有する10個の光子源を有し得る。したがって、第1の光子源102は、周波数199,862GHzの光子を出力し、第10の光子源は、周波数344,589GHzの光子を出力し得る。光子源は、より強い範囲、たとえば>2000W/cm2のものであってもよい。マグネシウムドープニオブ酸リチウム結晶は、上記の範囲の位相整合に特に効果的である。そのような入力周波数から結果として得られる出力周波数は、近赤外線から赤外線の範囲内にある。最も低い出力周波数は、第1の光子源の周波数を2倍にしたものになり、399,724GHzである。最も高い出力周波数は、第10の光子源の周波数を2倍にしたものになり、689,178GHzである。
【0137】
非線形媒質106に入射する光子の入力角度を制御することによって、これは光子が出力される角度および検出器108に入射する角度の制御を可能にする。和周波発生では、出力は法線から1度から10度離れた角度で読み取られ得る。第二次高調波発生では、出力は法線から最大30度離れた角度で読み取られ得る。
【0138】
図5から理解されるように、2つの光子源が図示され、2つの数値が説明されているが、装置100は、任意の数の数値を表し、第1および第2の光子源と同様に動作し得る、任意の数の光子源を備え得る。したがって、入力112は、それらの数値のうちの少なくとも1つの数値を示す信号111を受信し、ロジックは、信号111に基づいて任意の数の光子源を選択し得る。非線形媒質106に入射した選択されたすべての光子源からの光子は、非線形媒質106の非線形現象に曝され、任意の数の数値に対して算術演算を実行し、第3の数値を生成する。光子源の出力波長範囲は、700nmから440nmの範囲内としてよい。
【0139】
装置100は、光子源の数を変更することによって任意の基数で動作するように適合され得る。装置100内の光子源の数は、算術演算の基数に等しくてもよい。したがって、装置100は、2つの光子源を備えるので、2進法とも呼ばれる、2の基数で動作し、したがって状態「0」および「1」を表し得る。したがって、装置100が2の基数で算術演算を実行するときに、第1の光子源102によって出力される第1の周波数帯域または第1の周波数は、状態「0」を表し、第2の光子源104によって出力される第2の周波数帯域または第2の周波数は、状態「1」を表し得る。
【0140】
装置100の入力112によって受信された信号111は、状態「0」および「1」のうちの一方または両方を指示するものとしてよく、たとえば、信号は状態「0」を指示し得る。この信号に基づいて、ロジック110は、状態「0」に対応する第1の光子源102を選択する。第1の光子源102は、ロジックによって選択されたことに応答して第1の周波数帯域内の光子を出力する。第1の光子源102から出力された光子は、非線形媒質106に入射し、非線形媒質106の非線形現象に曝される。装置100がビット反転の算術演算を実行するための装置である場合、非線形現象は、光整流であってもよく、フェムト秒パルスまたはTHzパルスビームのいずれかである第3の周波数帯域内の周波数を有する光子を生成するために第1の周波数帯域内の周波数を有する2つの光子の破壊を引き起こす。検出器108は、第3の数値を表す第3の周波数帯域内の周波数を有する非線形媒質106から出力された光子を検出し、これはこの例では1である、0の反転となる。次いで、検出器は1の第3の数値を出力することができる。反転は、たとえば、正の数値を負の数値に、または負の数値を正の数値に変える1の補数を適用するために使用され得る。反転は、たとえば、加算を実行する装置100を使用して、反転を行わせ、反転された出力に「1」を加えることによって2の補数を適用するためにも使用され得る。
【0141】
上で説明されているように、装置100は、第1および第2の周波数帯域内の光子を出力するための2つの光子源を有するものとして上記に説明されているが、装置100の1つまたは複数の光子源は、代替的に、非線形媒質に向けて第1および第2の周波数帯域内の光子を出力するために第1の光子源のみ、すなわち単一の光子源を備え得る。第1の光子源によって出力される光子は、非線形媒質に入射する単一ビームであってもよい。したがって、説明において、複数の周波数帯域内の光子を出力するための2つまたはそれ以上の光子源を参照している場合、これは、複数の周波数帯域内の光子を出力するための単一の光子源で置き換えられ得る。単一の光子源は、任意の数の周波数帯域、たとえば、8または16個の周波数帯域において光子を出力するように構成され得る。単一の光子源は、算術演算の基数に対応する複数の周波数帯域内の光子を出力するためのものであってよい。ロジックは、単一の光子源が信号に応じて第1の周波数帯域および第2の周波数帯域の少なくとも一方の光子を出力するかどうかを選択し得る。2つの光子源に関して上で説明されているように、単一の光子源は、ロジック110によって特定の周波数帯域を出力するようにパワーオンおよびオフされるかもしくは命令され得るか、または常に1つもしくは複数の周波数帯域内の光子を出力し、光子源から出力された光子を受光し、周波数帯域の1つもしくは複数の光子を伝搬するかもしくは制限するかのいずれかを行うロジック110によって制御されるスイッチもしくはフィルタによって外部変調され得る。ロジックによって選択される周波数帯域の数は、算術演算に基づき得る。
【0142】
第1および第2の周波数帯域内の光子を出力するための例示的な単一の光子源は、光学的にポンピングされた連続波ソリトン周波数コムレーザーであり、これは、単一のポンプCWレーザーからたとえば0.8nmステップで1450nmから1650nmの範囲の波長出力を生成することができる。たとえば、レーザーは単一ビーム内で256個の異なる周波数を発生することができるものとしてよい。複数の周波数帯域内の光子を含む単一ビームを出力するための単一の光子源を提供することで、非線形媒質が単一ビームに対してより効果的にチューニングされ得るので、装置のサイズを縮小し変換効率を高める。
【0143】
実際、本明細書において説明されている任意の装置の第1および第2の光子源ならびに任意のさらなる光子源は、非線形媒質に向けて少なくとも第1および第2の周波数帯域内の光子を出力するための単一の光子源で置き換えられ得る。
【0144】
図4は、別の例による算術演算を実行するための装置400の概略図である。算術演算は、所定の基数で実行される。装置400は、図1の装置100に基づく。装置400は、図1の装置100と同じコンポーネントを備える。装置400は、フィルタ416も備える。
【0145】
位相整合を最適化するために、非線形媒質106は、複屈折性結晶であってもよい。これは、複屈折性結晶が異なる偏光に対して異なる屈折率を有するので位相整合条件を最適化する。これは、結晶を回転させて偏光をチューニングし位相整合を達成することができることを意味する。位相整合を最適化するもう1つの方法は、光子源102、104が第3の周波数帯域内の光子の密度が最も高くなるように非線形媒質106に関して位置決めされ得る角度チューニングを実行することである。光子源の位置は、非線形媒質106上のビーム入力の角度が制御されるように制御され得る。各光子源の角度をその光子源によって出力される光子の波長に基づいてチューニングすることで、非線形媒質内の変換効率を高める。位相整合を最適化する他の方法は、温度チューニング、準位相整合、および所望の波長に対して非線形媒質106からの出力をフィルタリングするフィルタ416などのフォトニックフィルタの使用である。
【0146】
非線形媒質106から出力される光子120は、第3の数値を表す第3の周波数帯域内の周波数を有するが、他の周波数の光子も生成され得る。たとえば、第5の周波数ω5の光子および第6の周波数ω6は、図4に例示されているように、非線形媒質106から出力されてもよく、第5および第6の周波数は第3の周波数とは異なる。第5および第6の周波数は、第3の周波数帯域内になくてもよい。第5の周波数ω5および/または第6の周波数ω6の光子は、分散およびウォークオフなどの他の制限によって引き起こされ得る。これらの光子は望ましくない。フィルタ416は、非線形媒質106から出力された光子を受光し、所望の第3の周波数ω3または第3の周波数帯域内の光子をフィルタ416に透過させることを可能にするのみであり、他の周波数の光子が透過するのを停止する。したがって、フィルタ416は、フィルタ416を伝搬する第3の周波数を残して、望ましくない第5の周波数ω5および第6の周波数ω6を除去する。この結果、検出器は所望の第3の周波数ω3または第3の周波数帯域の光子のみを受光する。次いで、検出器108は、第3の周波数または第3の周波数帯域ω3の受光された光子から第3の数値を決定することができる。
【0147】
フィルタ416は、特定の周波数より高いおよび特定の周波数より低い光子をフィルタリングし得る。フィルタは、所与の周波数範囲または帯域内の光子のみを透過するバンドパスフィルタであってもよい。フィルタは、所与の周波数より高い周波数を有する光子をフィルタリングするロングパスフィルタであってもよい。フィルタは、所与の周波数より低い周波数を有する光子をフィルタリングするショートまたはローパスフィルタであってもよい。たとえば、ショートパスフィルタは、入力周波数に等しい周波数を有する光子が除去されることを確実にし得る。ショートパスフィルタは、700nm超、870nm未満のカットオフ波長を有してもよく、カットオフ波長は入力波長に基づく。
【0148】
図5は、別の例による算術演算を実行するための装置500の概略図である。算術演算は、所定の基数で実行される。装置500は、図1の装置100に基づく。装置500は、図1の装置100と同じコンポーネントを備える。装置500は、いくつかの実施形態において図4のフィルタ416も備え得る。装置500は、第4の数値を表す第4の周波数帯域ω4内の光子を出力するための第3の光子源514をさらに備える。第1の光子源102、第2の光子源104、および第3の光子源514はすべて、非線形媒質106に向けて光子を同時に出力し得る。代替的に、コントローラであり得る、ロジック110は、光子を出力するために第1の光子源102、第2の光子源104、および第3の光子源514のうちの1つまたは2つを選択し得る。ロジックによる選択は、図1に関して説明されており、任意の数の光子源に適用される。図5の装置500は、第1の光子源102、第2の光子源104、および第3の光子源514を備えるが、装置500は、図1に関して上で説明され、図6に関して下で説明されるように、任意の数の光子源を備え得る。たとえば、図1に関して説明されているように、装置500は、複数の周波数帯域、たとえば、第1の周波数帯域、第2の周波数帯域、および第4の周波数帯域内の光子を出力するための単一の光子源を備え、ロジックは、伝搬するために、または単一の光子源が出力するために、周波数帯域のうちの1つまたは2つから光子を選択し得る。
【0149】
第1の光子源102は、第1の周波数帯域内の光子を出力し、第2の光子源104は、第2の周波数帯域内の光子を出力し、第3の光子源514は、第4の周波数帯域内の光子を出力する。第1、第2、および第4の周波数帯域は重なり合わなくてもよい。代替的に、第1、第2、および第4の周波数帯域は、部分的に重なり合ってもよい。第1の光子源102は、実質的に第1の周波数帯域内の第1の周波数ω1で光子を出力するものとしてよく、第2の光子源104は、実質的に第2の周波数帯域内の第2の周波数ω2で光子を出力するものとしてよく、第3の光子源514は、実質的に第4の周波数帯域内の第4の周波数ω4で光子を出力し得る。第1、第2、および第4の周波数は異なり得る。各周波数は1つの数値を表し得るので、第1、第2、および第4の周波数によって表される数値は、異なり得る。
【0150】
装置500内の光子源の数は、算術演算の基数に対応し得る。したがって、装置500は3つの光子源を備えるので、3の基数で動作し得る。上で述べたように、3進数としても知られる、3の基数については、数値は3つの状態、すなわち「0」、「1」、および「2」によって表され得る。したがって、装置500が3の基数の算術演算を実行するためのものであるときに、第1の周波数帯域内または第1の光子源102によって出力される第1の周波数の光子は、状態「0」を表し、第2の周波数帯域内または第2の光子源104によって出力される第2の周波数の光子は、状態「1」を表し、第4の周波数帯域内または第2の光子源104によって出力される第4の周波数の光子は、状態「2」を表し得る。
【0151】
装置500の入力112によって受信された信号111は、状態0、1、および2のうちの1つまたは複数を指示するものとしてよく、たとえば、信号は状態0および1を指示し得る。この信号に基づいて、ロジック110は、単位0に対応する第1の光子源102と、単位1に対応する第2の光子源104とを選択する。第1の光子源102は、ロジックによって選択されたことに応答して、第1の周波数帯域内の光子を出力し、第2の光子源104は、第2の周波数帯域内の光子を出力する。第1の光子源102および第2の光子源104から出力された光子は、非線形媒質106に入射し、非線形媒質106の非線形現象に曝される。装置500が、加算の算術演算を実行するためものである場合、非線形現象は和周波発生であり、第1の周波数帯域内の光子および第2の周波数帯域内の光子を破壊して第3の周波数帯域内の光子を発生させる。第3の周波数帯域内の光子の周波数は、第1の周波数帯域内の光子の周波数と第2の周波数帯域内の光子の周波数の和である。次いで、検出器108は、非線形媒質106から出力された光子が、第3の数値、この例では「0」と「1」の加算である「1」を表す第3の周波数帯域内の周波数を有することを検出する。次いで、検出器は「1」の第3の数値を出力する。
【0152】
図5に例示されている3つの光子源は、3の基数を有する、平衡3進数を実装するために使用され得る。装置が平衡3進数を実装するときに、第1の光子源102は
【数4】
を表し、第2の光子源104は「0」を表し、第3の光子源514は「1」を表し得る。
【0153】
図5の装置500または図1の装置100は、図6に例示されているように、8個の光子源を備え得る。図6は、算術演算を実行するための装置の光子源600の例示的な図解である。図6に例示されている光子源600の各々は、各光子源602、604、606、608、610、612、614、616から出力される異なる波によって示されるように、異なる周波数または異なる周波数帯域内の光子を出力する。各光子源からの出力周波数または周波数帯域は、数値を表し得る。
【0154】
装置内の光子源の数は、算術演算の基数に等しくてもよい。したがって、図6の8個の光子源を備える装置は、状態「0」、「1」、「2」、「3」、「4」、「5」、「6」、および「7」を有する、8の基数で動作し得る。光子源602は、状態「0」を表す周波数または周波数帯域内の光子を出力する。光子源604は、状態「1」を表す周波数または周波数帯域内の光子を出力する。光子源606は、状態「2」を表す周波数または周波数帯域内の光子を出力する。光子源608は、状態「3」を表す周波数または周波数帯域内の光子を出力する。光子源610は、状態「4」を表す周波数または周波数帯域内の光子を出力する。光子源612は、状態「5」を表す周波数または周波数帯域内の光子を出力する。光子源614は、状態「6」を表す周波数または周波数帯域内の光子を出力する。光子源616は、状態「7」を表す周波数または周波数帯域内の光子を出力する。各光子源によって出力される周波数は、代表状態が増大するにつれて増加し得る。したがって、光子源602は低い周波数を出力し、光子源612は高い周波数を出力し得る。
【0155】
図6の光子源600が本明細書において説明されているような装置で使用されるときに、装置の入力112によって受信される信号111は、状態「0」、「1」、「2」、「3」、「4」、「5」、「6」、および「7」のうちの1つまたは複数を指示するものとしてよく、たとえば、信号は状態「2」および「5」を指示し得る。この信号に基づいて、ロジック110は、状態「2」対応する光子源606と、状態「5」に対応する光子源612とを選択する。これは、電力が光子源606および612にのみ印加されることを意味し得る。光子源606は、状態「2」に対応する周波数または周波数帯域内で非線形媒質106に向けて光子を出力し、光子源612は、ロジックによって選択されたことに応答して状態「5」に対応する周波数または周波数帯域内で非線形媒質106に向けて光子を出力する。
【0156】
光子源から出力された光子は、非線形媒質106に入射し、非線形媒質106の非線形現象に曝される。装置が減算の算術演算を実行するためのものである場合、非線形現象は差周波発生である。差周波発生は、各周波数の光子の破壊を引き起こし、第3の周波数帯域の光子を発生させ、発生した光子は入力光子の周波数間の差である周波数を有する。次いで、検出器108は、非線形媒質106から出力された光子が、第3の数値、この例では「5」からの「2」の減算である「3」を表す第3の周波数帯域内の周波数を有することを検出する。次いで、検出器は「3」の第3の数値を出力することができる。
【0157】
図7は、算術演算が加算であるときの例示的な真理値表700である。この真理値表は、8の基数に対するものである。これは、一番左の列および一番上の行内の入力数値および残りのセルを内の出力数値を例示している。例示されている出力数値は、装置が8の基数の加算を実行するためのものであるときの入力数値に基づく。陰影のないセルは、出力数値が8の基数の単一の出力単位で表され得る。たとえば、入力が数値「3」および「4」であるときに、出力数値は「7」であり、これは基数8の状態のうちの1つの状態であり、したがって8の基数の単一の出力単位によって表され得る。陰影を付けたセルは、出力数値が8の基数の単位によって表現できないので、桁上げ単位がセットされるときのものである。たとえば、入力が単位「5」および「4」であるときに、出力数値は「9」であり、これは基数8の状態のうちの1つの状態ではないので、8の基数で表現できない。これは、結果「9」がその基数で許容可能な最大の数値より大きいからである。これが生じたときに、その単位に付けられる、桁上げビットであってもよい、桁上げ単位がセットされるか、またはインクリメントされ得る。たとえば、結果として得られる値9について、桁上げ単位がセットされるかまたはインクリメントされ、出力数値が最大の数値を超えたことを示し、次いで、出力される単位は、最大の数値より大きい数値にセットされ、これは結果として得られる値9に対して2である。したがって、出力される数値は、「2」の出力単位および「1」の桁上げ単位からなるものとしてよい。出力単位および桁上げ単位が検出されたときに、これは、値7(桁上げ単位によって与えられる)が出力単位2に加えられ、9の結果を与え得ると理解されるべきである。装置の検出器108が、その基数によって許容可能な最大の数値より大きい第3の数値を検出した場合、検出器は、出力単位を指示する信号を送信することに加えて、出力をルーティングして桁上げ単位を指示するフラグをセットするか、または信号を送信することができる。その基数によって許容可能な最大の数値に達し、桁上げ単位がセットされた場合、第2の桁上げ単位がセットされるか、または桁上げ単位は「2」にインクリメントされ、次いで、出力単位は最大の数値より大きい数値にセットされる。
【0158】
図8は、一例による算術演算を実行するための方法800のフローチャートである。方法800は、非線形媒質106を使用して所定の基数で算術演算を実行するためのものである。この方法は、本明細書において説明されている任意の装置、たとえば図1の装置100、図4の装置400、または図5の装置500を使用して実行され得る。方法800は、少なくとも1つの光子源を使用して算術演算を実行するための方法である。
【0159】
方法800は、第1の数値を示す信号111を受信する802ことを含む。方法800は、信号に応じて第1の光子源の第1の周波数帯域を選択する804ことをさらに含む。たとえば、第1の光子源の第1の周波数帯域を選択する804ことは、第1の光子源が第1の周波数帯域内で光子を出力する第1の光子源を選択する804ことを含み得る。方法800は、第1の光子源から非線形媒質106に向けて第1の周波数帯域の光子を出力する806ことをさらに含み、第1の周波数帯域は第1の数値を表す。方法800は、光子源から伝搬した光子が非線形媒質106に入射したことに応答して非線形媒質106から出力された第3の周波数帯域内の光子を検出する808ことをさらに含み、第3の周波数帯域は第3の数値を表す。非線形媒質106に入射した光子は、第1の数値に算術演算を実行して第3の数値を生成する非線形媒質106の非線形現象に曝される。
【0160】
図9は、別の例による算術演算を実行するための方法900のフローチャートである。方法900は、非線形媒質106を使用して所定の基数で算術演算を実行するためのものである。方法900は、1つまたは複数の光子源を使用して算術演算を実行するための方法である。この方法は、本明細書において説明されている任意の装置、たとえば図1の装置100、図4の装置400、または図5の装置500を使用して実行され得る。
【0161】
方法900は、第1の数値および第2の数値を示す信号111を受信する902ことを含む。方法900は、図8の方法800において説明されているように、信号に応じて第1の光子源の第1の周波数帯域を選択する804ことをさらに含む。方法900は、信号に応じて第1の光子源または第2の光子源の第2の周波数帯域を選択する906ことをさらに含み得る。たとえば、第1の光子源の第2の周波数帯域は、第1の光子源が非線形媒質に向けて第1の周波数帯域および第2の周波数帯域内の光子を出力するためのものであるときに選択され得る。別の例では、第2の光子源の第2の周波数帯域は、第1の光子源が非線形媒質に向けて第1の周波数帯域内の光子を出力するためのものであり、第2の光子源が非線形媒質に向けて第2の周波数帯域内の光子を出力するためのものであるときに選択され得る。方法900は、図8の方法800において説明されているように、第1の光子源から非線形媒質106に向けて第1の周波数帯域の光子を出力する806ことをさらに含み、第1の周波数帯域は第1の数値を表す。方法900は、非線形媒質106に向けて第1の光子源または第2の光子源から第2の周波数帯域内の光子を出力する910ことをさらに含み、第2の周波数帯域は第2の数値を表す。方法900は、たとえば第1の光子源および任意選択で第2の光子源からの両方の周波数帯域内の光子が非線形媒質106に入射したことに応答して非線形媒質106から出力された第3の周波数帯域内の光子を検出する912ことをさらに含み、第3の周波数帯域は第3の数値を表す。いくつかの例において、第3の周波数帯域内の光子は、3つの周波数帯域内の光子が非線形媒質106に入射したことに応答して非線形媒質106からすでに出力されていることもあり得る。光子源は3つあり、各光子源は3つの周波数帯域のうちの異なる周波数帯域内の光子を出力するためのものであり得るか、または3つの周波数帯域すべてにおける光子を出力するための光子源が1つあってもよい。非線形媒質106に入射した光子は、第1の数値および第2の数値に対して算術演算を実行して第3の数値を生成する非線形媒質106の非線形現象に曝され得る。この方法は、任意の数の光子源を使用して実行され得る。そのため、方法900は、少なくとも1つのさらなる光子源から非線形媒質106に向けて少なくとも1つのさらなる周波数帯域内の光子を出力することをさらに含み得る。
【0162】
図10は、一例による算術論理演算装置(ALU)1000の概略図である。
【0163】
ALU1000は、算術演算を実行するコンピュータプロセッサの一部、またはCPUであり得る。ALU1000は、CPUの制御ユニット(CU)から特定の演算を実行する命令を与えられ得る。たとえば、CUは、ALU1000にデータを送信し、ALU1000からデータを受信し得る。また、ALU1000は、CPUの入力レジスタにデータを送信し、入力レジスタからデータを受信し得る。ALU1000は、加算、減算、2の補数、インクリメント(たとえば、「1」に相当する単位を加算する)、デクリメント(たとえば、「1」に相当する単位を減算する)、パススルー、桁上げ、AND、OR、XOR、1の補数、算術シフト、論理シフト、およびローテートの標準算術演算のいずれかを実行し得る。ALU1000は、装置が実行することができる任意の算術演算を実行し得る。
【0164】
ALU1000は、装置1002を含む。装置1002は、本明細書において説明されている装置のどれであってもよく、たとえば図1の装置100、図4の装置400、または図5の装置500であってよい。したがって、ALU1000は、フォトニクスを利用して算術演算を実行する。ALU1000は、装置1002と同じ基数で動作し得る。したがって、ALU1000は、2より大きい基数で動作し得る。したがって、ALU1000は、任意の基数の任意の数値に対して算術演算を実行し得る。
【0165】
例示的な一実装形態において、ALU1000は、装置1002を通る複数のパスを使用して算術演算を実行し得る。装置1002を通る最初のパスの後、検出器108は、装置1002からの第3の数値を示すフォトニック信号または電気信号を出力し得る。この信号は、CPU内の記憶領域に送信され、および/または制御ユニットによって制御され得る。複数の加算などの複数の算術演算が望ましい場合、装置1002の検出器108からの信号出力114は、第2のパスのために装置1002の入力112にフィードバックされ得る。たとえば、2つの入力および桁上げが加算される必要がある場合、これは3つの入力が加算される必要があることを意味する。したがって、第1のパスにおいて、上で説明されているように2つの入力が加算され、第2のパスで、第1のパスからの出力、および桁上げが加算され、その結果、3つの入力すべてが加算される。したがって、装置1002を2回通過することは、3つの入力が加算されることを可能にし、別のクロックサイクルが必要ないので、CUは第2のパスが発生する間、次の命令のフェッチおよびデコードを次々に続けることができ、これは時間全体のクロック速度は影響を受けないことを意味する。代替的に、第2のパスは第2の装置によって実行されてよく、したがって、装置はカスケード構成で配置され、第1の装置の出力が第2の装置に入力される。カスケード構成の装置は、2つよりも多い数値に対して算術演算を実行する能力も提供する。
【0166】
ALU装置1000は、電子コンポーネントに接続され得るので、その入力において電気信号を受信し、電気信号を出力し得る。たとえば、ALUは電子CUに接続され得る。したがって、ALUを含むCPUは、ハイブリッドエレクトロフォトニックCPUであってもよい。代替的に、ALUは、フォトニックコンポーネントに接続され得るので、その入力においてフォトニック信号を受信し、フォトニック信号を出力し得る。たとえば、ALUはフォトニックCUに接続され得る。したがって、ALUを含むCPUは、オールフォトニックCPUであってもよい。
【0167】
図11は、別の例によるALU1100の概略図である。ALU1100は、図10のALU1000の一例である。ALU1100は、2つの装置1102、1104を含む。各装置1102、1104は、本明細書において説明されている装置のどれであってもよく、たとえば図1の装置100、図4の装置400、または図5の装置500であってよい。装置1102、1104は、これらの算術演算を同じ基数で実行してもよい。装置1102、1104は、異なる算術演算を実行するためのものであってもよい。これは、各装置1102、1104の非線形媒質106に入射する光子が異なる非線形現象に曝されることに起因し得る。たとえば、装置1102は、装置1102の非線形媒質106に入射する光子が和周波発生に曝されることによって加算を実行し、装置1104は、装置1104の非線形媒質106に入射する光子が差周波発生に曝されることによって減算を実行し得る。
【0168】
ALU1100は、機能が任意選択であることを示す破線で例示されているコントローラ1108をさらに含んでもよい。コントローラ1108は、図1を参照しつつ説明されているように、入力1106を受信し、装置1102および/または装置1104の入力112に信号111を送信し得る。装置1102、1104が異なる算術演算を実行するためのものである場合、コントローラ1108は、実行されべき算術演算を決定し得るか、または特定の算術演算を実行する命令をその入力1106において受けてもよい。コントローラ1108は、次いで、算術演算に基づいて、装置1102、1104に命令信号を送信し得る。命令信号は、フォトニック信号または電気信号であってよい。コントローラ1108は、対応する算術演算を実行するためのものである装置1102、1104に命令信号を送信するだけであるか、またはその両方に命令信号を送信してもよいが、対応する算術演算を実行するためのものである装置1102、1104がこの命令信号に基づいて光子を出力するべきであることを指示するだけであり得る。対応する算術演算を実行するためのものである装置1102、1104は、次いで、算術演算を実行し得る。たとえば、装置1102が加算を実行し、装置1104が減算を実行する場合、コントローラ1108は、2つの数値を加算する命令を受信し、その命令信号を装置1102に送信し得る。
【0169】
ALU1100は、2つの装置1102、1104を含むものとして例示されているが、ALU1100は、任意の数の装置を含んでいてもよい。各装置は、コントローラ1108に接続され得る。ALU1100は、各装置が異なる算術演算を実行するためのものである複数の装置を含み得る。たとえば、ALU1100が5つの異なる算術演算をサポートする場合、ALU1100は5つの装置を含み得る。
【0170】
図12は、別の例によるALU1200の概略図である。ALU1200は、図10のALU1000および図11のALU1100の一例である。ALU1200は、2つの装置1202、1204を含む。これらは、図11のALU11000の装置1102、1104と同じであってよい。ALU1200は、コントローラ1208を備え、これは図11のALU1100のコントローラ1108であってよい。
【0171】
ALU1200の装置1202、1204は接続される。したがって、第1の装置1202は、第2の装置1204と併せて使用される。
【0172】
図13は、装置1202、1204が接続され得る一方法を例示している。図13は、図12の算術論理演算装置1200の装置1202、1204の例示的な概略図1300である。この構成では、第1の装置1202および第2の装置1204は、本明細書において説明されている装置のどれであってもよく、たとえば図1の装置100、図4の装置400、または図5の装置500であってよい。第1の装置1202および第2の装置1204は、各々、非線形媒質106に加えて分解器1306をさらに備え得る。分解器1306は非線形媒質の一種であり、入力周波数の光子を受光し、2つの異なる出力周波数の光子を発生する。出力の周波数の和は、入力における周波数と等価である。分解器1306は、非線形現象が光パラメトリック発生であるときに使用され得る。装置1202、1204の非線形媒質106は、光子を和周波発生に曝し、したがって加算に使用される。したがって、装置1102、1204の各々は、2つの非線形現象を使用して2つの算術演算を実行する。
【0173】
図13の構成では、第1の装置1202の第1の光子源102は、第1の周波数帯域ω1内の光子を出力し得る。第1の装置1202の分解器1306は、光子を受光し、第3の周波数帯域ω3および第4の周波数帯域ω4内の光子を出力し得る。第4の周波数帯域ω4内の光子は、第1の装置1202から第2の装置1204に伝送される。第3の周波数帯域ω3内の光子は、第1の装置1202の非線形媒質106に伝送される。
【0174】
同時に、第2の装置1204の第2の光子源104は、第2の周波数帯域ω2内の光子を出力し得る。第2の装置1204の分解器1306は、光子を受光し、第5の周波数帯域ω5および第6の周波数帯域ω6内の光子を出力し得る。第5の周波数帯域ω5内の光子は、第2の装置1204から第1の装置1202に伝送される。第6の周波数帯域ω6内の光子は、第2の装置1204の非線形媒質106に伝送される。
【0175】
したがって、第1の装置1202の非線形媒質106は、第3の周波数帯域ω3内の光子および第5の周波数帯域ω5内の光子を受光し、入力周波数の和である第7の周波数帯域ω7の光子を出力する。第2の装置1204の非線形媒質106は、第4の周波数帯域ω4内の光子および第6の周波数帯域ω6内の光子を受光し、入力周波数の和である第8の周波数帯域ω8の光子を出力する。
【0176】
図13に提示されている装置1202、1204の構成は、複素数の加算で使用され得る。たとえば、第1の周波数帯域ω1は第1の複素数を表し、第2の周波数帯域ω2は第2の複素数を表し得る。第1の周波数帯域ω1内の周波数を有する光子および第2の周波数帯域ω2内の周波数を有する光子は、分解器1306によって、複素数の実数部および虚数部を表す周波数を有する光子に分割され得る。たとえば、第1の周波数帯域ω1内の周波数を有する光子は、第1の装置1202の分解器1306によって、第1の複素数の実部を表す第3の周波数帯域ω3内の周波数を有する光子と、第1の複素数の虚部を表す第4の周波数帯域ω4内の周波数を有する光子とに分割され得る。同様に、第2の周波数帯域ω2内の周波数を有する光子は、第2の装置1204の分解器1306によって、第2の複素数の実部を表す第5の周波数帯域ω5内の周波数を有する光子と、第2の複素数の虚部を表す第6の周波数帯域ω6内の周波数を有する光子とに分割され得る。したがって、第1の装置1202の非線形媒質106に入射する光子は、複素数の実部を表し、第2の装置1204の非線形媒質106に入射する光子は、複素数の虚部を表す。したがって、複素数の実数部および虚数部は、別々に総和され、結果として得られる複素数を求めることができる。第1の装置1202の非線形媒質106は、第3の周波数帯域ω3と第5の周波数帯域ω5との和であり、その結果、第1の複素数と第2の複素数の実部の和である第7の周波数帯域ω7の光子を出力する。第2の装置1204の非線形媒質106は、第4の周波数帯域ω4と第6の周波数帯域ω6との和であり、その結果、第1の複素数と第2の複素数の虚部の和である第8の周波数帯域ω8の光子を出力する。したがって、図13の装置1202、1204からの出力は、装置1202、1204に入力された第1および第2の複素数の和である複素数(実部が第1の装置によって提供され、虚部が第2の装置1204によって提供される)を提供する。したがって、図13の構成における第1および第2の装置1202、1204を含むALU1300は、複素数の加算を実行することができる。
【0177】
図14Aおよび図14Bは、例示的なフォトニック制御ユニット1500の概略図である。図14Aは、例示的なフォトニック制御ユニット1500の概略図を提示し、図14Bは、フォトニック制御ユニット1500内の要素1550の概略図を提示する。この制御ユニット1500は、本明細書において説明されている任意の装置とともに使用するためのものである。制御ユニット1500は、CPU内の装置に付属し得る。制御ユニットは、図10に関して説明されているように動作し得る。制御ユニット1500は、任意の基数とともに使用されるように適合されてよく、したがって、制御ユニットと本明細書において説明されている装置との組合せは、2より大きい基数が使用されることを可能にし、したがってより効率的で高速なプロセッサを提供するので有利である。
【0178】
図14Aに示されているフォトニック制御ユニット1500は、2つのプリズム1504、1512、および図14Bに例示されているフォトニック要素1550のグリッドを備える。各フォトニック要素1550は、ダイオード1552、ANDゲート1556、および2つのフォトニックセンサ1554、1558を備える。フォトニック制御ユニット1500において、2つの入力、すなわち命令ビーム1502および数値ビーム1510が提供される。フォトニック要素1550は、各行1506、1508が命令を表し、各列1514、1516が異なる波長においてその命令に対する対応する出力を表すグリッドを形成する。図には5行、10列が示されているが、フォトニック制御ユニット1500は、任意の数の行および列を含み得る。命令ビーム1502は第1のプリズム1504に入力され、命令はその命令を表す行に屈折される。命令は、特定の算術演算を指示し得る。数値ビーム1510は第2のプリズム1512に入力され、その数値を表す列内に屈折する。命令ビーム1502および数値ビーム1510の屈折は、各ビームの特性であるビームの波長に起因し得る。屈折されたビームを有する行および列は、光が両方のフォトニックセンサ1554、1558に入射することを引き起こす関連する要素において交差する。フォトニックセンサ1554、1558は、入射光の変化を抵抗の変化に変換するフォトレジスタであってよく、これは電流が通ることを許し、したがって、光が変化したときに高出力がANDゲート1556に高出力が入力されることを可能にする。ANDゲート1556は、両方のフォトニックセンサから高出力を受け取ったときに、これは電圧(「1」を示す)を出力する。これは、ダイオード1552に電力を供給し、特定の周波数の単一の出力ビームを生成する。要素からのこの出力は、したがって、数値および命令に対応する。複数の数値がある場合、行内の屈折されたビームは、複数の列内の屈折されたビームと相互作用し、その結果、複数の交差が生じ、その結果、複数の要素が数値および命令に関連するビームを生成し出力する。ダイオードからの出力は、次いで、本明細書において説明されている装置の入力112に送られ得る。たとえば、命令が加算の算術演算を指示する場合、フォトニック制御ユニットの出力は、本明細書において説明されているような加算器の入力112に送られ得る。
【0179】
図15Aは、本明細書において説明されている装置の1つまたは複数、たとえば図1の装置100、図4の装置400、または図5の装置500を含む例示的な全加算器1600を例示している。全加算器1600は、SFGに使用される、「+」をラベルとして付けられている複数の非線形媒質1602と、DFGに使用される、「-」をラベルとして付けられている複数の非線形媒質1604とを備え得る。各コンポーネントを接続する線は導波路であってもよい。加算器1600は、シングルパス全加算器(single pass full adder)であってもよい。加算器1600は16の基数で動作し、したがって16進加算器である。加算器1600の16回連鎖は、シングルパスで動作する64ビット全加算器の作成を可能にする。
【0180】
加算器1600は、0から15の値を有する2つの数値の加算を実行し、各数値は光子周波数または周波数帯域によって表される。加算器1600は、3つの変数入力を有し、総和する2つの数値はAおよびBで表され、桁上げ入力はCinとラベル付けされている。3つの定数は、また、システムに入力され、ω0、ω1、およびω16とラベル付けされ、それぞれ数値0、1、16を表す周波数に対応する。したがって、加算器1600は、6つの異なる周波数帯域内の光子を出力する単一の光子源を備えてよく、各周波数帯域は入力のうちの1つを表すか、または加算器1600は、6つの光子源を備えてよく、各光子源は異なる周波数帯域の光子を出力するためのものであり、各周波数帯域は入力のうちの1つを表す。これらの入力はどれも、たとえば光学スプリッタを使用して分割され得る。
【0181】
数値AおよびBを表す周波数を有する光子は、数値を総和するために第1のSFG媒質1602に入力される。このSFG媒質1602の出力は、DFG媒質1604に入力され、これもまた同じく入力ω0を受ける。この媒質の目的は、光子の周波数を1500nmの範囲まで下げることである(数値の和を効果的にシフトして元の帯域幅に戻す)が、それは、別の加算が実行された場合に光子の波長がシリコンによって吸収される約300nmに達することを引き起こすからである。DFG媒質1604の出力は、別のSFG媒質1602に入力され、AとBとの縮小された和を桁上げ入力Cinに加算して、A、B、Cinの和を生成する。全加算器1600は、A、BおよびCの和を表す光子周波数が15より大きい場合にはA、BおよびCinの和を表す光子を点1までルーティングし、15以下の数を表す場合には点2までルーティングする、プリズムなどのスプリッタを備え得る。
【0182】
点2では、値は周波数帯域内で1.5アルファ(アルファは元の入力周波数帯域幅である)の帯域幅にあるω0の値だけシフトされる。これは、次いで、点5でω/2内にあるω0と総和され、アルファ帯域幅内にある結果を生成する。点1では、値が分割され、1つの分割が1.5アルファ内にあるω16の値でDFGを受ける。その結果は、次いで、点5で上記の同じDFG媒質に加えられる。他の分割は、ω0を有するDFGに渡され、値が存在する場合にはω0は渡されない。値が存在しない場合、ω0が渡される。別のDFG媒質は、ω0が渡された場合にω1の値をキャンセルするような結果を受け入れる(結果がない場合はω1が渡される)。これは、点1での値の存在に応じて0または1のいずれかの桁上げを発生する。点5におけるDFG媒質の出力は、主出力を提供する。
【0183】
図15Bは、本明細書において説明されている装置の1つまたは複数、たとえば図1の装置100、図4の装置400、または図5の装置500を含む例示的な乗算器1650を例示している。乗算器1650は、SFGに使用される、「+」をラベルとして付けられている複数の非線形媒質1602と、DFGに使用される、「-」をラベルとして付けられている複数の非線形媒質1604とを備え得る。乗算器1650は、シングルパス乗算器(single pass multiplier)であってもよい。乗算器1650は16の基数で動作し、したがって16進乗算器であってよい。乗算器1650は次のように動作する。
【0184】
データAおよびデータBが、桁上げとともに乗算する2つの変数としてシステム内に渡される。これらの値は両方とも基数16の数である。これらは、16個の異なる周波数のセットから選択された単一の周波数の光子の形態を取る。16個の周波数のセットは0から15までの値を表す。定数ω0もシステム内に入力され、ω0で入力される光子は数0を表す周波数を有する。したがって、乗算器1650は、3つの異なる周波数帯域内の光子を出力する単一の光子源を含み、各周波数帯域は入力のうちの1つを表す。代替的に、乗算器1650は3つの光子源を備え、各々異なる周波数帯域で光子を出力し、各周波数帯域は入力のうちの1つを表す。
【0185】
データAは点1で分割され、一方の側が倍にされ、他方の側が点2に渡される。倍にした後、Aは再び分割され、点3に渡され、他方の分割はもう一度倍にされる。これは繰り返され、Aはしかるべく点4および5に渡される。データBはデマルチプレクサ(図示せず)に渡され、二次的な「not」値とともに、それの一致するビット値に分割される。各ビット値はそれぞれ点2、3、4、および5に渡される。各点において、bはこの点でのaの値とともにDFGに渡され、bb(二次的なnot値)はω0を有する別のDFGに渡される。bのビット値がDFGに存在している場合、この点においてω0またはaのいずれかの値を渡す。これは、点2、3、4、および5のすべてで繰り返される。各点の結果として得られる値が総和され、答えが出力される。出力は、結果を読み取るために、フォトダイオードなどの、1つまたは複数の検出器に入射し得る。乗算器1650を16回連鎖することで、64ビットのシングルパス乗算器を作成することができる。
【0186】
シングルパス加算器および乗算器は、シングルパスアーキテクチャにおいてより複雑なアルゴリズムを使用可能にするので有利である。電子機器は、現在、SHA-256の単一のハッシュを完了するのに数百クロックサイクルを要しており、したがって、これを単一サイクルに短縮すれば、計算効率が劇的に向上するであろう。また、計算中にチューニングされる必要のない変調の単一のセットによって動作させられるので、ハッシュを完了する待ち時間も大幅に短縮される。単一のパスで加算と乗算を実行することも、電力消費量を有利に削減する。
【0187】
特に、電気ドメインでの乗算は、最先端の電子機器を使用しても複数のサイクルを要し、乗算のビット幅を大きくするにつれて時間計算量が増大する。乗算器1650は、光ドメインにおけるシングルパス乗算、すなわち単一のサイクルでの乗算を提供する。これは、乗算の待ち時間および乗算完了までのサイクルの両方を短縮する。
【0188】
ALU1000は、次の実験セットアップを使用してテストされ、次の結果を得た。
【0189】
光ファイバー接続を使用して、8の基数による光ファイバープロトタイプALUがセットアップされた。8の基数が選択されたのは、8ビットが64に分割可能であるからであり、これは64ビットワードがバイトに分割され個別に処理できることを意味する。8個の光子源がALUに付属していた。個々の数値の可能な加算のすべての組合せを繰り返すプログラムが作成され、ALUに接続された。このプログラムは、0~255のすべての数を、同じセット内の他のすべての数と総和し、ALUからの出力を、予想される結果およびエラー率とともに、ファイルに保存した。
【0190】
作成された繰り返しプログラムは、Raspberry Pi(商標)コンピュータによって駆動された。結果がコンピュータそれ自体によって実行されていないことを確実にするため、ALUの出力のみを受け入れるようにセカンダリコンピュータが第1のコンピュータに取り付けられた。完全なシステムは、すべての入力をコンピュータに繰り返させて、ALUのフォトニクスにプッシュし、第2のコンピュータがフォトニクス出力を受け入れ、その結果を予想される結果と比較するものであった。セカンダリコンピュータが予想される結果を理解し、受け取った結果と突き合わせて比較するために、入力の定義済み順序が設定された。出力コンピュータが単一の結果を解釈することができるように、データレートも確定された。テストを目的として、このデータレートは、0.1ミリ毎にプッシュされる値に設定された。
【0191】
出力コンピュータは、システムによって読み取られるすべての繰り返しに対する結果を記憶した。繰り返しが完了した後、実際の結果が予想される結果と比較された。この比較からエラー率が生成された。以下の表は、予想される結果と実際の結果のCSV出力サンプルおよび0%であるエラー率を示している。
【0192】
【表1】
【0193】
プログラムは、また、加算の可能なすべての組合せのさらに大規模な繰り返し(100回の繰り返し、これは6,500,000以上の結果である)にわたって実行されたが、それでもエラー率は0%であった。これは、システムが電子CPUの要求に追いつくことができる精度率を有するという信頼をもたらす。
【0194】
本明細書の説明および特許請求の範囲全体を通して、「含む」、「備える」、およびこれらの活用形は、「限定はしないが...を含む」を意味し、他の部分要素、追加要素、構成要素、整数、またはステップを除外することを意図していない(除外しない)。本明細書の説明および特許請求の範囲全体を通して、文脈上他に必要とされない限り、単数形は複数形を包含する。特に、(英語原文中で)不定冠詞が使用される場合、本明細書は、文脈上他に必要とされない限り、複数形さらには単数形を企図するものと理解されるべきである。
【0195】
本発明の特定の態様、実施形態、または例に関して説明されている特徴、整数、特性、化合物、化学部分、または化学基は、不適合でない限り、本明細書で説明されている他の態様、実施形態、または例に適用可能であるものと理解されるべきである。本明細書(添付の特許請求の範囲、要約書、および図面を含む)において開示されている特徴のすべて、ならびに/またはこうして開示されている方法もしくはプロセスのステップのすべては、そのような特徴および/またはステップのうちの少なくともいくつかが相互排他的である組合せを除く、任意の組合せで組み合わせることができる。本発明は、前記の実施形態の詳細に制限されない。本発明は、本明細書(添付の特許請求の範囲、要約書、および図面)において開示されている特徴のうち新規性のある特徴、もしくは新規性のある組合せに、またはこうして開示されている方法もしくはプロセスのステップのうちの新規性のあるもの、もしくは新規性のある組合せに及ぶ。
【符号の説明】
【0196】
100 装置
102 第1の光子源
104 第2の光子源
106 非線形媒質
108 検出器
110 ロジック
111 信号
112 入力
114 信号出力
116,118,120,122 光子
200,202,204,206 周波数分布
300 概略図
350 エネルギー準位図
400 装置
416 フィルタ
500 装置
514 第3の光子源
600,602,604,606,608,610,612,614,616 光子源
700 真理値表
1000 算術論理演算装置(ALU)
1002 装置
1100 ALU
1102,1104 装置
1106 入力
1108 コントローラ
1200 ALU
1202 第1の装置
1204 第2の装置
1208 コントローラ
1300 概略図
1306 分解器
1500 フォトニック制御ユニット
1502 命令ビーム
1504 第1のプリズム
1506,1508 行
1510 数値ビーム
1512 第2のプリズム
1514,1516 列
1550 フォトニック要素
1552 ダイオード
1554,1558 フォトニックセンサ
1556 ANDゲート
1600 全加算器
1602 非線形媒質、和周波発生(SFG)媒質
1604 非線形媒質、差周波発生(DFG)媒質
1650 乗算器
ω1 第1の周波数帯域
ω2 第2の周波数帯域
ω3 第3の周波数帯域
ω4 第4の周波数帯域
ω5 第5の周波数帯域
ω6 第6の周波数帯域
ω7 第7の周波数帯域
ω8 第8の周波数帯域
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14A
図14B
図15A
図15B
【国際調査報告】