JP3839002B2 - 半導体演算装置 - Google Patents

半導体演算装置 Download PDF

Info

Publication number
JP3839002B2
JP3839002B2 JP2003285280A JP2003285280A JP3839002B2 JP 3839002 B2 JP3839002 B2 JP 3839002B2 JP 2003285280 A JP2003285280 A JP 2003285280A JP 2003285280 A JP2003285280 A JP 2003285280A JP 3839002 B2 JP3839002 B2 JP 3839002B2
Authority
JP
Japan
Prior art keywords
state
quantum
processor
calculation
position information
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
JP2003285280A
Other languages
English (en)
Other versions
JP2005056084A (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.)
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
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 Japan Science and Technology Agency, National Institute of Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to JP2003285280A priority Critical patent/JP3839002B2/ja
Publication of JP2005056084A publication Critical patent/JP2005056084A/ja
Application granted granted Critical
Publication of JP3839002B2 publication Critical patent/JP3839002B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Chemical & Material Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Nanotechnology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Crystallography & Structural Chemistry (AREA)

Description

本発明は、半導体演算装置に関し、詳しくは量子コンピュータと同様の演算機能を実現可能な半導体演算装置に関する。
従来のコンピュータにおいては、CPU等の半導体演算装置が1つのデータ値を用いて演算処理等を逐次実行する従来の演算方式により演算を行っていた。この従来の演算方式とは異なり、キュービット(量子ビット)という単位で構成された量子力学に基づく状態の重ね合わせを利用し、各状態に対して演算を並列実行する新しい演算方式で演算を行う量子コンピュータが提案されている。量子コンピュータは、理論上、1回の演算を行うだけで、すべての可能な状態(値として存在可能なデータ値)についての演算結果を同時に、かつ瞬時に得ることができる。
従来の量子コンピュータは、実際に量子力学に基づく現象が観測可能な物理系(例えば、核磁気共鳴等)で実現されてきており、非常に大規模な装置を要し実用的ではなかった。
また、量子コンピュータは、量子的な物理現象を利用しているので、古典的な物理現象(古典電磁気学)を利用した集積回路を用いてそのまま実現することが困難であった。
本発明者らは、量子力学に基づいて重ね合わされたそれぞれの状態(論理値)の状態確率について演算を同時に行うことにより、集積回路を用いて量子コンピュータの技術を実現する並列処理プロセッサを提案した(例えば、特許文献1参照)。
図7は、本発明者らが提案した並列処理プロセッサの要素的特徴を示す図である。
図7に示す並列処理プロセッサは、量子力学に基づいて重ね合わされたそれぞれの状態に対応する複数のプロセッサエレメント71、72、73を互いに通信可能に接続する。具体的には、エクスチェンジユニットEU1を介して、対応する状態が異なるプロセッサエレメント71、72を接続して、1キュービット相当の演算を行うプロセッサエレメント群PEA1を構成する。さらに、エクスチェンジユニットEU(i+1)を介して2つのPEAiを接続して、(i+1)キュービット相当の演算を行うプロセッサエレメント群PEA(i+1)を構成する(なお、iは添え字であり、自然数。)。
上述のように複数のプロセッサエレメント71、72、73を互いに通信可能に接続するとともに、対応する状態の状態確率について演算を同時に行い、演算結果を記憶するように複数のプロセッサエレメント71、72、73を並列動作させることで量子コンピュータと同様の演算機能を実現する。
しかしながら、上記図7に示した並列処理プロセッサにおいて、プロセッサエレメント71、72、73は、実数部及び虚数部にそれぞれ複数のビットを用いて、対応する状態の複素数で表わされた状態確率を記憶していた。そのため、上記図7に示した並列処理プロセッサは、演算処理に多大な時間を要する、回路面積が大きくなる等の不都合があった。
そこで、本発明者らは、量子計算を行うための量子アルゴリズムにおいて、所定の状態に確率を分配する段階及び状態間での確率の交換を行う段階では、各状態の状態確率が0かあるいは値p(0<p≦1)の何れか一方であることを見出し、各状態の状態確率が値を有するか否かを1ビットの確率情報で表現することにより、構成を単純化しながらも量子コンピュータと同様の演算機能を実現する特願2002−280775に記載の並列処理プロセッサを提案した。なお、説明の便宜上、この1ビットの確率情報を用いる並列処理プロセッサを論理量子プロセッサ(LQP)と称す。
図8は、本発明者らが提案した論理量子プロセッサの要素的特徴を示す図である。
図8において、PEBj(jは添え字であり、j=1〜1024の整数)はプロセッサエレメントである。各プロセッサエレメントPEBjは、複数の状態の状態確率に係る確率情報を記憶するメモリ81と、当該確率情報を用いて論理演算を行う論理演算部(LU)82をそれぞれ有する。また、各プロセッサエレメントPEBjは、ネットワーク83を介して互いに通信可能に接続されている。ネットワーク83は、例えば状態を示す論理値のハミング距離が1である状態に対応したプロセッサエレメントPEBjを互いに通信可能に接続するハイパーキューブネットワークである。上述のように構成して複数のプロセッサエレメントPEBjを並列動作させることで、論理量子プロセッサは量子コンピュータと同様の演算機能を実現する。
特開2003−84966号公報
ここで、上述したように量子計算においては、入力として取り得るすべての可能な状態(データ値)に対し出力を同時に計算するため、入力及び出力は異なるキュービットに割り当てる必要がある。また、集積回路を用いて量子コンピュータの技術を実現する上述した並列処理プロセッサ(量子論理プロセッサを含む。)は、量子計算においてすべての量子状態の状態確率に係る情報を記憶している。
上述した論理量子プロセッサにおいて、入力がnキュービット、出力がmキュービットの場合には、2n+m(=2n×2m)個の量子状態について記憶しなければならない。例えば、入力が2キュービット、出力が2キュービットの場合には、記憶しておくべき量子状態は16(=24)個であり、少なくとも16ビットの記憶領域を要する。
したがって、上述した並列処理プロセッサにおいては、入出力のキュービット数の増加に伴って量子状態の記憶に要する記憶容量は著しく増大するので、演算規模を大きくすることが容易ではないという問題があった。また、入出力のキュービット数が増加すると、量子計算におけるデータの交換等に多大な時間を要し、演算を高速に実行することができないという問題があった。
本発明は、このような問題に鑑みてなされたものであり、量子コンピュータと同様の演算機能を有しながらも、上述した並列処理プロセッサと比較して必要なハードウェア量を削減し、かつ大規模な演算を高速で実行することができるようにすることを目的とする。
本発明の半導体演算装置は、Nビット(Nは自然数)で表現可能なすべての論理値の状態に関する演算を並列して実行する半導体装置であって、上記すべての論理値の状態のうち、所定の確率を持つ上記論理値の状態を示す位置情報を用いて対応する論理値の状態に関する演算を行い、演算結果を保持する複数の演算手段を備え、上記複数の演算手段が並列して演算を行うことを特徴とする。
本発明によれば、所定の確率を持つ論理値の状態を示す位置情報を用いて、論理値の状態に関する演算を行い、その演算結果として得られる新たな位置情報を保持するので、各状態の確率に係る情報をすべての論理値の状態について保持していなくとも、所定の確率を持つ状態を示す位置情報のみを保持するだけで量子コンピュータと同様の演算を実行することができる。したがって、演算を実行するために必要なハードウェア量を大きく削減することができ、大規模な演算を高速で実行することができる。
また、他の状態を参照せず、対応する論理値の状態に係る位置情報のみで演算を行うので、演算を行う際に他の演算手段との情報交換を行う必要がなくなり、演算を高速に実行することができ、演算速度を向上させることができる。
以下、本発明の実施形態を図面に基づいて説明する。
本発明の実施形態による半導体演算装置を適用した並列処理プロセッサは、集積回路を用いて量子コンピュータの技術を実現するものであり、量子計算を行うための公知の量子アルゴリズムと同様にして演算が実行される。
なお、以下の説明においては、上述した既に本発明者らが提案した並列処理プロセッサと本実施形態における並列処理プロセッサを区別するために、本実施形態における並列処理プロセッサを量子インデックスプロセッサ(QIP:Quantum Index Processor)と称す。
また、以下の説明では、説明の便宜上、4キュービット相当の演算が可能な量子インデックスプロセッサ等を一例として説明するが、キュービット数は任意であり、本実施形態における量子インデックスプロセッサは、Nキュービット(Nは自然数)、すなわちNビットで表現可能なすべての論理値の状態に関して演算可能なものである。
まず、本実施形態おける量子インデックスプロセッサでの量子状態の表現について図1に基づいて説明する。
図1(a)は、本実施形態における量子状態の表現方法を説明するための図である。なお、比較参照するために上述した論理量子プロセッサ(LQP)での量子状態の表現方法を図1(b)に示している。
図1(a)及び図1(b)において、q0、q1は入力に割り当てたキュービットであり、q2、q3は出力に割り当てたキュービットである。また、Pは、キュービットq0〜q3の値に応じた各量子状態の確率であり、PIは、当該各量子状態の確率に基づく確率情報である。上記確率情報PIは、各状態が確率を有するか否か、すなわち状態確率が0でない値p(0<p≦1、なお、図1に示す例ではp=1/4)を有するか否か(値がpであるか0であるか)を、“1”(状態確率の値p)及び“0”(状態確率の値0)のバイナリ表現で示したものである。
図1(b)に示したように論理量子プロセッサにおいては、キュービットq0〜q3で示される各状態における確率情報PIをメモリにそれぞれ保持する。例えば、状態を示すキュービットq0〜q3の4ビットの値をアドレス値とし、対応する確率情報PIをデータとしてメモリにそれぞれ保持する。
図1(b)に示したように、入力が2キュービット、出力が2キュービットの場合には、量子状態として16(=24)状態が存在し得るので、各状態の確率情報PIを保持するためには16ビット分の記憶容量を要する。したがって、論理量子プロセッサにおいては、確率情報を記憶するために必要な記憶容量は、入出力ビット数の2のべき乗で増加する。
本発明者らは、量子計算において各入力q0、q1に対して、確率情報PIが“1”となる出力q2、q3はそれぞれ1つであること、すなわち入力q0、q1に対して、出力q2、q3により取り得るすべての値のうちで1つの値のみが確率値pを有することを見出した。
そこで、本実施形態における量子インデックスプロセッサ(QIP)は、各入力q0、q1に対して、確率情報が“1”である状態の位置情報(インデックス)をメモリにそれぞれ保持する。ここで、メモリに保持される上記位置情報は、確率情報が“1”である状態に対応する出力q2、q3の値である。例えば、入力q0、q1の2ビット(入力ビット列)の値をアドレス値とし、確率情報が“1”である状態に対応する出力q2、q3の2ビット(出力ビット列)の値をデータとしてメモリにそれぞれ保持する。図1(a)に示した例では、例えば入力q0、q1が“00”に対しては、位置情報として“01”をメモリに記憶し、入力q0、q1が“01”に対しては、位置情報として“10”をメモリに記憶する。
したがって、図1(a)に示したように、入力が2キュービット、出力が2キュービットの場合には、入力q0、q1の組み合わせが4通りであり、それぞれの組み合わせに対して2ビットの位置情報を記憶するので、各量子状態の確率に係る情報を保持するために必要な記憶容量は8(=22×2)ビットとなる。
ここで、入力がnキュービット、出力がmキュービットとする(n、mは自然数)。このとき、各量子状態の確率に係る情報を保持するために必要な記憶容量は、量子インデックスプロセッサが(2n×m)ビットの記憶容量を必要とし、論理量子プロセッサが(2n×2m)ビットの記憶容量を必要とする。
図2(a)は、本実施形態における量子インデックスプロセッサ、及び論理量子プロセッサにおいて量子計算に要するメモリ使用量の一例を示す図である。図2(a)において、横軸は入出力キュービット数であり、縦軸はメモリ使用量(単位はビット)である。なお、メモリ使用量はlog(ログ)スケールで示している。
図2(a)においては、因数分解のアルゴリズムとしてよく知られたショアのアルゴリズムを実行する場合に必要なメモリ使用量を示しており、図2(b)に示すように入力21がnキュービット、出力(計算途中で使用する補助ビットを含む。)22が3nキュービットの場合に必要なメモリ使用量をそれぞれ示している。
このとき、論理量子プロセッサにて量子計算に要するメモリ使用量は(2n×23n=24n)ビットであり、入出力キュービット数(4n)の増加に伴ってメモリ使用量は指数関数的に増加する。一方、本実施形態における量子インデックスプロセッサにて量子計算に要するメモリ使用量は(2n×3n)ビットであり、入出力キュービット数(4n)の増加に伴うメモリ使用量の増加量は、図2(a)から明らかなように論理量子プロセッサと比較して非常に小さいことがわかる。
したがって、本実施形態における量子インデックスプロセッサは、論理量子プロセッサよりも少ない記憶容量(メモリ使用量)で同じ情報量を記憶することができ、量子計算に要するメモリ容量を削減することができる。これにより、本実施形態における量子インデックスプロセッサは、論理量子プロセッサよりも小さな回路規模で同等の演算を実行することができ、同じ回路規模では論理量子プロセッサと比較して大規模な演算を実行することができる。
次に、本実施形態における量子インデックスプロセッサの構成について、図3(a)、(b)に基づいて説明する。
図3(a)は、量子インデックスプロセッサQIPの全体構成の一例を示すブロック図である。
図3(a)において、31は外部から供給される命令を保持する命令レジスタであり、外部から命令S1が入力され、当該命令S1に応じた制御信号S2、S3を出力する。32は命令を解釈してアドレスを生成する状態制御部であり、命令レジスタ31から制御信号S2が入力され、アドレス信号S4を出力する。
33は演算部であり、命令レジスタ31から制御信号S3が入力されるとともに、状態制御部32からアドレス信号S4が入力される。演算部33は、制御信号S3として供給される制御情報(制御ビットに係る情報)、及びアドレス信号S4に基づいて、命令S1に応じた演算を実行する。このとき、演算部33は、内部に記憶している0でない確率を持つ状態の位置情報を用いて演算を実行する。演算部33は、命令S1に応じた演算を実行するための複数(例えば211=2048個)のプロセッサエレメント(PE:演算素子)34を有する。なお、プロセッサエレメント34については後述する。
35は演算により得られた解を記憶するアンサーレジスタである。アンサーレジスタ35は、正解データのアドレスをサーチして演算部33から解データS5を読み出し、当該解データを出力S6として出力する。
図3(b)は、図3(a)に示したプロセッサエレメント34の構成例を示すブロック図である。
図3(b)において、メモリ36は、演算に係る各状態のうち0でない確率を持つ状態を示す位置情報を記憶するためのものであり、例えば本実施形態では64ビットの記憶容量を有する。メモリ36は、命令S1に基づいて状態制御部32から供給されるアドレス信号S4により指定されたアドレスADが入力され、当該アドレスADに記憶されているデータ(位置情報)を論理演算部(LU)37に出力する。
論理演算部37は、メモリ36から入力されるデータ(位置情報)に対して所定の論理演算を施し、演算結果を出力する。このとき、論理演算部37は、命令S1に応じた演算が後述する制御NOT演算である場合には、テンポラリレジスタ38から供給される制御ビットのデータを参照して、演算対象ビットのデータに所定の論理演算を施す。
テンポラリレジスタ38は、メモリ36より出力され論理演算部37を介して供給されるデータのうち、上記制御ビットのデータを一時的に保持するためのレジスタである。マルチプレクサ39は、論理演算部37から演算結果として出力されたデータ及び論理演算が施されていないデータDTが入力され、当該データの一方を選択的にメモリ36に出力する。
上述のように量子インデックスプロセッサを構成することで、本実施形態では(log2(プロセッサエレメント数)+メモリ容量)キュービット相当の演算を実行することができる。例えば、プロセッサエレメントを2048個設け、メモリ36の記憶容量が64ビットの場合には、11+64=75キュービット相当の量子演算を実行することができる。
なお、上述したプロセッサエレメント34は、データ(位置情報)をシリアルに伝送するものであるが、データをパラレルに伝送するように構成する場合には、テンポラリレジスタ38は設けなくとも良い。
次に、本実施形態における量子インデックスプロセッサの動作について説明する。
ここで、本実施形態における量子インデックスプロセッサにおいて、量子アルゴリズムに基づく量子計算(量子状態についての量子操作)は、NOT演算及び制御NOT(controlled-NOT)演算により実現される。
命令S1によりある対象ビットについての量子操作(NOT演算及び制御NOT演算)が指示されると、命令レジスタ31から当該命令S1に応じた制御信号S2が状態制御部32に供給される。状態制御部32は制御信号S2に基づいて当該命令を解釈して、演算対象であるデータ(位置情報)をメモリ36から読み出すためのアドレスを生成し、当該アドレスをプロセッサエレメント34(演算部33)に供給する。
なお、命令S1により指示された演算が、NOT演算、又は出力ビットを制御ビットとする制御NOT演算の場合には、演算部33内に設けられたすべてのメモリ36に記憶されているデータが演算対象となる。すなわち、状態制御部32は、演算部33内に設けられたすべてのメモリ36を指定するようにアドレスを生成出力する。一方、命令S1により指示された演算が入力ビットを制御ビットとする制御NOT演算の場合には、状態制御部32は、制御ビットの値が“1”に対応する演算部33内のメモリ36を指定するようにアドレスを生成出力する。
プロセッサエレメント34内のメモリ36は、状態制御部32から供給されたアドレスADに記憶されているデータを論理演算部37に出力する。論理演算部37は、テンポラリレジスタ38を適宜参照し、メモリ36から出力されたデータのうち対象ビットに対して所定の論理演算を施して演算結果を出力する。論理演算部37から出力された演算結果は、マルチプレクサ39を介して、演算前のデータが記憶されていたアドレスADに対応するメモリ36の記憶領域に書き込まれる、すなわち書き戻される。
上述のようにして供給された命令S1に応じた演算を行った後、解を出力する際には、アンサーレジスタ35により正解データのアドレスをサーチしてメモリ36から解データを読み出し出力する。
なお、各プロセッサエレメント34にそれぞれ対応付けられている状態は、複数のプロセッサエレメント34にて重複しないとともに、入力q0、q1の値を任意に組み合わせたそれぞれの状態については、何れかのプロセッサエレメント34に対応付けられている。
ここで、命令S1により指示される量子操作(NOT演算及び制御NOT演算)に応じて、量子インデックスプロセッサにて行われる演算処理(データ操作等)について説明する。なお、以下の説明では、説明の便宜上、入力、出力はそれぞれ2キュービットとする。
まず、NOT演算のときの演算処理について説明する。
図4(a)は、量子インデックスプロセッサでのNOT演算を説明するための図である。なお、比較参照するために論理量子プロセッサでのNOT演算について図4(b)に示している。
図4(a)及び図4(b)において、q0、q1は入力に割り当てたキュービットであり、q2、q3は出力に割り当てたキュービットである。また、Pはキュービットq0〜q3の値に応じた演算前の各状態の確率であり、P’は演算後の各状態の確率である。同様に、PIは演算前の各状態の確率に基づく確率情報であり、PI’は演算後の各状態の確率に基づく確率情報である。
ここで、図4(a)及び図4(b)は、NOT演算の対象ビットがq3であるときを示している。
論理量子プロセッサにて対象ビットをq3とするNOT演算を実行する際には、図4(b)に示したように対象ビットq3の値のみが異なる状態の確率情報を互いに交換する。すなわち、論理量子プロセッサでのNOT演算では、プロセッサエレメント内のメモリに記憶されているデータの交換操作を実行する。
そのため、確率情報を交換する状態に対応したプロセッサエレメントが異なる、つまり交換すべき確率情報が異なるプロセッサエレメントのメモリに記憶されている場合には、ネットワークを介したデータ通信が必要となる。例えば、論理量子プロセッサではないが、図7に示した並列処理プロセッサにおいて、プロセッサエレメント71、73が、対象ビットの値のみが異なる状態に対応するプロセッサエレメントである場合には、7つのエクスチェンジユニットEUiを介してデータ通信を行わなければならず、演算処理に多大な時間を要する。
それに対して、量子インデックスプロセッサにおいては、0でない確率を持つ状態を示す位置情報は、入力q0、q1の値が異なる他の状態には依存せず、入力q0、q1の値ごとに独立したものである。量子インデックスプロセッサにて対象ビットをq3とするNOT演算を実行する際には、図4(a)に示したように位置情報として記憶されている対象ビットq3に対してNOT演算(対象ビットq3の値を反転する論理演算)のみ実行する。例えば、上記演算により0でない確率を持つ状態は、状態“0001”から状態“0000”になる。
したがって、量子インデックスプロセッサは、どのビットを対象ビットとするNOT演算であっても、データ通信を行うことなく、記憶している位置情報に対して論理演算を施すだけで良いので、演算速度が向上し、演算を高速に実行することができる。
次に、制御NOT演算のときの演算処理について説明する。
図5は、本実施形態における制御NOT演算を説明するための図である。
図5において、OP1は制御ビットをq1とし、対象ビットをq3とする制御NOT演算を表しており、q1の値が“1”である状態に対してのみNOT演算を実行する。すなわち、演算部33内に設けられたメモリ36のうち、入力q0、q1の値が“01”、“11”である状態に対応した位置情報を記憶しているメモリ36を有するプロセッサエレメント34のみで演算処理が実行され、その内部のメモリ36に記憶している位置情報に対して論理演算が施される。
また、OP2は制御ビットをq2とし、対象ビットをq3とする制御NOT演算を表しており、q2の値が“1”である状態に対してのみNOT演算を実行する。このときには、演算部33内のすべてのプロセッサエレメント34にて演算処理が実行され、その内部のメモリ36から読み出された位置情報に含まれる制御ビットq2の値に応じて、当該位置情報に論理演算が施される。
このように、本実施形態における量子インデックスプロセッサは、実行する演算が制御NOT演算の場合には、入力q0、q1が制御ビットであれば、対応する状態に係るプロセッサエレメントのみで演算処理を行い、メモリ36に記憶している位置情報に対して論理演算を施す。一方、出力q2、q3が制御ビットであれば、すべてのプロセッサエレメントで演算処理を行い、メモリ36から読み出した位置情報の値に応じて、当該位置情報に論理演算を施す。
以上、詳しく説明したように本実施形態によれば、存在し得る状態のうち、0でない確率を持つ状態を示す位置情報をプロセッサエレメント34内のメモリ36に保持し、命令S1に応じた演算(量子操作)を実行する際には、当該位置情報に対して命令S1に基づく演算処理を施す。すなわち、当該位置情報のみを用いて命令S1に基づく演算処理を実行する。
これにより、すでに提案している並列処理プロセッサのように、入力及び出力に割り当てたビットにて表現可能な各状態の確率に係る情報をすべての状態についてメモリに保持しなくとも、0でない確率を持つ状態を示す位置情報のみを保持するだけで、上記並列処理プロセッサと同様の演算を実行することができる。したがって、例えば図2(a)に示したようにメモリ容量等のハードウェア量を大きく削減することができ、回路規模が等しい場合には上記並列処理プロセッサよりも大規模な演算を実行することが可能になる。
また、本実施形態によれば、他の状態に係る位置情報を用いず、すなわち他のプロセッサエレメント34等とのネットワークを介したデータ通信を行わずに、メモリ36に保持した1つの状態に係る位置情報のみで演算を実行するので、演算を高速に実行することができ、図6に示すように演算速度が向上する。
ここで、図6は、量子インデックスプロセッサ及び論理量子プロセッサにおける演算時間の一例を示す図である。図6において、横軸はキュービット数、縦軸は演算時間である。図6から明らかなように、量子インデックスプロセッサ(QIP)における演算時間は、論理量子プロセッサ(LQP)における演算時間に比べて非常に短く、およそ1/(1026)になる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態による半導体演算装置を適用した並列処理プロセッサ(量子インデックスプロセッサ)の原理を説明するための図である。 量子インデックスプロセッサ及び論理量子プロセッサでのメモリ使用量の一例を示す図である。 量子インデックスプロセッサの構成例を示す図である。 量子インデックスプロセッサでのNOT演算を説明するための図である。 量子インデックスプロセッサでの制御NOT演算を説明するための図である。 量子インデックスプロセッサ及び論理量子プロセッサにおける演算時間の一例を示す図である。 複素数で表された状態確率を用いて演算を行う並列処理プロセッサの要素的特徴を示す図である。 2値で表された確率情報を用いて演算を行う並列処理プロセッサの要素的特徴を示す図である。
符号の説明
31 命令レジスタ
32 状態制御部
33 演算部
34 プロセッサエレメント
35 アンサーレジスタ
36 メモリ
37 論理演算ユニット(LU)
38 テンポラリレジスタ
39 マルチプレクサ

