(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022163000
(43)【公開日】2022-10-25
(54)【発明の名称】マルチビットセル、マルチビット演算装置及びその方法
(51)【国際特許分類】
G06N 3/063 20060101AFI20221018BHJP
G06N 3/08 20060101ALI20221018BHJP
【FI】
G06N3/063
G06N3/08
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022065818
(22)【出願日】2022-04-12
(31)【優先権主張番号】10-2021-0048025
(32)【優先日】2021-04-13
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MEMORY STICK
2.ブルートゥース
3.BLUETOOTH
4.ZIGBEE
(71)【出願人】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】明 成▲みん▼
(72)【発明者】
【氏名】鄭 丞哲
(72)【発明者】
【氏名】金 尚駿
(57)【要約】
【課題】マルチビット演算装置及びその方法を提供する。
【解決手段】マルチビットウェートに対応するウェート抵抗を保存するメモリ、ウェート抵抗からウェート電圧が生成されるように、メモリに電流を印加する電流源、互いに並列に連結され、メモリと直列に連結され、マルチビット入力に基づき、それぞれがウェート電圧及び第1固定電圧のうち1つの信号を出力する複数のマルチプレクサ、及び複数のマルチプレクサとそれぞれ連結され、それぞれが別個のウェートキャパシタンスを保存し、出力された信号とウェートキャパシタンスとに係わる演算を行うことにより、電荷データを生成する複数のキャパシタを含むマルチビットセルである。
【選択図】
図4
【特許請求の範囲】
【請求項1】
マルチビットセルにおいて、
マルチビットウェートに対応するウェート抵抗を保存するメモリと、
前記ウェート抵抗からウェート電圧が生成されるように、前記メモリに電流を印加する電流源と、
互いに並列に連結され、前記メモリと直列に連結され、マルチビット入力に基づき、それぞれが前記ウェート電圧及び第1固定電圧のうち1つの信号を出力する複数のマルチプレクサと、
前記複数のマルチプレクサとそれぞれ連結され、それぞれが別個のウェートキャパシタンスを保存し、前記出力された信号と前記ウェートキャパシタンスとに係わる演算を行うことにより、電荷データを生成する複数のキャパシタと、を含む、マルチビットセル。
【請求項2】
前記メモリは、
前記マルチビットウェートのビット数に対応する個数の互いに直列に連結された複数の抵抗素子を含み、
前記マルチビットセルは、
前記抵抗素子それぞれをオン/オフ制御することにより、前記ウェート抵抗を調節する、請求項1に記載のマルチビットセル。
【請求項3】
前記複数のマルチプレクサは、それぞれ、
1の入力または0の入力を受信し、
1の入力を受信することにより、前記ウェート電圧を出力し、
0の入力を受信することにより、前記第1固定電圧を出力する、請求項1に記載のマルチビットセル。
【請求項4】
前記複数のマルチプレクサのいずれからも、前記第1固定電圧が出力される場合、前記マルチビットセルは、前記電流源をオフ制御することによって電力消耗を低減させる、請求項1に記載のマルチビットセル。
【請求項5】
前記出力された信号が伝達されるキャパシタの一端の反対端に伝達される第2固定電圧の大きさは、前記第1固定電圧の大きさと同一であり、
前記複数のキャパシタうち、前記第1固定電圧を伝達されるキャパシタは、両端の電位が同一であるので、0Vの電圧を印加され、0Cの電荷データを生成する、請求項1に記載のマルチビットセル。
【請求項6】
前記ウェート抵抗は、前記マルチビットウェートが増大するほど線形的に増大するように設定され、前記第2固定電圧の大きさは、前記ウェート電圧との差等値が前記マルチビットウェートに比例するように設定される、請求項5に記載のマルチビットセル。
【請求項7】
前記マルチビットセルは、前記マルチビット入力のビット数に対応する個数の前記キャパシタを含み、
前記キャパシタは、それぞれ前記マルチビット入力の各桁数に対応する値のウェートキャパシタンスを保存する、請求項1に記載のマルチビットセル。
【請求項8】
前記マルチビット入力を構成する各桁の値が前記桁に対応する前記キャパシタのキャパシタと連結された前記マルチプレクサのマルチプレクサに入力される、請求項7に記載のマルチビットセル。
【請求項9】
前記複数のキャパシタは、
一端で前記出力された信号を伝達され、前記一端の反対端で第2固定電圧を伝達され、前記出力された信号につき、前記第2固定電圧を差等演算し、前記差等演算した値と前記ウェートキャパシタンスとを乗算演算することにより、前記電荷データを生成する、請求項1に記載のマルチビットセル。
【請求項10】
前記複数のキャパシタそれぞれによって生成された電荷データを合算することによって生成される第1合算データを出力する、請求項1に記載のマルチビットセル。
【請求項11】
前記メモリは、異なるウェート抵抗を保存する第1メモリ及び第2メモリを含み、
前記マルチビットセルは、符号入力に基づき、前記第1メモリ及び前記第2メモリのうち、前記電流が印加される1つのメモリを決定する符号マルチプレクサをさらに含み、
前記決定されたメモリに保存されたウェート抵抗からウェート電圧を生成する、請求項1ないし10のうちの何れか1項に記載のマルチビットセル。
【請求項12】
前記メモリは、第1ウェート抵抗を保存する第1メモリ、及び第2ウェート抵抗を保存する及び第2メモリを含み、
前記電流源は、第1ウェート電圧が生成されるように、前記第1メモリに電流を印加する第1電流源、及び第2ウェート電圧が生成されるように、前記第2メモリに電流を印加する第2電流源を含み、
前記複数のマルチプレクサは、符号入力が含まれた前記マルチビット入力に基づき、それぞれが前記第1ウェート電圧、前記第2ウェート電圧及び前記第1固定電圧のうちいずれか1つの信号を出力する、請求項1ないし10のうちの何れか1項に記載のマルチビットセル。
【請求項13】
マルチビット演算装置において、
請求項10に記載のマルチビットセルを複数個含み、
前記マルチビットセルそれぞれから出力された前記第1合算データを合算することによって生成される第2合算データを出力する、マルチビット演算装置。
【請求項14】
前記マルチビット演算装置は、
アナログデータである前記第2合算データをデジタルデータに変換するコンバータをさらに含み、
前記コンバータは、
比較器、複数の基準電圧セル及びSAR(successive approximation register)ロジックを含む、請求項13に記載のマルチビット演算装置。
【請求項15】
マルチビット演算方法において、
マルチビットウェートに対応するウェート抵抗を保存するメモリに電流を印加することにより、前記ウェート抵抗からウェート電圧を生成する段階と、
それぞれが別個のウェートキャパシタンスを保存する複数のキャパシタに係わるマルチビット入力を受信する段階と、
前記マルチビット入力に基づき、前記複数のキャパシタそれぞれに、前記ウェート電圧及び第1固定電圧のうち1つの信号を出力する段階と、
前記出力された信号と前記ウェートキャパシタンスとに係わる演算を行うことにより、前記複数のキャパシタそれぞれに保存される電荷データを生成する段階と、を含む、マルチビット演算方法。
【請求項16】
前記マルチビット演算方法は、
前記複数のキャパシタそれぞれに保存された電荷データを合算することによって生成される第1合算データを出力する段階をさらに含む、請求項15に記載のマルチビット演算方法。
【請求項17】
前記マルチビット演算方法は、
前記第1合算データを出力する段階を複数のマルチビットセルそれぞれで遂行する段階と、
前記複数のマルチビットセルそれぞれから出力された前記第1合算データを合算することによって生成される第2合算データを出力する段階と、をさらに含む、請求項16に記載のマルチビット演算方法。
【請求項18】
前記マルチビット演算方法は、
アナログデータである前記第2合算データをデジタルデータに変換する段階をさらに含む、請求項17に記載のマルチビット演算方法。
【請求項19】
プロセッサに請求項15ないし18のうちの何れか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチビットセル、マルチビット演算装置及びその方法に関する。
【背景技術】
【0002】
ニューラルネットワークの演算は、積算と加算とを反復するMAC(multiply-accumulate)演算(又は積和演算)を含むものでもある。該ニューラルネットワークの特定ノードにおいては、以前レイヤのノード値と、そこにマッピングされたウェートとが乗じられて合わせられた後、適切な活性関数の適用される演算が行われうる。そのような演算を行うために、所望の時点において、適切な入力とウェートとがローディングされるメモリアクセス動作(memory access operation)と、ロィングされた入力とウェートとを乗じて加えるMAC演算とが反復されうる。また、該ニューラルネットワーク以外の分野において、入力とウェートとに係わる演算が要求されうる。一般的に知られたデジタルコンピュータを利用し、入力及びウェートに係わる演算を処理する代わりに、他のハードウェアアーキテクチャを利用し、入力及びウェートに係わる演算の処理をさらに効率的に行うための方案が試みられている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2020/0202204号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、マルチビットセル、マルチビット演算装置及びその方法を提供するところにある。また、前記方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。本実施形態がなすべき技術的課題は、前述のような技術的課題に限定されるものではなく、以下の実施形態から他の技術的課題が類推されうる。
【課題を解決するための手段】
【0005】
前述の技術的課題を解決するための手段として、一態様によるマルチビットセルは、マルチビットウェートに対応するウェート抵抗を保存するメモリと、前記ウェート抵抗からウェート電圧が生成されるように、前記メモリに電流を印加する電流源と、互いに並列に連結され、前記メモリと直列に連結され、マルチビット入力に基づき、それぞれが前記ウェート電圧及び第1固定電圧のうち一つの信号を出力する複数のマルチプレクサと、前記複数のマルチプレクサとそれぞれ連結され、それぞれが別個のウェートキャパシタンスを保存し、前記出力された信号と前記ウェートキャパシタンスとに係わる演算を行うことにより、電荷データを生成する複数のキャパシタと、を含むものでもある。
【0006】
他の態様によるマルチビット演算装置は、前述のマルチビットセルを複数個含み、前記マルチビットセルそれぞれから出力された前記第1合算データを合算することによって生成される第2合算データを出力することができる。
【0007】
さらに他の態様によるマルチビット演算方法は、マルチビットウェートに対応するウェート抵抗を保存するメモリに電流を印加することにより、前記ウェート抵抗からウェート電圧を生成する段階と、それぞれが別個のウェートキャパシタンスを保存する複数のキャパシタに係わるマルチビット入力を受信する段階と、前記マルチビット入力に基づき、前記複数のキャパシタそれぞれに、前記ウェート電圧及び第1固定電圧のうち一つの信号を伝達する段階と、前記伝達された信号と前記ウェートキャパシタンスとに係わる演算を行うことにより、前記複数のキャパシタそれぞれに保存される電荷データを生成する段階と、を含むものでもある。
【0008】
さらに他の態様によるコンピュータで読み取り可能な記録媒体は、前述の方法をコンピュータで実行するためのプログラムを記録した記録媒体を含むものでもある。
【図面の簡単な説明】
【0009】
【
図1】少なくとも一実施形態によるニューラルネットワークノードモデルを示す図である。
【
図2】少なくとも一実施形態によるニューラルネットワークを示す図である。
【
図3A】少なくとも一実施形態によるマルチビット演算装置について説明するための図面である。
【
図3B】少なくとも一実施形態によるマルチビット演算装置について説明するための図面である。
【
図4】少なくとも一実施形態によるマルチビットセルの構成を図示したブロック図である。
【
図5】少なくとも一実施形態によるマルチビットセルの回路図である。
【
図6】少なくとも一実施形態によるメモリの回路図である。
【
図7】マルチプレクサのいずれもから第1固定電圧が出力される少なくとも一実施形態によるマルチビットセルの回路図である。
【
図8】キャパシタがいずれも同一ウェートキャパシタンスを保存する少なくとも一実施形態によるマルチビットセルの回路図である。
【
図9】マルチビットセルに複数のメモリが含まれる少なくとも一実施形態によるマルチビットセルの回路図である。
【
図10】マルチビットセルに複数のメモリが含まれる少なくとも一実施形態によるマルチビットセルの回路図である。
【
図11】少なくとも一実施形態によるマルチビットセルの動作方法を示すフローチャートである。
【
図12】少なくとも一実施形態によるマルチビット演算装置の構成を示すブロック図である。
【
図13】少なくとも一実施形態によるマルチビット演算装置の回路図である。
【
図14】少なくとも一実施形態によるマルチビット演算時間とデジタル変換時間との関係を示したグラフである。
【
図15】少なくとも一実施形態によるマルチビット演算装置の動作方法を示すフローチャートである。
【
図16】少なくとも一実施形態によるマルチビット演算装置アレイの構成を示すブロック図である。
【
図17】少なくとも一実施形態による電子システムを示すブロック図である。
【発明を実施するための形態】
【0010】
図面及び詳細な説明全体にわたり、特別な説明がない限り、同一であるか、あるいは類似した構成要素については、同一参照符号を使用する。図面は、縮尺が合っていない場合があり、図面の相対的な大きさ、比率及び構成要素の説明は、明確性、例示及び便宜さのために誇張されてもいる。
【0011】
以下の詳細な説明は、開示される方法、装置及び/またはシステムの包括的な理解を得るのに一助となるために提供される。ただし、開示される方法、装置及び/またはシステムの多様な変更、修正及び均等物は、本出願の開示内容を理解した後に明白になるであろう。例えば、本明細書で開示される動作の順序は、ただ例示であるのみ、本明細書に開示される動作に限定されるものではないが、特定順序によって必ず生じる動作を除いては、本出願の開示内容を理解した後で明確に知ることができる通りにも変更される。また、本出願の開示内容を理解した後、明瞭さ及び簡潔さを向上させるために、当業界に公知された特徴に係わる説明は、省略されうる。
【0012】
本実施形態で使用される用語は、本実施形態における機能を考慮しながら、可能な限り、現在汎用される一般的な用語を選択したが、それは、当技術分野の当業者の意図、判例、または新たな技術の出現などによっても異なる。また、特定の場合は、任意に選定された用語もあり、その場合、当該実施形態の説明部分において、詳細にその意味を記載するであろう。従って、本実施形態で使用される用語は、単純な用語の名称ではなく、その用語が有する意味と、本実施形態の全般にわたる内容とを基に定義されなければならない。
【0013】
本実施形態に係わる説明において、ある部分が、他の部分と連結されているとするとき、それは、直接連結されている場合だけではなく、その中間に、他の構成要素を挟んで電気的に連結されている場合も含む。また、ある部分がある構成要素を含むとするとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいということを意味する。
【0014】
本実施形態で使用される「構成される」または「含む」というような用語は、明細書上に記載されたさまざまな構成要素、またはさまざまな段階を必ずしもいずれも含むと解釈されるものではなく、そのうち一部構成要素または一部段階は、含まれず、または、さらなる構成要素または段階をさらに含んでもよいと解釈されなければならない。
【0015】
また、本明細書で使用される「第1」または「第2」というように、序数を含む用語は、多様な構成要素についての説明に使用することができるが、前記構成要素は、前記用語によって限定されるものではない。前記用語は、1つの構成要素を他の構成要素から区別する目的のみに使用される。
【0016】
以下の実施形態に係わる説明は、権利範囲を制限すると解釈されるものではなく、当該技術分野の当業者が容易に類推することができるものであるならば、本実施形態の権利範囲に属すると解釈されなければならないであろう。以下、添付された図面を参照しながら、ただ例示のための実施形態について詳細に説明する。
【0017】
図1は、少なくとも一実施形態によるニューラルネットワークノードモデルを図示する。
【0018】
生物学的ニューロン、または該生物学的ニューロンが互いに連結されて形成する生物学的神経網を模写し、膨大な量の情報を効率的に処理するためのコンピュータ装置を開発するための多様な試みが持続されている。ニューラルネットワークノードモデル11は、ハードウェア演算装置またはハードウェア演算プロセッサによって実行されるニューロモーフィック演算の一例でもある。ニューラルネットワークノードモデル11は、多数のニューロンからの情報につき、シナプティックウェートを乗じる乗算演算、シナプティックウェートが乗じられた値(w0x0、w1x1、w2x2)に係わる加算演算(Σ)、及び加算演算結果につき、特性関数(b)及び活性関数(f)を適用する演算を含むものでもある。ニューロモーフィック演算が実行されることにより、ニューロモーフィック演算結果が提供されうる。ここで、x0、x1、x2、…のような値は、アクソン値(軸索値)に該当し、w0、w1、w2、…のような値は、シナプティックウェートに対応しうる。ニューラルネットワークノードモデル11のノード、値及び加重値は、それぞれ「ニューロン」、「アクソン値」及び「シナプス加重値」とも称されうるが、そのような参照は、ニューラルネットワークアキテクチャが計算的にマッピングされる方式または情報を直観的に認識する方式、及びヒトニューロンが作動する方式と係わって関連性を付与するためではない。すなわち、前記用語は、ニューラルネットワークノードモデル11のハードウェア具現のノード、値及び加重値を称する技術用語であるのみである。
【0019】
図2は、少なくとも一実施形態によるニューラルネットワーク(例:ニューラルネットワーク20)を図示する。
【0020】
図2を参照すれば、ノードが互いに連結されて形成する神経網を含んだニューラルネットワーク(neural network)、すなわち、ニューラルネットワーク20の一例を図示する。ニューラルネットワーク20は、ディープニューラルネットワーク(DNN:deep neural network)の例示に該当しうる。説明の便宜のために、ニューラルネットワーク20が2層の隠れ層(hidden layer)を含むように図示されているが、多様な層の隠れ層を含んでもよい。また、
図2において、ニューラルネットワーク20は、入力データを受信するための別途の入力レイヤ(input layer)21を含むように図示されているが、入力データが隠れ層に直接入力されうる。
【0021】
ニューラルネットワーク20において、出力レイヤ(output layer)を除いたレイヤのノードは、出力信号を伝送するためのリンクを介し、次のレイヤのノードとも連結される。それらリンクを介してノードには、以前レイヤに含まれたノードの加重された入力(weighted input)に係わる活性関数(activation function)の出力が入力されうる。加重された入力は、ノードの入力(ノード値)にウェートが乗じられたものであり、該入力は、アクソン値に該当し、該ウェートは、シナプティックウェートに該当する。該ウェートは、ニューラルネットワーク20のパラメータとも称される。該活性関数は、シグモイド(sigmoid)、ハイパーボリックタンジェント(tanh: hyperbolic tangent)及びReLU(rectified linear unit)を含み、該活性関数により、ニューラルネットワーク20に非線形性が形成されうる。
【0022】
そのようなニューラルネットワーク20に含まれた任意の1ノード22の出力は、下記数式1のように示すことができる。
【0023】
【数1】
数式1は、任意のレイヤにおいて、m個の入力値に係わるi番目ノード22の出力値y
iを示すことができる。x
jは、以前レイヤのj番目ノードの出力値を示すことができ、w
j,iは、j番目ノードの出力値、及び現在レイヤのi番目ノード22に適用されるウェートを示すことができる。f()は、活性関数を示すことができる。数式1に示されているように、活性関数につき、入力値x
j及びウェートw
j,iの乗算累積結果が使用されうる。言い換えれば、所望する時点において、適切な入力値x
j及び加重値w
j,iを乗じて加える演算(MAC演算)が反復されうる。そのような用途以外にも、MAC演算を行う多様な応用分野があり、そのために、アナログ領域においてMAC演算を処理することができるマルチビット演算装置が使用されうる。
【0024】
図3A及び
図3Bは、少なくとも一実施形態によるマルチビット演算装置について説明するための図面である。
【0025】
ここで、
図3Aは、一実施形態によるマルチビット演算装置のアキテクチャについて説明するための図面であり、
図3Bは、
図3Aのマルチビット演算装置によって遂行される演算を含むニューラルネットワークを例示的に図示する図面である。
【0026】
図3Aを参照すれば、マルチビット演算装置30は、並列に連結された複数のマルチビットセル、及びマルチビットセルに電圧または電流を印加する電源(electric power source)(例:電圧源または電流源)を含むものでもある。
図3Aには、
図3Bのニューラルネットワークについて説明するための最小限の構成だけ表示され、マルチビット演算装置30に含まれうる他の構成については、
図12を参照して後述する。
【0027】
マルチビットセルは、マルチビット演算装置30に含まれ、マルチビット入力を受信する単位回路である。並列に連結されるマルチビットセルの数は、特別に制限されるものではないが、例えば、2の累乗個であってもよく、ここでは、説明の便宜のために、3個のマルチビットセルが並列に連結された構造について例示的に説明する。
【0028】
図3Bを参照すれば、第1レイヤに、3個ノード、第2レイヤに、2個ノードを有するニューラルネットワークを例示的に図示している。第1レイヤは、
図2の入力レイヤ及び隠れ層のうち一つにもなる。第2レイヤは、第1レイヤの出力値とウェートとを乗じた値を伝達され、それを活性関数に入力した結果値をノード値として有し、そのノード値が、次のレイヤに入力としても提供される。具体的には、第2レイヤの第1ノードa
1においては、例えば、下記数式2のように、第1レイヤの出力値と、それぞれのリンクに該当するウェートとを乗じる3回の乗算演算、及びそれら結果値を合算する加算演算が行われる。ここでは、説明の便宜のために、活性関数に係わる内容は、省略する。
【0029】
【数2】
図3Aに図示されたマルチビット演算装置30は、数式2の演算に利用されうる装置である。
図3Aを参照すれば、それぞれの第1マルチビットセルないし第3マルチビットセルは、電源に対して異なる抵抗値を有することができる。第1マルチビットセルは、第1レイヤにおける第1ノードに対応し、類似して、第2マルチビットセル及び第3マルチビットセルは、第1レイヤにおける第2ノード及び第3ノードに対応しうる。
【0030】
電源に係わるマルチビットセルの抵抗値は、それぞれのマルチビットセルに印加される入力X1,X2,X3とウェートW11,W21,W31とによっても決定される。入力及びウェートは、マルチビットでもある。ここで、入力「X1」は、第1ノード(第1レイヤ)の出力値またはノード値を称し、第1マルチビットセルに印加される入力を意味する。類似して、入力「X2」及び入力「X3」は、第2ノード及び第3ノードの入力またはノード値をそれぞれ称し、それぞれ第2マルチビットセル及び第3マルチビットセルに印加される入力を意味する。ウェート「W11」において、左側「1」は、第1レイヤの第1ノードを称し、右側「1」は、第2レイヤの第1ノードを称する。ウェート「W11」は、第1レイヤの第1ノードと、第2レイヤの第1ノードとのリンクに係わるウェートであり、第1マルチビットセルに印加されるウェートを意味する。類似して、ウェートW21及びウェートW31は、それぞれ第2マルチビットセル及び第3マルチビットセルに印加されるウェートを意味する。
【0031】
図4は、少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の構成を図示したブロック図である。
【0032】
図4を参照すれば、マルチビットセル100は、メモリ110、電流源120、複数のマルチプレクサ130、及び複数のキャパシタ130を含んでもよい。
図4に図示されたマルチビットセル100には、本実施形態と係わる構成要素が図示されている。従って、本発明が属する技術分野において当業者であるならば、本開示内容を理解した後、非制限的な実施形態において、マルチビットセル100には、
図4に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということを理解することができるであろう。
【0033】
メモリ110は、マルチビットウェートを抵抗の形態で保存することができる。抵抗の形態でメモリ110に保存されたマルチビットウェートを、ウェート抵抗と言う。マルチビットウェートが3であり、それに対応する抵抗が12kΩである場合、メモリ110は、12kΩであるウェート抵抗の形態で、3であるマルチビットウェートを保存することができる。例えば、メモリ110は、不揮発性メモリでもあり、ReRAM(resistive random access memory)、PCM(phase change memory)及びMRAM(magnetic random access memory)などに該当しうる。ただし、前述のメモリ110の種類は、例示に過ぎず、抵抗情報を保存することができる形態であるならば、制限なしに該当しうる。
【0034】
電流源120は、メモリ110に電流を印加することができる。電流源120は、抵抗または電圧の大きさに係わりなく、メモリ110に一定サイズの電流を印加することができる。例えば、電流源120は、マルチビットセル100の動作点を設定する直流のバイアス電流を印加することができる。電流源120がメモリ110に印加する電流の大きさが同一であるとしても、メモリ110の抵抗の大きさにより、メモリ110の電圧は、異なりうる。電流源120がメモリ110に電流を印加することにより、メモリ110に保存されたウェート抵抗から、ウェート電圧が生成されうる。オームの法則により、ウェート抵抗に電流が乗じられることにより、ウェート電圧が生成されうる。ウェート電圧の非制限的な実施形態は、
図5を参照し、以下においてさらに具体的に後述する。
【0035】
マルチビットセル100は、マルチビット入力を受信することができる。マルチビット入力は、1または0だけで表現される1ビット入力とは異なり、複数個の入力を含むものでもある。例えば、該マルチビット入力は、マルチビット入力を表現する各桁の値によっても構成される。該マルチビット入力が3ビット入力である場合、マルチビット入力は、3’b101のようにも表現され、22桁の「1」、21桁の「0」、及び20桁の「1」によっても構成されるその場合、「1」、「0」及び「1」がマルチビット入力に含まれるそれぞれの入力値に該当しうる。マルチビットウェート、及びマルチビット入力のビット数は、同一でもある。
【0036】
マルチプレクサ131は、メモリ110と直列に連結され、ウェート電圧を入力され、他のラインを介し、固定電圧を入力されうる。該固定電圧は、マルチプレクサ131に固定して印加される一定サイズの電圧である。また、マルチプレクサ131は、マルチビット入力を構成する複数個の入力のうち一つを受信することができる。マルチプレクサ131は、受信した入力に基づき、ウェート電圧及び固定電圧のうち1つの信号を出力することができる。例えば、マルチプレクサ131は、1を受信する場合、ウェート電圧を出力し、0を受信する場合、固定電圧を出力することができる。その非制限的な実施形態については、
図5を参照し、以下でさらに具体的に後述する。または、マルチプレクサ131は、多数の固定電圧を入力され、多数の入力に基づき、ウェート電圧、及び多数の固定電圧のうち1つの信号を出力することもできる。マルチプレクサ131は、1つの信号を出力し、キャパシタ141に伝達することができる。
【0037】
マルチプレクサ131は、複数個が互いに並列に連結されうる。複数のマルチプレクサ130は、メモリ110と直列に連結され、いずれも同一信号(ウェート電圧及び固定電圧)を入力されうる。マルチプレクサ130は、マルチビット入力を受信し、それに基づき、それぞれウェート電圧及び固定電圧のうち1つの信号を出力することができる。ウェート電圧及び固定電圧のうち、それぞれのマルチプレクサが出力する信号は、受信した入力の値によっても決定される。例えば、マルチビット入力が、3’b101である場合、22桁の「1」を受信したマルチプレクサと、20桁の「1」を受信したマルチプレクサにおいては、互いに同一信号を出力し、21桁の「0」を受信したマルチプレクサにおいては、異なる信号を出力することができる。
【0038】
キャパシタ141は、マルチプレクサ131と連結され、マルチプレクサ131から出力された信号を伝達されうる。キャパシタ141は、ウェートキャパシタンスを保存することができる。キャパシタ141は、伝達された信号とウェートキャパシタンスとに係わる演算を行うことにより、電荷データを生成することができる。キャパシタ141における演算については、
図5を参照して具体的に後述する。
【0039】
キャパシタ141は、複数個が互いに並列に連結されうる。キャパシタ130それぞれは、マルチプレクサ130それぞれと直列にも連結される。従って、1つのキャパシタ141は、1つのマルチプレクサ131とも連結される。複数のキャパシタ130は、それぞれが別個のウェートキャパシタンスを保存することができる。ウェートキャパシタンスは、キャパシタごとにいずれも異なるか、いずれも同一であるか、あるいは一部だけ異なりうる。
【0040】
図5は、少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の回路図である。
【0041】
図5を参照すれば、マルチビットセル100は、メモリ110、電流源120、複数のマルチプレクサ130、及び複数のキャパシタ130を含むものでもある。マルチビットセル100は、マルチビット入力150を受信し、マルチビット入力150に含まれる個々の入力151は、各マルチプレクサ131にも入力される。
【0042】
図5に図示された回路図には、本実施形態と係わる構成要素だけが図示されている。従って、該回路図には、
図5に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということは、当業者に自明であろう。
【0043】
図5の回路図を参照すれば、ウェート電圧及び第1固定電圧がマルチプレクサ131にも入力される。また、マルチビット入力150を構成する1つの入力151が、マルチプレクサ131に受信されうる。マルチプレクサ131に受信される1つの入力151は、マルチプレクサ131に対し、セレクタ(selector)信号(SEL)として作用し、ウェート電圧及び第1固定電圧のうち1つの信号を、マルチプレクサ131から出力させることができる。
【0044】
マルチプレクサ131から出力された1つの信号は、キャパシタ141にも伝達される。キャパシタ141の左側端には、マルチプレクサ131から出力された1つの信号が伝達され、キャパシタ141の右側端には、第2固定電圧が伝達されうる。従って、キャパシタ141には、マルチプレクサ131から出力された1つの信号と、第2固定電圧との電位差を有する電圧が印加されうる。以下において、マルチビット入力150及びマルチビットウェートに係わる演算方法について具体的に後述する。
【0045】
メモリ110は、マルチビットウェートに対応するウェート抵抗を保存することができる。該マルチビットウェートの値ごとに対応するウェート抵抗の値は、異なりうる。該ウェート抵抗は、マルチビットウェートが増大するほど、線形的に増大するようにも設定される。例えば、該ウェート抵抗は、等差数列のように、マルチビットウェートが一定差で増大することにより、一定差で増大することができる。3ビットウェートに係わるウェート抵抗の一例は、表1のようにも示される。
【0046】
【表1】
マルチビットセル100は、電流源120により、メモリ110に電流を印加することにより、ウェート抵抗からウェート電圧を生成することができる。メモリ110に保存されたウェート抵抗に電流が印加されれば、オームの法則により、電流とウェート抵抗が乗じられ、その結果として、ウェート電圧が生成されうる。電流源120は、一定サイズの電流を出力するので、該ウェート電圧は、ウェート抵抗に比例しうる。3ビットウェートに係わるウェート電圧の一例は、表2のようにも示される。
【0047】
【表2】
マルチビットセル100は、1ビットの入力151を受信するキャパシタ141を複数個利用し、マルチビット入力150を受信することができる。キャパシタ130の個数及びウェートキャパシタンスは、マルチビット入力150の受信が可能になるようにも設定される。
【0048】
例えば、マルチビットセル100は、マルチビット入力150のビット数に対応する個数のキャパシタ130を含み、キャパシタ130は、それぞれマルチビット入力150の各桁数に対応する値のウェートキャパシタンスを保存することができる。マルチビット入力150が3ビットである場合、マルチビット入力150は、3’b000ないし3’b111とも表現される、マルチビット入力150の各桁数は、2
0、2
1及び2
2でもある。その場合、マルチビットセル100は、3個のキャパシタ130を含み、キャパシタ130は、それぞれ単位キャパシタンスの2
0倍、単位キャパシタンスの2
1倍、及び単位キャパシタンスの2
2倍のウェートキャパシタンスを保存することができる。
図5を参照すれば、3ビットのマルチビット入力150が印加され、3個のキャパシタ130が図示され、各キャパシタは、単位キャパシタンスの1倍、2倍及び4倍のキャパシタンスウェートを保存するところが図示される。
【0049】
キャパシタ130は、マルチプレクサ130を介し、マルチビット入力150を間接的に受信することができる。前述のように、マルチビット入力150は、複数の入力を含み、各入力は、対応するキャパシタと連結されたマルチプレクサにも受信される。マルチビット入力150を構成する各桁の値と対応するキャパシタと連結されたマルチプレクサに、各桁の値が入力されうる。例えば、マルチビット入力150が3ビットである場合、マルチビット入力150の20桁の値は、単位キャパシタンスの1倍のキャパシタンスウェートを保存するキャパシタCAP0に間接的に入力され、21桁の値は、単位キャパシタンスの2倍のキャパシタンスウェートを保存するキャパシタCAP1に間接的に入力され、22桁の値は、単位キャパシタンスの4倍のキャパシタンスウェートを保存するキャパシタCAP2に間接的に入力されうる。マルチビット入力150の各桁の値は、マルチプレクサに直接入力され、該入力に基づき、マルチプレクサから出力される信号がキャパシタに伝達されるので、各桁の値は、キャパシタに間接的に入力されうる。
【0050】
マルチビット入力150が3’b110(または、6)である場合、CAP2に対応するマルチプレクサに1が入力され、CAP1に対応するマルチプレクサに1が入力され、CAP0に対応するマルチプレクサに0が入力されうる。3ビットであるマルチビット入力150の値により、各マルチプレクサに入力される値の一例は、表3のようにも示される。
【0051】
【表3】
そのようにマルチプレクサ130は、それぞれ1または0の入力を受信することができる。マルチプレクサ130において、「1」の入力を受信するマルチプレクサにおいては、ウェート電圧を出力し、「0」の入力を受信するマルチプレクサにおいては、第1固定電圧を出力することができる。ただし、それは、例示に過ぎず、マルチプレクサの設定により、0/1の論理を反転させても良いし、該マルチプレクサが他形態の入力を受信するか、あるいは該マルチプレクサが多数の入力に基づき、出力する信号を決定するというように、多様に変形されても実施される。表3の例により、マルチプレクサ130から各キャパシタに伝達された信号の一例は、表4のようにも示される。
【0052】
【表4】
キャパシタ141は、一端において、マルチプレクサ131から出力された信号を伝達され、一端の反対端において、第2固定電圧を伝達されうる。キャパシタ141は、マルチプレクサ131から出力された信号につき、第2固定電圧を差等演算(減算又は差分演算)することができる。従って、キャパシタ141は、ウェート電圧または第1固定電圧につき、第2固定電圧を差等演算することができる。差等値は、キャパシタ141両端の電位差であり、キャパシタ141に印加される電圧に該当しうる。例えば、該第1固定電圧が該第2固定電圧と同一値を有するように設定された場合、該第1固定電圧に対する第2固定電圧の差等値は、0Vに該当しうる。ただし、マルチビットセル100の構造及び設定により、該第1固定電圧と該第2固定電圧は、異なる値にも設定され、その場合、該差等値は、0V以外の値に該当しうる。
【0053】
第2固定電圧の大きさは、ウェート電圧との差等値がマルチビットウェートに比例するようにも設定されるこ。表2の例において、該第2固定電圧は、ウェート電圧値の平均値である525mVでもある。ウェート電圧、第2固定電圧、及びウェート電圧に対する第2固定電圧の差等値の関係を整理すれば、表5の通りである。
【0054】
【表5】
表5に表示されているように、第2固定電圧の大きさは、差等値とマルチビットウェートとが比例するようにも設定される。表5の例において、第1固定電圧も、第2固定電圧と同一に設定されうる。
【0055】
表6は、表2の例により、複数のマルチビットセル100それぞれについて設定されたマルチビット入力150、マルチビットウェート、マルチビットウェートによるウェート電圧、及びウェート電圧に対する第2固定電圧の差等値を示す。
【0056】
【表6】
表6に表示されたマルチビット入力150及びマルチビットウェートの値は、3ビットを基準に任意に設定された値であり、多様にも変形される。表6の「行」は、1つのマルチビットセル100に対応しうる。従って、表6には、16個のマルチビットセル100に係わる結果が表示される。
【0057】
第1固定電圧は、第2固定電圧と同一にも設定されるので、キャパシタ130において、第1固定電圧を伝達されるキャパシタは、両端の電位が同一であり、電位差が0Vでもある。その場合、該キャパシタは、0Vの電圧を印加され、0Cの電荷データを生成することができる。
【0058】
表7は、前述の表の例示により、マルチビットセル100の各キャパシタで演算された差等値、すなわち、各キャパシタの両端の電位差を示す。
【0059】
【表7】
キャパシタ141は、差等値とウェートキャパシタンスとを乗算演算することにより、電荷データを生成することができる。すなわち、キャパシタ141は、Q=C×V演算により、ウェートキャパシタンスと差等値(電圧)とを乗算演算することにより、電荷データを生成することができる。
【0060】
表8は、表7の例により、各キャパシタで生成される電荷データを示す。
【0061】
【表8】
マルチビットセル100は、キャパシタ130それぞれによって生成された電荷データを合算することによって生成される第1合算データを出力することができる。表8の例において、行1に対応するマルチビットセル100は、-100mCの第1合算データを出力し、行4に対応するマルチビットセル100は、1,225mCの第1合算データを出力することができる。各行の第1合算データは、いずれも合算された後、デジタル信号に変換されうる。その非制限的な実施形態については、
図12を参照して以下で後述する。
【0062】
一方、マルチビット入力150とマルチビットウェートとの乗算演算結果と、第1合算データとを比較することにより、マルチビットセル100の演算方法が検証されうる。行1のマルチビット入力150とマルチビットウェートとの積は、-4であり、行4のマルチビット入力150とマルチビットウェートとの積は、49である。表5を参照すれば、ウェート電圧に対する第2固定電圧の差等値は、マルチビット入力150の25倍であることを確認することができる。ここで、行1の第1合算データは、-4×25mCであり、行4の第1合算データは、49×25mCであるので、第1合算データは、前述の乗算演算結果に対応するということが確認される。
【0063】
従って、マルチビットセル100は、マルチビット入力150とマルチビットウェートとを直接乗算演算せず、個別的なキャパシタンスウェートを保存する複数のキャパシタ130を介し、マルチビット入力150を受信し、マルチビットウェートを電圧ウェートに変換することにより、マルチビット演算を行うことができる。
【0064】
図6は、少なくとも一実施形態によるメモリ(例:メモリ110(
図4))の回路図である。
【0065】
図6を参照すれば、メモリ110は、複数の抵抗素子111を含むものでもある。
【0066】
メモリ110は、マルチビットウェートのビット数に対応する個数の抵抗素子111を含むものでもある。例えば、マルチビットウェートがNビットである場合、メモリ110は、2
N-1個の抵抗素子111を含むものでもある。
図6の実施形態において、マルチビットウェートは、3ビットであり、メモリ110は、2
3-1である7個の抵抗素子111を含むものでもある。
【0067】
抵抗素子111は、互いに直列にも連結される。抵抗素子111aは、2個の抵抗値を保存することができるので、メモリ110は、直列に連結された2N-1個の抵抗素子111を利用し、2N個の抵抗値を有するようにも構成される。マルチビットセル100は、抵抗素子111それぞれをオン/オフ制御することにより、ウェート抵抗を調節することができる。マルチビットセル100は、WR_SEL信号を介し、各抵抗素子のオン/オフを決定し、Sub Bit-line[7:0]信号ラインを介し、各抵抗素子に、電流または電圧を印加することができる。
【0068】
例えば、マルチビットウェートとウェート抵抗との対応が、表1の例示であるような場合、1つの抵抗素子が7kΩを保存し、残り抵抗素子が1kΩを保存するか、あるいはそれぞれの抵抗素子が1kΩまたは2kΩを保存することができる。マルチビットセル100は、直列に連結された抵抗素子111をオン/オフ制御することにより、メモリ110に、7kΩ、8kΩ、…、13kΩ、14kΩのうち1つのウェート抵抗を保存させることができる。従って、メモリ110から、1kΩ単位で、7kΩから14kΩまでのウェート抵抗が表現されうる。
【0069】
抵抗素子111aは、MTJ(magnetic tunnel junction)またはMRAMに該当しうる。ただし、それは、例示に過ぎず、抵抗を保存し、トランジスタによる制御を受ける素子であるならば、制限なしに抵抗素子に該当しうる。
【0070】
図7は、マルチプレクサ(例:マルチプレクサ130)のいずれからも、第1固定電圧が出力される少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の回路図である。
【0071】
図7を参照すれば、マルチビットセル100において、ウェート電圧が使用されない場合、電流源120が非活性化され(disabled)、第1固定電圧だけがマルチプレクサ130に印加されうる。
【0072】
例えば、マルチビット入力150が0である場合、マルチビットセル100において、ウェート電圧が使用されず、第1固定電圧だけがマルチプレクサ130に印加されうる。マルチビット入力150が0である場合は、マルチビット入力150を構成する個々の入力151がいずれも0である場合を意味する。マルチビット入力150が3ビットである場合、0であるマルチビット入力150は、3’b000のようにも表現される。マルチプレクサ130には、いずれも0の入力が受信されうる。マルチプレクサ130は、0の入力に応答し、第1固定電圧を出力することができる。ウェート電圧がキャパシタ130に伝達されないので、ウェート電圧を生成するための電流源120が動作する必要がない。従って、マルチビットセル100は、電流源120をオフ制御することにより、マルチビットセル100の電力消耗を低減させることができる。例えば、マルチビットセル100は、電流源120を制御するイネーブル(enable)信号であるI_EN信号を利用し、電流源120から印加される電流を0μAに制御することができる。
【0073】
ただし、マルチビットセル100の構造及び設定により、マルチビット入力150が0である場合以外にも、多様な場合、マルチプレクサ130のいずれも第1固定電圧を出力することができる。マルチプレクサ130のいずれからも第1固定電圧が出力される場合、マルチビットセル100において、ウェート電圧が使用されないので、電流源120がオフ制御され、マルチビットセル100の電力消耗が低減されうる。
【0074】
図8は、キャパシタ(例:キャパシタ130)が、いずれも同一ウェートキャパシタンスを保存する少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の回路図である。
【0075】
図8を参照すれば、キャパシタ130は、いずれも単位キャパシタンスのウェートキャパシタンスを保存することができる。
【0076】
マルチビットセル100は、マルチビット入力150のビット数に対応する個数のキャパシタ130を含むものでもある。例えば、マルチビットセル100は、Nビットのマルチビット入力150につき、2N-1個のキャパシタ130を含むものでもある。ここで、キャパシタ130に保存されるウェートキャパシタンスは、いずれも単位キャパシタンスでもある。2N-1個のキャパシタ130には、0ないし2N-1の値を有するマルチビット入力150が受信されうる。
【0077】
図8の実施形態のような構造において、マルチビットセル100は、多様なフォーマットの入力を受信することができる。例えば、マルチビットセル100は、温度計コード(thermometer code)入力、2進数入力及び3進数入力のような多様なフォーマットの入力を受信することができる。
【0078】
図9は、マルチビットセルに複数のメモリが含まれる少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の回路図である。
【0079】
図9を参照すれば、メモリ110は、異なるウェート抵抗を保存する第1メモリ110a及び第2メモリ110bを含み、マルチビットセル100は、符号(sign)入力152を受信する符号マルチプレクサ132をさらに含むことにもなる。
【0080】
第1メモリ110a及び第2メモリ110bのウェート抵抗は、同一絶対値の異なる符号を有するか、あるいは同一符号の異なる値を有するというように、多様にも設定される。符号マルチプレクサ132は、第1メモリ110a及び第2メモリ110bとも連結される。マルチビットセル100は、符号マルチプレクサ132を介し、マルチビット入力150以外に、符号入力152も受信することができる。符号マルチプレクサ132は、符号入力152に基づき、第1メモリ110a及び第2メモリ110bのうち、電流源120からの電流が印加される1つのメモリ110を決定することができる。符号マルチプレクサ132は、決定されたメモリ110に電流が印加されるように、決定されたメモリ110及び電流源120からのラインを連結することができる。マルチビットセル100は、符号入力152に基づき、決定されたメモリ110に保存されたウェート抵抗から、ウェート電圧を生成することができる。
【0081】
マルチビットセル100は、異なるウェート抵抗を保存する複数のメモリ110を含むことにより、さらに多様な入力を受信し、多様なウェートに係わる演算を行うことができる。第1メモリ110aの抵抗ウェートが正数であり、第2メモリ110bの抵抗ウェートが負数である場合、マルチビットセル100は、符号付き整数(signed integer)入力を受信し、それに係わる演算を行うことができる。
【0082】
図10は、マルチビットセルに複数のメモリが含まれる少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の回路図である。
【0083】
図10を参照すれば、メモリ110は、異なるウェート抵抗を保存する第1メモリ110a及び第2メモリ110bを含み、電流源120は、第1メモリ110aに電流を印加する第1電流源120a、及び第2メモリ110bに電流を印加する第2電流源120bを含むものでもある。マルチビットセル100は、符号入力を含むマルチビット入力150を受信することができる。
【0084】
第1メモリ110aは、第1ウェート抵抗を保存し、第2メモリ110bは、第2ウェート抵抗を保存することができる。第1ウェート抵抗及び第2ウェート抵抗は、同一絶対値の異なる符号を有するか、あるいは同一符号の異なる値を有するというように、多様にも設定される。
【0085】
第1電流源120a及び第2電流源120bは、同一サイズの電流を印加することができる。第1電流源120aは、第1ウェート電圧が生成されるように、第1メモリ110aに電流を印加し、第2電流源120bは、第2ウェート電圧が生成されるように、第2メモリ110bに電流を印加することができる。
【0086】
マルチプレクサ130は、符号入力が含まれたマルチビット入力150に基づき、それぞれが、第1ウェート電圧、第2ウェート電圧及び第1固定電圧のうち1つの信号を出力することができる。例えば、マルチプレクサ131は、入力の絶対値が0である場合、第1固定電圧を出力し、1である場合、符号入力に基づき、第1ウェート電圧及び第2ウェート電圧のうち1つの信号を決定することができる。
【0087】
マルチビットセル100は、異なるウェート抵抗を保存する複数のメモリ110を含むことにより、さらに多様な入力を受信し、多様なウェートに係わる演算を行うことができる。第1メモリ110aの抵抗ウェートが正数であり、第2メモリ110bの抵抗ウェートが負数である場合、マルチビットセル100は、符号付き整数(signed integer)入力を受信し、それに係わる演算を行うことができる。
【0088】
図11は、少なくとも一実施形態によるマルチビットセル(例:マルチビットセル100)の動作方法を示すフローチャートである。
【0089】
図11を参照すれば、マルチビットセルの動作方法は、
図4に図示されたマルチビットセルにおいて、時系列的に処理される段階によって構成される。従って、以下で省略された内容であるとしても、
図4ないし
図10を参照し、マルチビットセルについて述べられた内容は、
図4の方法にも適用されるということが分かる。
【0090】
段階1110において、マルチビットセルは、マルチビットウェートに対応するウェート抵抗を保存するメモリに電流を印加することにより、ウェート抵抗からウェート電圧を生成することができる。
【0091】
メモリは、マルチビットウェートのビット数に対応する個数の互いに直列に連結された抵抗素子を含むものでもある。マルチビットセルは、抵抗素子それぞれをオン/オフ制御することにより、ウェート抵抗を調節することができる。
【0092】
ウェート抵抗は、マルチビットウェートが増大するほど線形的に増大するようにも設定される。
【0093】
段階1120において、マルチビットセルは、それぞれが別個のウェートキャパシタンスを保存する複数のキャパシタに係わるマルチビット入力を受信することができる。
【0094】
マルチビット入力を構成する各桁の値が、桁に対応するキャパシタと連結されたマルチプレクサにも入力される。
【0095】
段階1130において、マルチビットセルは、マルチビット入力に基づき、複数のキャパシタそれぞれに、ウェート電圧及び基準電圧のうち1つの信号を伝達することができる。
【0096】
複数のマルチプレクサは、それぞれ1または0の入力を受信し、複数のマルチプレクサのうち、1を受信するマルチプレクサにおいては、ウェート電圧を出力し、0を受信するマルチプレクサにおいては、第1固定電圧を出力することができる。
【0097】
マルチビット入力が0である場合、複数のマルチプレクサは、いずれも第1固定電圧を出力し、マルチビットセルは、電流源をオフ制御することにより、電力消耗を低減させることができる。
【0098】
出力された信号が伝達されるキャパシタの一端の反対端に伝達される第2固定電圧の大きさは、第1固定電圧の大きさと同一であり、第2固定電圧の大きさは、ウェート電圧との差等値が、マルチビットウェートに比例するようにも設定される。
【0099】
マルチビットセルは、マルチビット入力のビット数に対応する個数のキャパシタを含み、キャパシタは、それぞれマルチビット入力の各桁数に対応する値のウェートキャパシタンスを保存することができる。
【0100】
段階1140において、マルチビットセルは、伝達された信号とウェートキャパシタンスとに係わる演算を行うことにより、複数のキャパシタそれぞれに保存される電荷データを生成することができる。
【0101】
複数のキャパシタのうち、第1固定電圧を伝達されるキャパシタは、両端の電位が同一であるので、0Vの電圧を印加され、0Cの電荷データを生成することができる。
【0102】
複数のキャパシタは、一端で出力された信号を伝達され、一端の反対端で第2固定電圧を伝達され、出力された信号につき、第2固定電圧を差等演算し、差等値とウェートキャパシタンスとを乗算演算することにより、電荷データを生成することができる。
【0103】
マルチビットセルは、複数のキャパシタそれぞれによって生成された電荷データを合算することによって生成される第1合算データを出力することができる。
【0104】
一実施形態において、メモリは、異なるウェート抵抗を保存する第1メモリ及び第2メモリを含むものでもある。マルチビットセルは、符号入力に基づき、第1メモリ及び第2メモリのうち、電流が印加される1つのメモリを決定する符号マルチプレクサをさらに含むことにもなる。マルチビットセルは、決定されたメモリに保存されたウェート抵抗から、ウェート電圧を生成することができる。
【0105】
他の実施形態において、メモリは、第1ウェート抵抗を保存する第1メモリ、及び第2ウェート抵抗を保存する及び第2メモリを含むものでもある。電流源は、同一サイズの電流を印加する第1電流源及び第2電流源を含むものでもある。該第1電流源は、第1ウェート電圧が生成されるように、第1メモリに電流を印加し、該第2電流源は、第2ウェート電圧が生成されるように、第2メモリに電流を印加することができる。複数のマルチプレクサは、符号入力が含まれたマルチビット入力に基づき、それぞれが第1ウェート電圧、第2ウェート電圧及び第1固定電圧のうち1つの信号を出力することができる。
【0106】
図12は、少なくとも一実施形態によるマルチビット演算装置(例:マルチビット演算装置1200)の構成を図示したブロック図である。
【0107】
図12を参照すれば、マルチビット演算装置1200は、複数のマルチビットセル200及びコンバータ300を含むものでもある。コンバータ300は、比較器310、複数の基準電圧セル320、及びSAR(successive approximation register)ロジック330を含むものでもある。
図12に図示されたマルチビット演算装置1200には、本実施形態と係わる構成要素だけが図示されている。従って、マルチビット演算装置1200には、
図12に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということは、当業者に自明である。
図12のマルチビットセル100は、
図4のマルチビットセル100に対応しうる。
【0108】
マルチビット演算装置1200は、複数のマルチビットセル200を含むものでもある。マルチビット演算装置1200は、マルチビットセル200それぞれから出力された第1合算データをいずれも合算することにより、第2合算データを生成することができる。マルチビット演算装置1200は、第2合算データを出力し、コンバータ300に入力することができる。コンバータ300は、アナログデータである第2合算データをデジタルデータに変換することができる。
【0109】
図13は、少なくとも一実施形態によるマルチビット演算装置(例:マルチビット演算装置1200)の回路図である。
【0110】
図13を参照すれば、複数のマルチビットセル200が互いに並列に連結され、マルチビットセル200の個数に対応する個数の基準電圧セル320も、互いに並列にも連結される。
【0111】
マルチビット演算装置1200は、アナログデータである第2合算データをデジタルデータに変換することができる。マルチビット演算装置1200は、第2合算データをデジタルデータに変換するために、比較器310に入力することができる。比較器310は、第2合算データの最小値から最大値までの範囲が、所定個数に分けられたデータを保存し、それに基づき、第2合算データを分類することができる。比較器310は、所定の個数に分けられた範囲のうち、第2合算データの値が属する特定範囲を示すデータを出力することができる。
【0112】
SARロジック330は、基準電圧セル320から伝達された基準電圧データに基づき、比較器310から伝達されたデータをデジタルデータに変換することができる。SARロジック330は、比較器310から伝達されたデータと、基準電圧データの大きさとを比較することにより、デジタル変換を行うことができる。例えば、SARロジック330は、比較器310から伝達されたデータが基準電圧データより大きければ、ビット値を維持し、小さければ、ビット値を消す方式を反復することにより、デジタル変換を行うことができる。
【0113】
一方、
図13に図示されたマルチビット演算装置の回路図は、例示に過ぎず、複数のマルチビットセル200と、複数の基準電圧セル320は、互いに分離されうる。例えば、複数のマルチビットセル200と、複数の基準電圧セル320は、それぞれ別個の電圧源または電流源から信号を印加されうる。
【0114】
図14は、少なくとも一実施形態によるマルチビット演算時間とデジタル変換時間との関係を示したグラフである。
【0115】
図14に図示されているように、マルチビット演算を介し、電荷データ、第1合算データ及び第2合算データが生成されるマルチビット演算時間と第2合算データとをデジタルデータに変換するデジタル変換時間は、分離されうる。該マルチビット演算装置は、マルチビット演算とデジタル変換とを異なる時間において行うことにより、演算効率及び電力効率を上昇させることができる。
【0116】
マルチビット演算時間においては、マルチビットセルにおいて、マルチビット演算が行われるように、マルチビットセルにサンプル電圧が印加され、マルチビット入力が受信されうる。マルチビットセルそれぞれから第1合算データが出力されれば、マルチビット演算装置は、第1合算データを合算することにより、第2合算データを生成することができる。
【0117】
デジタル変換時間においては、マルチビットセルに印加されるサンプル電圧がオフになり、SARロジックを含むコンバータが動作しうる。コンバータは、アナログデータである第2合算データをデジタルデータに変換することができる。
【0118】
図15は、少なくとも一実施形態によるマルチビット演算装置(例:マルチビット演算装置1200)の動作方法を示すフローチャートである。
【0119】
図15を参照すれば、マルチビット演算装置の動作方法は、
図12に図示されたマルチビット演算装置において、時系列的に処理される段階によって構成される。従って、以下で省略された内容であるとしても、
図12ないし
図14を参照し、マルチビット演算装置について述べられた内容は、
図15の方法にも適用されるということが分かる。
【0120】
段階1510において、複数のマルチビットセルそれぞれは、第1合算データを出力することができる。
【0121】
段階1520において、マルチビット演算装置は、複数のマルチビットセルそれぞれから出力された前記第1合算データを合算することによって生成される第2合算データを出力することができる。
【0122】
段階1530において、マルチビット演算装置は、アナログデータである前記第2合算データをデジタルデータに変換することができる。
【0123】
マルチビット演算装置は、アナログデータである第2合算データをデジタルデータに変換するコンバータを含むものでもある。該コンバータは、比較器、複数の基準電圧セル及びSARロジックを含むものでもある。
【0124】
図16は、少なくとも一実施形態によるマルチビット演算装置アレイ(例:マルチビット演算装置アレイ1600)の構成を図示したブロック図である。
【0125】
図16を参照すれば、マルチビット演算装置アレイ1600は、複数のマルチビット演算装置1100a~1100nを含むものでもある。各マルチビット演算装置1100aは、コンバータ300aを含み、コンバータ300aは、デジタルデータ301aを出力することができる。
図14に図示されたマルチビット演算装置アレイ1600には、本実施形態と係わる構成要素だけが図示されている。従って、マルチビット演算装置アレイ1600には、
図16に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということは、当業者に自明である。
図16のマルチビット演算装置1100a及びコンバータ300aは、
図12のマルチビット演算装置1100及びコンバータ300に対応しうる。
【0126】
マルチビット演算装置1100a~1100nそれぞれは、マルチビットセルから出力された第2合算データを変換することにより、デジタルデータを生成して出力することができる。マルチビット演算装置アレイ1600は、マルチビット演算装置1100a~1100nそれぞれから出力されたデジタルデータ301a~301nを結合することにより、マルチビット演算装置アレイ1600への入力に係わる最終演算結果を出力することができる。マルチビット演算装置アレイ1600は、例えば、入力レイヤ及び出力レイヤを含む多数のレイヤによって構成される
図2のニューラルネットワーク20に対応しうる。
【0127】
図17は、少なくとも一実施形態による電子システム(例:電子システム1700)を示すブロック図である。
【0128】
図17を参照すれば、電子システム1700は、マルチビット演算装置1730を基に、入力データを分析して有効な情報を抽出し、抽出された情報を基に、状況判断を行うか、あるいは電子システム1700が搭載される電子デバイスの構成を制御することができる。例えば、電子システム1700は、ドローン(drone)・先進運転支援システム(ADAS:advanced driver assistance system)のようなロボット装置、スマートTV(television)、スマートフォン、医療デバイス、モバイルデバイス、映像表示デバイス、計測デバイス、IoT(internet of things)デバイスなどにも適用され、それ以外にも、多様な種類の電子デバイスに搭載されうる。
【0129】
電子システム1700は、マルチビット演算装置1730に加え、CPU(central processing unit)1710、RAM(random access memory)1720、外部メモリ1740、センサモジュール1750及び通信モジュール(Tx/Rx module)1760を含むものでもある。さらには、電子システム1700は、入出力モジュール、保安モジュール、電力制御装置などをさらに含んでもよい。電子システム1700のハードウェア構成のうち一部は、半導体チップにも搭載される。マルチビット演算装置1730は、先に図面で説明されたマルチビット演算装置が、オンチップ(on-chip)タイプに具現されたものであるか、あるいは先に図面で説明されたマルチビット演算装置を一部として含む装置でもある。
【0130】
CPU 1710は、電子システム1700の全般的な動作を制御する。CPU 1710は、1つのプロセッサコア(single core)を含むか、あるいは複数のプロセッサコア(multi-core)を含むものでもある。CPU 1710は、外部メモリ1740に保存されたプログラム及び/またはデータを処理または実行することができる。CPU 1710は、外部メモリ1740に保存されたプログラムを実行することにより、マルチビット演算装置1730の機能を制御することができる。CPU 1710の機能は、GPU(graphics processing unit)、AP(application processor)などとしても具現される。
【0131】
RAM 1720は、プログラム、データまたは命令(instruction)を一時的に保存することができる。例えば、外部メモリ1740に保存されたプログラム及び/またはデータは、CPU 1710の制御コードまたは起動コードにより、RAM 1720に一時的に保存されうる。RAM 1720は、DRAM(dynamic random access memory)またはSRAM(static random access memory)のようなメモリデバイスにも具現される。
【0132】
マルチビット演算装置1730は、受信される入力データを基に、マルチビット演算を行い、遂行結果を基に、情報信号を生成することができる。マルチビット演算装置1730は、ニューロモーフィック装置またはニューラルネットワーク装置で使用されうる。ニューラルネットワークは、CNN(convolutional neural network)、RNN(recurrent neural network)、Deep Belief Networks、Restricted Boltzman Machinesなどを含んでもよいが、それに制限されるものではない。マルチビット演算装置1730は、ニューラルネットワーク専用ハードウェアアクセラレータ(hardware accelerator)に該当しうる。なお、マルチビット演算装置1730は、ニューロモーフィックまたはニューラルネットワーク以外にも、マルチビット入力及びマルチビットウェートに係わる演算を行う多様なシステムにも適用される。
【0133】
情報信号は、音声認識信号、事物認識信号、映像認識信号、生体情報認識信号のような多様な種類の認識信号を含むものでもある。例えば、マルチビット演算装置1730は、ビデオストリームに含まれるフレームデータを入力データとして受信し、フレームデータが示すイメージに含まれた事物に係わる認識信号を生成することができる。電子システム1700が搭載された電子装置の種類または機能により、マルチビット演算装置1730は、多様な種類の入力データを受信することができ、入力データによる認識信号を生成することができる。
【0134】
外部メモリ1740は、データを保存するための保存場所であり、OS(operating system)、各種プログラム及び各種データを保存することができる。外部メモリ1740は、揮発性メモリまたは不揮発性メモリを含むものでもある。該不揮発性メモリは、ROM(read-only memory)、PROM(programmable read only memory)、EPROM(erasable programmable read only memory)、EEPROM(electrically erasable programmable read-only memory)、フラッシュメモリ、PRAM(phase change random access memory)、MRAM(magnetic random access memory)、RRAM(resistive random access memory)、FeRAM(ferroelectric random access memory)などを含む。該揮発性メモリは、DRAM(dynamic random access memory)、SRAM(static random access memory)、SDRAM(synchronous dynamic random access memory)などを含む。外部メモリ1740は、例えば、HDD(hard disk drive)、SSD(solid static drive)、CF(compact flash)、SD(secure digital)、Micro-SD(micro secure digital)、Mini-SD(mini secure digital)、xD(extreme digital)またはメモリスティック(memory stick)を含むものでもある。
【0135】
センサモジュール1750は、電子システム1700が搭載される電子装置周辺の情報を収集することができる。センサモジュール1750は、電子装置の外部から、信号(例えば、映像信号、音声信号、磁気信号、生体信号、タッチ信号など)をセンシングまたは受信し、センシングまたは受信された信号をデータに変換することができる。そのために、センサモジュール1750は、センシング装置、例えば、マイク、撮像装置、イメージセンサ、LiDAR(light detection and ranging)センサ、超音波センサ、赤外線センサ、バイオセンサまたはタッチセンサのような多様な種類のセンシング装置でもある。
【0136】
センサモジュール1750は、変換されたデータをマルチビット演算装置1730に、入力データとして提供することができる。例えば、センサモジュール1750は、イメージセンサを含み、電子装置の外部環境を撮影し、ビデオストリームを生成し、ビデオストリームの連続するデータフレームを、マルチビット演算装置1730に入力データとして順に提供することができる。しかしながら、それに制限されるものではなく、センサモジュール1750は、多様な種類のデータを、マルチビット演算装置1730に提供することができる。
【0137】
通信モジュール1760は、外部装置と通信することができる多様な有線または無線のインターフェースを具備することができる。例えば、通信モジュール1760は、有線近距離通信網(LAN:local area network)、Wi-Fi(wireless fidelity)のような無線近距離通信網(WLAN:wireless local area network)、ブルートゥース(Bluetooth)のような無線個人通信網(WPAN:wireles spersonal area network)、無線USB(universal serial bus)、Zigbee、NFC(near field communication)、RFID(radio frequency identification)、PLC(power line communication)、または3G(3rd generation)・4G(4th generation)・LTE(long term evolution)・5G(5th generation)のような移動通信網(mobile cellular network)に接続可能な通信インターフェースなどを含むものでもある。
【0138】
電子システム1700は、プロセッサ、プログラムデータを保存して実行するメモリデバイス、ディスクドライブのような永久保存部(permanent storage)、外部装置と通信する通信ポートだけではなく、タッチパネル・キー(key)・ボタンのようなユーザインターフェース装置などをさらに含んでもよい。ソフトウェアモジュールまたはアルゴリズムによって具現される方法は、プロセッサ上で実行可能なコンピュータで読み取り可能なコードまたはプログラム命令でもって、コンピュータで読み取り可能な記録媒体上にも保存される。
【0139】
なお、前述の
図11及び
図15の動作方法は、その方法を実行する命令語を含む1以上のプログラムが記録されたコンピュータで読み取り可能な記録媒体にも記録される。コンピュータで読み取り可能な可能記録媒体の例には、ハードディスク、フロッピィーディスク及び磁気テープのような磁気媒体(magnetic media);CD-ROM(compact disc read-only memory)、DVD(digital versatile disc)のような光記録媒体(optical media);フロプティカルディスク(floptical disk)のような磁気・光媒体(magneto-optical media);及びROM、RAM、フラッシュメモリのようなプログラム命令を保存して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作われるような機械語コードだけではなく、インタープリタなどを使用し、コンピュータによって実行されうる高級言語コードを含む。
【0140】
以上において、本実施形態について詳細に説明したが、本発明の権利範囲は、それらに限定されるものではなく、特許請求の範囲で定義している本発明の基本概念を利用した当業者のさまざまな変形及び改良形態も、本発明の権利範囲に属するのである。
【符号の説明】
【0141】
100 マルチビットセル
110 メモリ
120 電流源
130 複数のマルチプレクサ
131 マルチプレクサ
140 複数のキャパシタ
141 キャパシタ