(58)【調査した分野】(Int.Cl.,DB名)
前記電流検出部は、前記電流検出処理により検出された電流が複数の前記積演算部に前記入力信号が入力されていない場合における電流と等しい場合、前記電流検出処理を終了させる、
請求項1から請求項5のいずれか一つに記載の積和演算器。
【発明を実施するための形態】
【0019】
[実施形態]
図1及び
図2を参照しながら、実施形態に係る積和演算器の構成の一例について説明する。
【0020】
図1は、実施形態に係る積和演算器の一部の構成の一例を示す図である。
図1に示すように、積和演算器1は、積演算部111、121、211、221、311、321、…、k11、k21と、入力部101E、201E、301E、…、k01Eと、電流検出部10D、20Dと、和演算部10S、20Sとを備える。
【0021】
図2は、実施形態に係る抵抗変化素子の一例を示す図である。積演算部111は、抵抗変化素子、例えば、
図2に示した磁気抵抗効果素子である。
図1及び
図2に示すように、積演算部111は、可変抵抗111R、読み出し端子111X、共通端子111Y及び書き込み端子111Zを備える。また、
図1に示す積演算部121、211、221、311、321、…、k11、k21は抵抗変化素子、例えば、
図2に示したものと同様の磁気抵抗効果素子であり、それぞれ可変抵抗121R、211R、221R、311R、321R、…、k11R、k21Rと、読み出し端子121X、211X、221X、311X、321X、…、k11X、k21Xと、共通端子121Y、211Y、221Y、311Y、321Y、…、k11Y、k21Yと、書き込み端子121Z、211Z、221Z、311Z、321Z、…、k11Z、k21Zとを備える。以下の説明では、適宜、積演算部111を例に挙げて説明するが、他の積演算部121、211、221、311、321、…、k11、k21についても同様である。
【0022】
ここで、積演算部111が備える可変抵抗111Rは、例えば、
図2に示すように、磁化固定層1111と、非磁性層1112と、第1領域1113と、磁壁1114と、第2領域1115と、第1磁化供給層1116と、第2磁化供給層1117とを備える。以下、
図2を使用した説明では、
図2に示したx軸、y軸及びz軸を使用する。x軸、y軸及びz軸は、右手系の三次元直交座標を形成している。磁化固定層1111、非磁性層1112、第1領域1113、第2領域1115、第1磁化供給層1116及び第2磁化供給層1117は、z軸方向に薄い直方体状に形成されており、最も面積が大きな面がxy平面と平行で第1領域1113と第2領域1115と電気的、磁気的に接続されている。+z方向から−z方向に向かって磁化固定層1111、非磁性層1112、第1領域1113及び第2領域1115、第1磁化供給層1116及び第2磁化供給層1117の順に積層されているが、積層される方向が逆になっていてもよい。これらが積層される方向が逆になっている場合、読み出し端子111Xが−z方向側に設けられ、共通端子111Y及び書き込み端子111Zが+z方向側に設けられる。
【0023】
磁化固定層1111は、磁化方向が+z方向又は−z方向に固定されている。ここで、磁化が固定されるとは、磁壁1114導入するための初期化時及び書き込み電流を使用した書き込み前後で磁化方向が変化しないことを意味する。また、磁化固定層1111は、例えば、面内磁気異方性を有する面内磁化膜、垂直磁気異方性を有する垂直磁化膜であってもよい。
【0024】
非磁性層1112は、+z方向を向いている面が磁化固定層1111のうち−z方向を向いている面と接しており、−z方向を向いている面が第1領域1113及び第2領域1115と接している。
図2に示すように、磁化固定層1111の−z方向側を向いている面と非磁性層1112の+z方向側を向いている面とは、互いに形状及び面積が等しくなっている。ただし、非磁性層1112は、第1領域1113の+z方向を向いている面及び第2領域1115+z方向を向いている面を
図2に示した場合よりも広く覆うように広がっていてもよい。また、非磁性層1112は、積演算部111が磁化固定層1111に対する磁化自由層の磁化状態の変化を抵抗値の変化として読み出すために使用される。
【0025】
第1領域1113、磁壁1114及び第2領域1115は、磁化自由層を形成している。磁化自由層は、強磁性材料により作製されている。第1領域1113の磁化方向と第2領域1115の磁化方向は、z軸に平行な方向において互いに反対になっている。磁壁1114は、y軸に平行な方向において、第1領域1113と第2領域1115とで挟まれている。
【0026】
第1磁化供給層1116は、z軸に平行な方向において磁化固定層1111と重なっていないことが望ましく、+z方向を向いている面が第1領域1113の−z方向を向いている面と接している。また、第1磁化供給層1116は、第1領域1113のうちz軸に平行な方向において第1磁化供給層1116と重なる範囲の磁化方向を所望の方向に固定する機能を有する。さらに、第1磁化供給層1116の−z方向を向いている面には、書き込み端子111Zが接続されている。なお、第1磁化供給層1116は、例えば、磁化固定層1111に使用可能な強磁性材料と同じ材料、IrMn等の反強磁性体、Ru、Ir等の非磁性中間層を挟んだ強磁性体、非磁性体及び強磁性体を含む合成反強磁性構造(Synthecic antiferromagnetic)を有する材料により作製されている。
【0027】
第2磁化供給層1117は、z軸に平行な方向において磁化固定層1111と重なっていないことが望ましく、+z方向を向いている面が第2領域1115の−z方向を向いている面と接している。また、第2磁化供給層1117は、第2領域1115のうちz軸に平行な方向において第2磁化供給層1117と重なる範囲の磁化方向を所望の方向に固定する機能を有する。さらに、第2磁化供給層1117の−z方向を向いている面には、共通端子111Yが接続されている。なお、第1磁化供給層1116は、例えば、磁化固定層1111に使用可能な強磁性材料と同じ材料、IrMn等の反強磁性体、Ru、Ir等の非磁性中間層を挟んだ強磁性体、非磁性体及び強磁性体を含む合成反強磁性構造(Synthecic antiferromagnetic)を有する材料により作製されている。
【0028】
可変抵抗111Rにおいて、磁化固定層1111、第1領域1113、第2領域1115、第1磁化供給層1116及び第2磁化供給層1117の磁化方向は、それぞれz軸に平行な方向だけでなく、x軸に平行な方向又はy軸に平行な方向であってもよい。この場合でも、磁化固定層1111の磁化方向と、第1領域1113、第2領域1115、第1磁化供給層1116及び第2磁化供給層1117の磁化方向とは、平行であることが望ましい。例えば、磁化固定層1111の磁化方向が+y方向であった場合、第1領域の磁化方向は+y方向、第2領域の磁化方向は−y方向、第1磁化供給層1116の磁化方向は+y方向、第2磁化供給層1117の磁化方向は−y方向である。
【0029】
積演算部111は、共通端子111Yと書き込み端子111Zとの間に流す書き込み電流の大きさ及び時間を調整することにより、y軸に平行な方向における磁壁1114の位置を変化させる。これにより、積演算部111は、磁化方向が平行な領域と磁化方向が反平行な領域との面積の比率を連続的に変化させ、可変抵抗111Rの抵抗値を略線形に変化させることができる。ここで、磁化方向が平行な領域とは、第1領域1113のうちz軸に平行な方向において磁化固定層1111と重なっている部分の面積である。また、磁化方向が反平行な領域とは、第2領域1115のうちz軸に平行な方向において磁化固定層1111と重なっている部分の面積である。また、書き込み電流は、書き込み端子111Zに入力される。書き込み電流の大きさ及び時間は、電流パルスの数及び時間の少なくとも一方により調整される。
【0030】
なお、積演算部111,121、211、221、311、321、…、k11、k21は、トンネル磁気抵抗効果素子であってもよい。トンネル磁気抵抗効果素子は、磁化固定層と、磁化自由層と、非磁性層としてのトンネルバリア層とを備える。磁化固定層及び磁化自由層は、強磁性材料で作製されており、磁化を有する。トンネルバリア層は、磁化固定層と磁化自由層との間に挟まれている。トンネル磁気抵抗効果素子は、磁化固定層が有する磁化と磁化自由層が有する磁化との関係を変化させることにより、抵抗値を変化させることができる。
【0031】
図1に戻って、読み出し端子111X、121Xには、入力部101Eが接続されている。同様に、
図1に示した読み出し端子211X、221Xには、入力部201Eが接続されており、読み出し端子311X、321Xには、入力部301Eが接続されており、読み出し端子k11X、k21Xには、入力部k01Eが接続されている。
【0032】
入力部101Eは、入力値に対応する入力信号を読み出し端子111X、121Xに入力する。同様に、入力部201Eは、入力値に対応する入力信号を読み出し端子211X、221Xに入力する。入力部301Eは、入力値に対応する入力信号を読み出し端子311X、321Xに入力する。入力部k01Eは、入力値に対応する入力信号を読み出し端子k11X、k21Xに入力する。これらの入力信号は、いずれも入力値に応じたパルス幅変調(Pulse Width Modulation:PWM)が施されている電圧信号である。
【0033】
積演算部111は、入力値に対応する入力信号に重みを乗算して出力信号を生成し、出力信号を出力する。すなわち、積演算部111は、可変抵抗111Rの抵抗値を重みとして読み出し、読み出し端子111Xに入力された入力信号に対する積演算を実行して出力信号を生成し、共通端子111Yから出力信号を出力する。同様に、積演算部121、211、221、311、321、…、k11、k21は、それぞれ入力値に対応する入力信号に重みを乗算して出力信号を生成し、出力信号を出力する。
【0034】
電流検出部10Dは、第一過渡応答が収束し定常状態になる時間から、入力信号の入力による積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの間において、入力信号から所定の時間遅れで複数の積演算部が出力する電流を検出し、以後一定間隔時間で積演算部111、211、311、…、k11が出力する電流を検出する電流検出処理を実行する。同様に、電流検出部20Dは、第一過渡応答が収束し定常状態になる時間から、入力信号の入力による積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの間において、入力信号から所定の時間遅れで複数の積演算部が出力する電流を検出し、以後一定間隔時間で積演算部121、221、321、…、k21が出力する電流を検出する電流検出処理を実行する。電流検出部10D、20Dの詳細は、後述する。
【0035】
和演算部10Sは、電流検出部10Dが一定時間間隔ごとに検出した電流に基づいて出力信号の総和に関連する値を演算する。同様に、和演算部20Sは、電流検出部20Dが一定時間間隔ごとに検出した電流に基づいて出力信号の総和に関連する値を演算する。和演算部10S、20Sの詳細は、後述する。
【0036】
次に、
図3から
図6を参照しながら、実施形態に係る積和演算器が実行する処理の一例について説明する。
【0037】
図3は、実施形態に係る積和演算器の一部の構成の等価回路の一例を示す図である。
図3に示すように、積演算部111は、磁気抵抗効果素子の等価回路として寄生容量111C及び寄生抵抗111Pを備え、寄生容量111Cが可変抵抗111Rに並列接続されており、寄生抵抗111Pが可変抵抗111Rに直列接続されていると考えることができる。同様に、積演算部121、211、221、311、321、…、k11、k21は、それぞれ寄生容量121C、211C、221C、311C、321C、…、k11C、k21Cと、寄生抵抗121P、211P、221P、311P、321P、…、k11P、k21Pとを備える。さらに、積演算部111、121、211、221、311、321、…、k11、k21には、それぞれ配線抵抗111W、121W、211W、221W、311W、321W、…、k11W、k21Wが直列接続されていると考えることができる。
【0038】
図4は、実施形態に係る積演算部に入力される入力信号の一例を示す図である。入力部101Eは、例えば、
図4(a)に示した入力信号V1を出力する。同様に、入力部201Eは、例えば、
図4(b)に示した入力信号V2を出力する。また、入力部301Eは、例えば、
図4(c)に示した入力信号V3を出力する。
【0039】
入力信号V1は、係数時間、例えば、20[ns]の長さを有するパルス高さ0.1mVの電圧パルスである。この20[ns]は、入力信号がとり得る最短の長さの一例である。入力信号V2は、この係数時間の二倍の40[ns]の長さを有するパルス高さ0.1mVの電圧パルスである。入力信号V3は、この係数時間の長さの四倍の80[ns]の長さを有するパルス高さ0.1mVの電圧パルスである。また、入力信号V1が積演算部111に入力される時刻、入力信号V2が積演算部211に入力される時刻及び入力信号V3が積演算部311に入力される時刻は、
図4に示すように、いずれも時刻t0である。すなわち、入力信号V1、入力信号V2及び入力信号V3は、それぞれ積演算部111、211、321に同時に入力される。
【0040】
図5は、実施形態に係る積演算部から出力される出力信号の一例を示す図である。
図4(a)に示した入力信号V1が積演算部111に入力した場合、
図5(a)に示した出力信号A1が電流検出部10Dに入力される。同様に、
図4(b)に示した入力信号V2が積演算部211に入力した場合、
図5(b)に示した出力信号A2が電流検出部10Dに入力される。また、
図4(c)に示した入力信号V3が積演算部311に入力した場合、
図5(c)に示した出力信号A3が電流検出部10Dに入力される。以下の説明では、寄生容量111C、211C、311C各々の静電容量の差がほとんど無視できる場合を例に挙げて説明する。
【0041】
図5(a)に示した出力信号A1は、第一過渡応答T11と、定常部S1と、第二過渡応答T12とを含む電流信号である。第一過渡応答T11は、入力信号V1の入力による積演算部111の寄生容量111Cへの充電に起因する過渡応答である。定常部S1は、出力信号A1のうち第一過渡応答T11の発生が終了した時点から次の第二過渡応答T12の発生が開始した時点までの間に定常的な電流C[nA]が流れている部分である。第二過渡応答T12は、入力信号V1の入力による積演算部111の寄生容量111Cからの放電に起因する過渡応答である。第一過渡応答T11の長さ及び第二過渡応答T12の長さは、定常部S1の長さに比べてほとんど無視し得る程に短い。また、出力信号A1の長さは、入力信号V1の長さである20[ns]に寄生容量111Cからの放電に起因する過渡応答を加えた時間と同程度である。
【0042】
図5(b)に示した出力信号A2は、第一過渡応答T21と、定常部S2と、第二過渡応答T22とを含む電流信号である。第一過渡応答T21は、入力信号V1の入力による積演算部211の寄生容量211Cへの充電に起因する過渡応答である。定常部S2は、出力信号A2のうち第一過渡応答T21の発生が終了した時点から次の第二過渡応答T22の発生が開始した時点までの間に定常的な電流[nA]が流れている部分である。第二過渡応答T22は、入力信号V2の入力による積演算部211の寄生容量211Cからの放電に起因する過渡応答である。第一過渡応答T21の長さ及び第二過渡応答T22の長さは、定常部S2の長さに比べてほとんど無視し得る程に短い。また、出力信号A2の長さは、入力信号V2の長さである40[ns]に寄生容量211Cからの放電に起因する過渡応答を加えた時間と同程度である。
【0043】
図5(c)に示した出力信号A3は、第一過渡応答T31と、定常部S3と、第二過渡応答T32とを含む電流信号である。第一過渡応答T31は、入力信号V3の入力による積演算部311の寄生容量311Cへの充電に起因する過渡応答である。定常部S3は、出力信号A3のうち第一過渡応答T31の発生が終了した時点から次の第二過渡応答T32の発生が開始した時点までの間に定常的な電流C[nA]が流れている部分である。第二過渡応答T32は、入力信号V3の入力による積演算部311の寄生容量311Cからの放電に起因する過渡応答である。第一過渡応答T31の長さ及び第二過渡応答T32の長さは、定常部S3の長さに比べてほとんど無視し得る程に短い。また、出力信号A3の長さは、入力信号V3の長さである80[ns]に寄生容量311Cからの放電に起因する過渡応答を加えた時間と同程度である。
【0044】
また、寄生容量111C、211C、311C各々の静電容量の差がほとんど無視できる場合、第一過渡応答T11、第一過渡応答T21及び第一過渡応答T31は、互いに長さ及び高さがほとんど等しい過渡応答となり、第二過渡応答T12、第二過渡応答T22及び第二過渡応答T32は、互いに長さ及び高さがほとんど等しい過渡応答となる。
【0045】
図6は、実施形態に係る電流検出部に入力される電流の一例を示す図である。
図4に示した入力信号V1、入力信号V2及び入力信号V3それぞれが積演算部111、211、311に同時に入力された場合、電流検出部10Dには、電流信号Aが入力される。
図6に示すように、電流信号Aは、第一過渡応答T4と、定常部S41と、第二過渡応答T41と、定常部S42と、第二過渡応答T42と、定常部S43と、第二過渡応答T43とを含む。
【0046】
第一過渡応答T4は、
図5に示した第一過渡応答T11と、第一過渡応答T21と、第一過渡応答T31とが足し合わされることにより発生している過渡応答である。定常部S41は、
図5に示した定常部S1と、定常部S2と、定常部S3とが足し合わされることにより、定常的な電流3C[nA]が流れている部分である。
【0047】
第二過渡応答T41は、
図5に示した第二過渡応答T12に、定常部S2及び定常部S3が足し合わされることにより発生している過渡応答である。定常部S42は、
図5に示した定常部S2と、定常部S3とが足し合わされることにより、定常的な電流2C[nA]が流れている部分である。第二過渡応答T42は、
図5に示した第二過渡応答T22に、定常部S3が足し合わされることにより発生している過渡応答である。定常部S43は、定常部S3と同じく、定常的な電流1C[nA]が流れている部分である。第二過渡応答T43は、
図5に示した第二過渡応答T32である。
【0048】
電流検出部10Dは、上述した第一過渡応答又は第二過渡応答の発生が終了した時点から次の第一過渡応答又は第二過渡応答の発生が開始した時点までの係数時間ごとに積演算部111、211、311が出力する電流を検出する電流検出処理を実行する。ここで言う係数時間は、例えば、
図6に示した定常部S41、定常部S42及び定常部S43に相当する期間である。
【0049】
例えば、
図6に点D1で示すように、電流検出部10Dは、最初に時刻t0から一定時間、例えば、10[ns]だけ遅れた時点における電流3C[nA]を検出する。そして、
図6に点D2、点D2、点D3、点D4、点D5及び点D6で示すように、電流検出部10Dは、上述した係数時間、例えば、20[ns]周期で電流2C[nA]、1C[nA]、1[nA]、0[nA]及び0[nA]を検出する。
【0050】
また、電流検出部10Dは、電流検出処理により検出された電流が積演算部111、211、311、…、k11に入力信号が入力されていない場合における電流と等しい場合、電流検出処理を終了させる。例えば、電流検出部10Dは、
図6に点D5で示すように、五周期目で電流0[nA]を検出した場合、六周期目の点D6及び七周期目以降では電流検出処理を停止する。
【0051】
或いは、電流検出部10Dは、最初に電流検出処理が実行されてから入力信号がとり得る最長の長さに等しい時間が経過した時点で電流検出処理を終了させる。例えば、電流検出部10Dは、入力信号の長さが最短の長さの1倍、2倍、3倍、…、254倍、255倍、256倍のいずれかをとり得る場合、257周期目以降で電流検出処理を停止する。
【0052】
また、
図3から
図6を参照しながら説明した例では、各周期の開始時点から10[ns]が経過した時点で電流検出処理が実行されているが、電流検出処理は、他のタイミングで実行されてもよい。
図7は、実施形態に係る電流検出部が電流検出処理を実行するタイミングを説明するための図である。
【0053】
例えば、時刻t0において、積演算部111に入力信号V1が入力し、積演算部211に入力信号V2が入力し、積演算部311に入力信号V3が入力した場合について考える。この場合、
図6を参照しながら説明したように、第一過渡応答T4が発生する。第一過渡応答T4は、
図7に示すように、電流3C[nA]よりも大きな電流まで到達した後、電流3C[nA]に収束していく。
【0054】
電流の大きさが3C−Δ[nA]から3C+Δ[nA]の範囲に収まった状態が定常的な電流が流れる定常状態である。Δ[nA]の大きさは、例えば、電流3[nA]の10%p−pが望ましく、電流3[nA]の5%p−pが更に望ましい。
【0055】
例えば、
図7に示すように、電流の大きさは、時刻t1で当該範囲に収まる。時刻t0から時刻t1までの時間は、収束時間とも呼ばれる。収束時間は、例えば、時定数τ=RC(R:上述した積演算部の寄生抵抗の抵抗値、C:上述した積演算部の寄生容量の静電容量)の5倍である。寄生抵抗の抵抗値R及び静電容量Cは、積演算部111、211、311、…、k11の少なくとも一つに異なるパルス長さを有する複数の矩形の電圧パルスを入力し、過渡応答特性を評価することにより算出することができる。
【0056】
また、上述した第一過渡応答の収束時間は、寄生容量からの放電に要する時間に等しく、次の式(1)を使用して算出することもできる。
【0058】
また、上述した第二過渡応答の収束時間は、寄生容量からの放電に要する時間に等しく、次の式(2)を使用して算出することもできる。
【0060】
一方、第二過渡応答T41は、時刻20[ns]で発生し始める。したがって、上述した定常部41は、時刻t1から時刻20[ns]までの期間で発生する。電流検出部10Dは、定常部41、すなわち時刻t1から時刻20[ns]までの期間の任意のタイミングで電流検出処理を実行する。また、時刻t1から時刻20[ns]までの期間が上述した時定数τにより算出された収束時間よりも長くなるように時刻を決定することにより、電流検出部10Dは、確実に定常部41で電流検出処理を実行することができる。
【0061】
なお、電流検出部10Dが実行した電流検出処理により得られた電流は、アナログ‐デジタル変換によりデジタルデータに変換され、記憶媒体に格納されてもよい。また、電流検出部10Dは、第一過渡応答が収束し定常状態になる時間から第二過渡応答が発生する前までの時間における所定の時刻の電流を検出してもよいし、所定の期間の間に電流を検出してもよい。さらに、電流検出部10Dは、所定の期間の間に電流を検出する場合、検出した電流の統計値、例えば、平均値、中央値を電流検出処理の結果としてもよい。
【0062】
和演算部10Sは、電流検出部10Dが一定時間間隔ごとに検出した電流の合計である合計電流と係数時間との積を出力信号の総和に関連する値として演算する。
【0063】
例えば、和演算部10Sは、
図6の点D1、点D2、点D2、点D3、点D4、点D5及び点D6それぞれが示す時刻に検出された電流3C[nA]、2C[nA]、C[nA]、C[nA]、0[nA]及び0[nA]の合計電流7[nA]を算出する。そして、和演算部10Sは、合計電流7[nA]と係数時間の一例である20[ns]との積を出力信号の総和に関連する値として演算する。或いは、和演算部10Sは、電流3C[nA]、2C[nA]、C[nA]、C[nA]、0[nA]及び0[nA]それぞれに係数時間の一例である20[ns]を掛けた後、六つの積の総和を演算することにより、出力信号の総和に関連する値を演算する。これら二つの方法で演算された出力信号の総和に関連する値は、
図6に斜線で示した領域の面積に相当し、出力信号の総和と比例関係にある。
【0064】
なお、
図3から
図7を参照しながら説明した内容は、積演算部121、221、321、電流検出部20D及び和演算部20Sについても同様である。
【0065】
次に、
図8を参照しながら、実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例について説明する。
図8は、実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例を説明するための図である。
【0066】
ノード101、201、301、…、k01は、入力層を形成している。パーセプトロン10、20は、隠れ層又は出力層を形成している。ノード101は、
図1及び
図3に示した入力部101Eに対応しており、入力信号に対応する入力値をパーセプトロン10、20に対して出力する。同様に、ノード201、301、…、k01は、それぞれ入力部201E、301E、…、k01Eに対応しており、入力信号に対応する入力値をパーセプトロン10、20に対して出力する。
【0067】
矢印111Aは、積演算部111に対応しており、ノード101が出力した入力値に重みが乗算され、出力信号に対応する値がパーセプトロン10に入力されることを表している。同様に、矢印121Aは、積演算部121に対応しており、ノード101が出力した入力値に重みが乗算され、出力信号に対応する値がパーセプトロン20に入力されることを表している。これらは、矢印211A、221A、311A、321A、…、k11A、k21Aについても同様である。
【0068】
パーセプトロン10は、
図1及び
図3に示した電流検出部10D及び和演算部10Sに対応しており、矢印111A、211A、311A、…、k11Aから出力された出力信号が足し合わされた信号に対して上述した電流検出処理を実行し、出力信号の総和に関連する値を演算する。そして、パーセプトロン10は、当該値に活性化関数処理を施して出力する。
【0069】
以上、実施形態に係る積和演算器1について説明した。積和演算器1は、一定時間間隔ごとに検出した電流に基づいて出力信号の総和に関連する値を演算するため、電荷を蓄積するコンデンサを備えている必要が無い。したがって、積和演算器1は、コンデンサが飽和してしまい、積和演算を実行することができなくなってしまうことを回避し得る。また、積和演算器1は、コンデンサを省略し得るため、回路規模を削減することにより、省スペース、省コストを実現することができる。
【0070】
また、積和演算器1が備える積演算部111、121、211、221、311、321、…、k11、k21の少なくとも一つは、磁気抵抗効果を示す磁気抵抗効果素子を含む。磁気抵抗効果素子は、他の可変抵抗素子と比較して寄生容量が大きいため、他の可変抵抗素子よりも過渡応答によるコンデンサの飽和を引き起こし易い。したがって、上述した積演算部として磁気抵抗効果素子が含まれている場合、上述した効果が特に有用となる。
【0071】
また、積和演算器1では、入力信号がとり得る最短の長さが係数時間であり、係数時間の整数倍の長さを有し、積演算部111、121、211、221、311、321、…、k11、k21に同時に入力される。そして、積和演算器1は、係数時間に等しい周期で電流検出処理を実行する。したがって、積和演算器1は、第一過渡応答及び第二過渡応答が確実に収束して定常状態となっている場合の電流を確実に検出し、正確な積和演算を実行することができる。
【0072】
また、積和演算器1は、最初に電流検出処理が実行されてから入力信号がとり得る最長の長さに等しい時間が経過した時点で電流検出処理を終了させる。このため、積和演算器1は、電流検出処理実行する時間を一定にし、処理を単純にすることができる。
【0073】
また、積和演算器1は、電流検出処理により検出された電流が複数の積演算部111、121、211、221、311、321、…、k11、k21に入力信号が入力されていない場合における電流と等しい場合、電流検出処理を終了させる。このため、積和演算器1は、早期に電流検出処理を終了させることができる。
【0074】
なお、上述した実施形態では、入力信号V1が積演算部111に入力される時刻、入力信号V2が積演算部211に入力される時刻及び入力信号V3が積演算部311に入力される時刻がいずれも時刻t0である場合を例に挙げたが、これに限定されない。すなわち、これら三つの入力信号が入力される時刻が互いに異なっていてもよい。この場合、係数時間は、第一過渡応答又は第二過渡応答の発生が終了した時点から次の第一過渡応答の発生が開始した時点までの期間となることもある。
【0075】
なお、上述した積和演算器1は、論理演算デバイス又はニューロモーフィックデバイスに含まれていてもよい。ここで言う論理演算デバイスは、複数の積和演算器1を組み合わせることにより形成された論理回路、例えば、AND回路、ОR回路である。また、ここで言う論理演算は、ディープラーニングを含む概念である。また、ここで言うニューロモーフィックデバイスは、脳の構造及びニューロンと呼ばれる神経細胞が発火する仕組みを応用したデバイスであり、機械学習等に使用される。
【0076】
また、上述した実施形態に係る積和演算器1等の各装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録させ、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより、処理を行ってもよい。
【0077】
ここで言うコンピュータシステムとは、オペレーティング・システム(Operating System:OS)又は周辺機器等のハードウェアを含むものであってもよい。また、コンピュータ読み取り可能な記録媒体とは、例えば、フロッピーディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、ネットワーク又は通信回線を介してプログラムが送信される場合におけるサーバ又はクライアントとなるコンピュータシステム内部の揮発性メモリのように一定時間プログラムを保持しているものも含む。
【0078】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、又は、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体とは、インターネット等のネットワーク又は電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
【0079】
また、上述したプログラムは、上述した機能の一部を実現するためのものであってもよく、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分プログラムであってもよい。上述したプログラムは、例えば、コンピュータが備えるCPU(Central Processing Unit)等のプロセッサにより読み出されて実行される。
【0080】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。上述した各実施形態に記載の構成を組み合わせてもよい。