Claims (6)

  1. Nビット(Nは自然数)で表現可能なすべての論理値の状態に関する演算を並列して実行する半導体装置であって、
    上記すべての論理値の状態のうち、所定の確率を持つ上記論理値の状態を示す位置情報を用いて対応する論理値の状態に関する演算を行い、演算結果を保持する複数の演算手段を備え、
    上記複数の演算手段が並列して演算を行うことを特徴とする半導体演算装置。
  2. 上記位置情報は、0とは異なる確率を持つ上記論理値の状態を示す情報であることを特徴とする請求項1記載の半導体演算装置。
  3. 上記Nビットは、1ビット以上の入力ビット列と1ビット以上の出力ビット列からなり、
    上記入力ビット列により表現可能な任意の論理値に対して、上記0とは異なる確率を持つ論理値の状態に対応した上記出力ビット列を上記位置情報とすることを特徴とする請求項2記載の半導体演算装置。
  4. 上記演算手段は、上記対応する論理値の状態に係る上記位置情報だけを用いて、対応する論理値の状態に関する演算を行うことを特徴とする請求項1〜3の何れか1項に記載の半導体演算装置。
  5. 上記演算手段は、上記位置情報を記憶する記憶手段と、
    上記位置情報を用いて論理値の状態に関する論理演算を行う論理演算手段とを備えることを特徴とする請求項1〜4の何れか1項に記載の半導体演算装置。
  6. 上記演算手段は、上記記憶手段より読み出された上記位置情報を記憶する一時記憶手段をさらに備え、
    所定の上記論理演算を行うとき、上記論理演算手段は、上記一時記憶手段に保持された上記位置情報を参照して論理演算を行うことを特徴とする請求項5記載の半導体演算装置。
JP2003285280A 2003-08-01 2003-08-01 半導体演算装置 Expired - Fee Related JP3839002B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003285280A JP3839002B2 (ja) 2003-08-01 2003-08-01 半導体演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003285280A JP3839002B2 (ja) 2003-08-01 2003-08-01 半導体演算装置

Publications (2)

Publication Number Publication Date
JP2005056084A JP2005056084A (ja) 2005-03-03
JP3839002B2 true JP3839002B2 (ja) 2006-11-01

Family

ID=34364960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003285280A Expired - Fee Related JP3839002B2 (ja) 2003-08-01 2003-08-01 半導体演算装置

Country Status (1)

Country Link
JP (1) JP3839002B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832144B (zh) * 2019-04-12 2024-04-09 本源量子计算科技(合肥)股份有限公司 一种全振幅量子计算模拟方法

Also Published As

Publication number Publication date
JP2005056084A (ja) 2005-03-03

Similar Documents

Publication Publication Date Title
US11816572B2 (en) Hardware accelerated machine learning
US10410112B2 (en) Apparatus and method for performing a forward operation of artificil neural networks
US20190065934A1 (en) Apparatus and methods for forward propagation in fully connected layers of convolutional neural networks
CN108984849B (zh) 一种基于量子叠加态的量子比较器设计方法
CN108416437A (zh) 用于乘加运算的人工神经网络的处理系统及方法
KR102100368B1 (ko) 양자 데이터베이스를 위한 효과적 양자 메모리 구조
US10884736B1 (en) Method and apparatus for a low energy programmable vector processing unit for neural networks backend processing
Sutradhar et al. Look-up-table based processing-in-memory architecture with programmable precision-scaling for deep learning applications
US11705207B2 (en) Processor in non-volatile storage memory
WO2005088640A2 (en) Improvements relating to orthogonal data memory
JP3839002B2 (ja) 半導体演算装置
RU2294561C2 (ru) Устройство аппаратной реализации вероятностных генетических алгоритмов
JP3708072B2 (ja) 半導体演算装置
US11983606B2 (en) Method and device for constructing quantum circuit of QRAM architecture, and method and device for parsing quantum address data
KR102665969B1 (ko) Imc(in memory computing) 회로, imc 회로를 포함하는 뉴럴 네트워크 장치, 및 imc 회로의 동작 방법
JPWO2020049637A1 (ja) 学習装置
CN111709872B (zh) 一种图三角形计数算法的自旋存内计算架构
US20230325251A1 (en) Partition a Tensor with Varying Granularity Levels in Shuffled Secure Multiparty Computation
WO2020084694A1 (ja) 演算処理装置及び演算処理装置の制御方法
Foltin et al. FPGA Demonstrator of a Programmable Ultra-Efficient Memristor-Based Machine Learning Inference Accelerator
KR20240031021A (ko) Imc(in memory computing) 회로, imc 회로를 포함하는 뉴럴 네트워크 장치, 및 imc 회로의 동작 방법
KR20220101518A (ko) 곱셈-누산 회로 및 이를 포함하는 프로세싱-인-메모리 장치
JP2021060955A (ja) ニューラルネットワーク演算処理装置及びニューラルネットワーク演算処理方法
JPH08212168A (ja) アレイプロセッサ
JP2000284691A (ja) 換字置換装置及びそのプログラム記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060801

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees