(57)【要約】 【課題】積和演算を高速かつ低消費電力で行う。【解決手段】情報処理装置は、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するデジタル−パルス変換器と、前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持する選択的発振器と、を備える。【選択図】図１
2018197930.tif 000002
【特許請求の範囲】
【請求項１】
デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するデジタル−パルス変換器と、
前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持する選択的発振器と、を備える、情報処理装置。
【請求項２】
前記デジタル−パルス変換器は、Ｎ（Ｎは２以上の整数）個のデジタル入力信号に応じたＮ個の前記パルス信号を順に出力し、
前記選択的発振器は、前記Ｎ個のパルス信号が順に入力されるたびに、入力されたパルス信号のパルス長だけ発振動作を行った後に前記発振動作状態を保持し、その後新たにパルス信号が入力されると、保持していた前記発振動作状態から発振動作を再開する動作を繰り返す、請求項１に記載の情報処理装置。
【請求項３】
前記発振動作状態を含むデジタル出力信号を出力する読出部を備える、請求項１または２に記載の情報処理装置。
【請求項４】
前記選択的発振器および前記読出部を一組として、前記デジタル入力信号の重み信号ごとに異なる組とした複数の組が設けられ、
前記デジタル−パルス変換器は、前記デジタル入力信号を前記重み信号に応じた前記組の前記選択的発振器に入力する、請求項３に記載の情報処理装置。
【請求項５】
前記複数の組における複数の前記読出部から出力された複数の前記デジタル出力信号を、対応する前記重み信号に応じて重み付けする複数の重み付け部と、
前記複数の重み付け部の出力信号同士を合成する合成部と、を備える、請求項４に記載の情報処理装置。
【請求項６】
前記選択的発振器は、
リング状に接続された複数の遅延素子を有し、初期パルス信号を前記複数の遅延素子にて順繰りに伝送するリング発振器と、
前記複数の遅延素子に遅延動作を行わせるか否かを切り替える複数の切替器と、を有し、
前記読出部は、前記リング発振器による発振回数と、前記パルスの出力が停止した時点で前記初期パルス信号を保持している遅延素子により特定される位相状態とを、前記発振動作状態として保持する、請求項３乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記デジタル−パルス変換器は、前記デジタル入力信号と前記デジタル入力信号の重み信号とに応じたパルス長のパルスを含む前記パルス信号を出力する、請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記デジタル入力信号を前記デジタル入力信号の重み信号で重み付けしたデジタル入力信号を生成して前記デジタル−パルス変換器に入力する重み付け部を備える、請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項９】
前記リング発振器内の前記複数の遅延素子は、前記デジタル入力信号の重み信号に応じた遅延時間を持っている、請求項６に記載の情報処理装置。
【請求項１０】
前記デジタル入力信号と前記デジタル入力信号の重み信号とに基づいて、正の演算処理を行うか、または負の演算処理を行うかを判定する符号判定器と、
前記符号判定器により前記正の演算処理を行うと判定されたときに、前記デジタル入力信号と前記重み信号とに基づいて前記正の演算処理を行う第１演算回路と、
前記符号判定器により前記負の演算処理を行うと判定されたときに、前記デジタル入力信号と前記重み信号とに基づいて前記負の演算処理を行う第２演算回路と、
前記第１演算回路の出力信号から前記第２演算回路の出力信号を減じる減算器と、を備え、
前記第１演算回路および前記第２演算回路のそれぞれは、前記選択的発振器を有する、請求項１乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の情報処理装置を有する演算回路を同一の半導体基板上に複数個配置した積和演算コアを備える、半導体装置。
【請求項１２】
デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するステップと、
前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持するステップと、を備える、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、半導体回路および情報処理方法に関する。
【背景技術】
【０００２】
最近、人工知能（ＡＩ：Artificial Intelligence）が注目されているが、数多くのデータを用いた学習と、学習結果を用いた演算処理とを行う必要があり、演算処理量が膨大になる。そこで、ＡＩの処理の少なくとも一部をハードウェアで実現する研究が進められている。ＡＩの演算処理では、積和演算を多数回行う。このため、積和演算を高速かつ低消費電力で行うハードウェアが求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許９３６１５７７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、積和演算を高速かつ低消費電力で行うことができる情報処理装置、半導体回路および情報処理方法を提供する。
【課題を解決するための手段】
【０００５】
本実施形態では、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するデジタル−パルス変換器と、
前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持する選択的発振器と、を備える情報処理装置が提供される。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態による情報処理装置の概略構成を示すブロック図。
【図２】デジタル−パルス変換器の内部構成の一例を示すブロック図。
【図３】図２のデジタル−パルス変換器の動作タイミング図。
【図４】選択的発振器の一具体例を示す図。
【図５】図４の情報処理装置にＮ＝２個のデジタル入力信号を順に入力した場合のタイミング図。
【図６】本実施形態による情報処理装置の処理アルゴリズムを示すフローチャート。
【図７】第２の実施形態による情報処理装置の概略構成を示すブロック図。
【図８】第２の実施形態による可変遅延器の内部構成の一例を示すブロック図。
【図９】第３の実施形態による情報処理装置の概略構成を示すブロック図。
【図１０】図９のリング発振器を構成する各遅延素子の内部構成の一例を示すブロック図。
【図１１】第４の実施形態による情報処理装置の概略構成を示すブロック図。
【図１２】第５の実施形態による情報処理装置の概略構成を示すブロック図。
【図１３】第６の実施形態による情報処理装置の概略構成を示すブロック図。
【図１４】第１〜第７の実施形態で説明した情報処理装置を複数個有する並列的に動作可能な積和演算コアの内部構成の一例を示すブロック図。
【図１５】図１４に示した積和演算コアを備えた信号処理装置の概略構成の一例を示すブロック図。
【図１６】脳型のニューラルネットワークシステムの一例を示すブロック図。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施の形態について説明する。なお、本件明細書と添付図面においては、理解のしやすさと図示の便宜上、一部の構成部分を省略、変更または簡易化して説明および図示しているが、同様の機能を期待し得る程度の技術内容も、本実施の形態に含めて解釈することとする。
【０００８】
（第１の実施形態）
図１は第１の実施形態による情報処理装置１の概略構成を示すブロック図である。図１の情報処理装置１は、Ｎ（Ｎは２以上の整数）個のデジタル入力信号ＤＩＮ［１：Ｎ］の積分結果を計算する演算回路である。図１の情報処理装置１の出力であるデジタル出力信号Ｏｕｔは、以下の（１）式で表される。
【０００９】
【数１】
2018197930.tif 000003
【００１０】
図１の情報処理装置１は、デジタル−パルス変換器２と、選択的発振器３と、読出部４とを備えている。
【００１１】
デジタル−パルス変換器２は、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力する。例えば、デジタル入力信号が１の場合、１ｎｓのパルス長のパルスを含むパルス信号を出力し、デジタル入力信号が４の場合、４ｎｓのパルス長のパルスを含むパルス信号を出力する。
【００１２】
図２はデジタル−パルス変換器２の内部構成の一例を示すブロック図、図３は図２のデジタル−パルス変換器２の動作タイミング図である。図２のデジタル−パルス変換器２は、可変遅延器５と、インバータ６と、論理積回路７とを有する。可変遅延器５には、トリガ信号とデジタル入力信号とが入力されている。トリガ信号は、デジタル−パルス変換器２の動作開始タイミングに合わせて、ロウからハイに切り替わる信号である。可変遅延器５は、トリガ信号をデジタル入力信号に応じた遅延量だけ遅延させた遅延トリガ信号を出力する。インバータ６は、遅延トリガ信号を反転出力する。論理積回路７は、インバータ６の出力信号とトリガ信号との論理積信号を出力する。論理積回路７の出力信号が、デジタル入力信号に応じたパルス長のパルスを含むパルス信号である。
【００１３】
図３の時刻ｔ１でトリガ信号がロウからハイに変化すると、可変遅延器５は、トリガ信号を、デジタル入力信号に応じた時間Ｔだけ遅延させて、時刻ｔ２でロウからハイに変化する遅延トリガ信号を出力する。論理積回路７は、トリガ信号と遅延トリガ信号の反転信号との論理積であるパルス信号を出力する。パルス信号に含まれるパルスのパルス長は、可変遅延器５がトリガ信号を遅延させた時間Ｔにほぼ等しくなる。
【００１４】
選択的発振器３は、パルス信号がパルスを出力している最中に発振動作を行い、パルスの出力が停止した時点の発振動作状態を保持する。選択的発振器３は、例えばイネーブル信号がハイの間のみ発振動作を行い、イネーブル信号がロウの間は発振が停止し、イネーブル信号がハイからロウに切り替わった状態での発振動作状態を保存する。ここで、発振動作状態とは、例えば発振信号の発振回数と位相状態である。
【００１５】
読出部４は、発振動作状態を含むデジタル出力信号を出力する。すなわち、読出部４は、選択的発振器３の発振信号の発振回数と位相状態の情報を含むデジタル出力信号を出力する。読出部４は、図１の情報処理装置１における必須の構成部材ではなく、場合によっては省略してもよい。あるいは読出部４の代わりに、選択的発振器３から出力された発振動作状態を示す信号を用いて所定の演算処理を行う演算回路を選択的発振器３に接続してもよい。
【００１６】
図４は選択的発振器３の一具体例を示す図である。図４の選択的発振器３は、リング発振器８と複数の切替器９とを有する。
【００１７】
リング発振器８は、リング状に接続された複数の遅延素子８ａを有し、初期パルス信号を複数の遅延素子８ａにて順繰りに伝送する。リング発振器８内の遅延素子８ａの接続段数は奇数個である。各遅延素子８ａは、例えばインバータである。
【００１８】
複数の切替器９は、複数の遅延素子８ａに遅延動作を行わせるか否かを切り替える。各切替器９は、例えば、対応する遅延素子８ａに電源電圧を供給するか否かを切り替える。以下では、各切替器９が対応する遅延素子８ａに電源電圧を供給する場合をオン、各切替器９が対応する遅延素子８ａに電源電圧を供給しない場合をオフと呼ぶ。各遅延素子８ａは、対応する切替器９がオンの場合には、前段の遅延素子８ａの出力信号を遅延させて出力し、対応する切替器９がオフの場合には、信号の伝搬遅延動作を停止する。すべての切替器９は同期してオンまたはオフする。すなわち、一部の切替器９がオンになって他の切替器９がオフになることはない。
【００１９】
図５は図４の情報処理装置１にＮ＝２個のデジタル入力信号を順に入力した場合のタイミング図である。図５は、デジタル入力信号として、２と９が順に入力された例を示している。ここで、選択的発振器３は所望の状態に初期化されているとし、発振状態のデューティは無視し簡単のため位相状態をパルスに置き換えて説明する。リング発振器８は、最初のデジタル入力信号が入力される前にいったんリセットされ、初段の遅延素子８ａに所定のパルス長の初期パルス信号が入力される。最初のデジタル入力信号（＝２）がデジタル−パルス変換器２に入力されると（時刻ｔ１）、デジタル−パルス変換器２は、遅延素子８ａの遅延量の２個分のパルス長のパルスを含むパルス信号を出力する。このパルス長のパルスが出力されている最中は、すべての切替器９がオンして、すべての遅延素子８ａに電源電圧が供給される。初期状態では、初段の遅延素子８ａの入力端子に初期パルス信号が入力されるため、この初期パルス信号は、左から２つ目の遅延素子８ａの出力端子まで伝搬される。デジタル−パルス変換器２から出力されたパルス信号が時刻ｔ２でロウレベルに落ちると、すべての切替器９はオフし、左から２段目の遅延素子８ａは、その直前の信号レベルであるハイレベルを保持する。
【００２０】
その後、２個目のデジタル入力信号（＝９）が入力されると（時刻ｔ３）、デジタル−パルス変換器２は、遅延素子８ａの遅延量の９個分のパルス長のパルスを含むパルス信号を出力する。このパルス長のパルスが出力されている最中は、すべての切替器９がオンして、すべての遅延素子８ａに電源電圧が供給される。よって、左から２番目の遅延素子８ａが保持していた初期パルス信号は、９個の遅延素子８ａ分だけ順に伝搬される。２番目の遅延素子８ａから一番右の遅延素子８ａまでに６個の遅延素子８ａがあるため、一番右の遅延素子８ａから一番左の遅延素子８ａまで伝搬された初期パルス信号は、さらに左から３番目の遅延素子８ａまで伝搬された時点ｔ４で、すべての切替器９がオフになる。よって、初期パルス信号は左から３番目の遅延素子８ａが保持することになる。
【００２１】
このように、図１の情報処理装置１は、単一の選択的発振器３を用いることで、複数のデジタル入力信号の積分処理を行うことができる。
【００２２】
なお、図５に示した例のように、複数のデジタル入力信号の積分処理を行った結果、初期パルス信号がリング発振器８を一回り以上した場合には、初期パルス信号がリング発振器８を何回回ったかを示す発振回数を記憶しておく必要がある。そこで、図４の読出部４は、初期パルス信号がリング発振器８を一回りするたびにカウントアップするカウンタ１０を有する。読出部４は、カウンタ１０のカウント値によって発振回数を検出するとともに、リング発振器８内のどの遅延素子８ａが初期パルス信号を保持しているかを示す位相状態を検出する。そして、読出部４は、発振回数と位相状態を含むデジタル出力信号を生成して出力する。
【００２３】
このように、図４に示した情報処理装置１は、カウンタ１０がオーバーフローしない限り、複数のデジタル入力信号の積分処理を延々と実行することができる。これにより、多数のデジタル入力信号の積分処理を図４の情報処理装置１だけで実行でき、積分処理に要する回路規模を削減できる。
【００２４】
本実施形態による情報処理装置１は、ハードウェアにより構成することを想定しているが、例えばプロセッサが所定のアルゴリズムに沿って生成されたマイクロコードを読み込んで実行してもよい。図６は本実施形態による情報処理装置１の処理アルゴリズムを示すフローチャートである。
【００２５】
デジタル−パルス変換器２にデジタル入力信号が入力されると（ステップＳ１）、デジタル−パルス変換器２は、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を生成する（ステップＳ２）。選択的発振器３は、ステップＳ１とＳ２の処理に前後して、初期パルス信号を生成するとともに、選択的発振器３内のリング発振器８をリセットする（ステップＳ３）。
【００２６】
ステップＳ２で生成したパルス信号が選択的発振器３に入力されると、このパルス信号のパルス長の期間だけ複数の切替器９がオンし、リング発振器８は、パルス信号のパルス長だけ初期パルス信号を伝搬させる（ステップＳ４）。このとき、初期パルス信号がリング発振器８を一周した場合には、カウンタ１０をカウントアップさせる。
【００２７】
ステップＳ２で生成したパルス信号のパルス長の期間が経過すると、複数の切替器９はオフし、リング発振器８内で最後に初期パルス信号を出力した遅延素子８ａは、その状態を保持する（ステップＳ５）。
【００２８】
次に、新たなデジタル入力信号がデジタル−パルス変換器２に入力されたか否かを判定する（ステップＳ６）。新たなデジタル入力信号が入力されなかった場合は、読出部４は、初期パルス信号を保持している遅延素子８ａの種類を示す位相状態と、カウンタ１０のカウント値で表されるリング発振器８の発振回数とを含むデジタル出力信号を出力して、処理を終了する（ステップＳ７）。
【００２９】
ステップＳ６で新たなデジタル入力信号がデジタル−パルス変換器２に入力された場合には、ステップＳ２と同様に、新たなデジタル入力信号に応じたパルス長のパルスを含むパルス信号を生成する（ステップＳ８）。ステップＳ８で生成したパルス信号が選択的発振器３に入力されると、このパルス信号のパルス長の期間だけ複数の切替器９がオンし、リング発振器８は、直前に初期パルス信号を保持していた遅延素子８ａから、新たなパルス信号のパルス長だけ初期パルス信号を伝搬させる（ステップＳ９）。そして、ステップＳ８で生成したパルス信号のパルス長の期間が経過すると、ステップＳ５以降の処理を行う。
【００３０】
このように、第１の実施形態では、デジタル入力信号に応じたパルス長のパルスを含むパルス信号をデジタル−パルス変換器２にて生成し、このパルス信号が入力される選択的発振器３では、パルス信号がパルスを出力している最中に発振動作を行い、パルスの出力が停止した時点の発振動作状態を保持するため、簡易な回路構成にて複数のデジタル入力信号の積分および和演算を行うことができる。特に、第１の実施形態では、複数のデジタル入力信号を順にデジタル−パルス変換器２に入力することで、同一の選択的発振器３を用いて積分および和演算を行えるため、演算対象のデジタル入力信号の数が増えても、情報処理装置１の構成が複雑化することがないため、多数のデジタル入力信号の積分および和演算を簡易な回路構成の情報処理装置１にて行うことができる。
【００３１】
（第２の実施形態）
第２の実施形態は、積和演算を行えるようにしたものである。
【００３２】
図７は第２の実施形態による情報処理装置１の概略構成を示すブロック図である。図７の情報処理装置１は、デジタル−パルス変換器２の処理動作が図１の情報処理装置１とは異なっている。図７のデジタル−パルス変換器２には、デジタル入力信号に応じた重み信号が入力される。入力信号行列がＤＩＮ［１：Ｎ］、重み信号がＷ［１：Ｎ］で表される場合、図７の情報処理装置１の出力であるデジタル出力信号Ｏｕｔは、以下の（２）式で表される。
【００３３】
【数２】
2018197930.tif 000004
【００３４】
（２）式の演算を行う一手法として、図７の情報処理装置１では、デジタル−パルス変換器２にて、各デジタル入力信号の重み付けを行っている。
【００３５】
図７のデジタル−パルス変換器２は、図２と同様のブロック構成で表されるが、可変遅延器５の内部構成に特徴がある。
【００３６】
図８は第２の実施形態による可変遅延器５の内部構成の一例を示すブロック図である。図８の下側に示すように、可変遅延器５は、４つの第１遅延回路１１と、４入力の第１マルチプレクサ１２とを有する。４つの第１遅延回路１１は、可変遅延素子１３の接続段数がそれぞれ異なっており、可変遅延素子１３の接続段数に応じて遅延量がそれぞれ異なっている。第１マルチプレクサ１２は、デジタル入力信号に基づいて、４つの第１遅延回路１１の出力信号のうち一つを選択する。
【００３７】
各可変遅延素子１３は、図８の上側に示すように、４つの第２遅延回路１４と、４入力の第２マルチプレクサ１５とを有する。４つの第２遅延回路１４は、遅延素子１６の接続段数がそれぞれ異なっており、デジタル入力信号に対応する重み信号に基づいて、４つの第２遅延回路１４の出力信号のうち一つを選択する。
【００３８】
図８の可変遅延器５では、デジタル入力信号と重み信号がいずれも２ビットで表される例を示している。デジタル入力信号が２ビットで表される場合、４種類のデジタル入力信号が存在するため、図８の下側の第１マルチプレクサ１２により、４種類のうちいずれか一つの遅延量を選択する。また、重み信号が２ビットで表される場合、４種類の重み信号が存在するため、図８の上側の第２マルチプレクサ１５により、４種類のうちいずれか一つの遅延量を選択する。これにより、可変遅延器５は、デジタル入力信号に応じて遅延量を変化させるだけでなく、重み信号によっても遅延量を変化させる。
【００３９】
なお、デジタル入力信号と重み信号のビット数は必ずしも２ビットには限定されない。デジタル入力信号と重み信号のビット数に応じて図８の可変遅延器５の回路構成を変更すればよい。
【００４０】
図８のデジタル−パルス変換器２で変換されたパルス信号は、図７の選択的発振器３に入力される。選択的発振器３は、第１の実施形態と同様に、パルス信号のパルス長の期間だけ発振動作を行い、パルスの出力期間が経過した時点での発振動作状態を保持する。これにより、デジタル−パルス変換器２にて積算した演算結果を選択的発振器３にて積分および和演算することができる。
【００４１】
このように、第２の実施形態では、デジタル−パルス変換器２にて、デジタル入力信号に対応する重み信号によってデジタル入力信号を重み付けするため、積和演算を行うことができる。また、デジタル入力信号の重み付けは、複数の遅延回路とマルチプレクサによって行えるため、複雑な構成の乗算回路を設けなくて済む。
【００４２】
（第３の実施形態）
第２の実施形態では、デジタル−パルス変換器２にて、デジタル入力信号と重み信号との積算を行うため、重み信号が大きいほど、選択的発振器３に入力されるパルス信号のパルス長が長くなり、選択的発振器３の発振回数が増大して、演算処理に時間がかかってしまう。以下に説明する第３の実施形態は、この問題を解決するものである。
【００４３】
図９は第３の実施形態による情報処理装置１の概略構成を示すブロック図である。図９の情報処理装置１は、選択的発振器３の構成が図１や図７の情報処理装置１とは異なっている。図９の選択的発振器３には、デジタル−パルス変換器２から出力されたパルス信号の他に、重み信号が入力されている。図９の選択的発振器３は、重み信号によりリング発振器８の発振周波数を制御し、これにより、積和演算を行う。
【００４４】
図１０は図９の選択的発振器３内のリング発振器８を構成する各遅延素子８ａの内部構成の一例を示すブロック図である。図１０の遅延素子８ａは、４つの第３遅延回路８ｂと、４入力の第３マルチプレクサ８ｃとを有する。４つの第３遅延回路８ｂは、単位遅延素子８ｄの接続段数がそれぞれ異なっており、単位遅延素子８ｄの接続段数に応じて遅延量がそれぞれ異なっている。第３マルチプレクサ８ｃは、デジタル入力信号に応じた重み信号に基づいて、４つの第３遅延回路８ｂの出力信号のうち一つを選択する。
【００４５】
リング発振器８は、図２に示したように、複数の遅延素子８ａをリング状に接続したものであり、各遅延素子８ａは、図１０のように一つまたは複数の単位遅延素子８ｄで構成される。リング発振器８の発振周波数は、各単位遅延素子８ｄの遅延量をｔｉｎｖ、リング発振器８を構成する全遅延素子８ａ分の単位遅延素子８ｄの個数をＮとすると、以下の（３）式で表される。
【００４６】
【数３】
2018197930.tif 000005
【００４７】
（３）式からわかるように、リング発振器８内の全単位遅延素子８ｄの個数Ｎと各単位遅延素子８ｄの遅延量ｔｉｎｖにより、発振周波数が変化する。例えば、デジタル入力信号ＤＩＮが９の場合、Ｎ＝３のときの発振回数は３回であり、Ｎ＝５のときの発振回数は９／５＝１．８回になり、単位遅延素子８ｄの接続段数に応じた積算が行われる。例えば、重み信号が大きいほど、Ｎの値を小さくすることで、リング発振器８の発振周波数が高くなり、より迅速に積和演算を行うことができる。
【００４８】
このように、第３の実施形態では、重み信号に応じてリング発振器８の発振周波数を可変制御するため、重み信号が大きくなっても、選択的発振器３での積和演算に時間がかからなくなる。リング発振器８の発振周波数を変更する手法は上述した段数を変更する方法だけではなく、一般的なデジタル制御型リング発振器（ＤＣＯ：Digitally Controlled Oscillator）の手法も用いることができる。例えば発振周波数を変えるためには、各インバータ出力にデジタル信号で制御される可変容量負荷を加えることで、式（３）の遅延量ｔｉｎｖを変動させて発振周波数を制御することができる。また電流駆動形インバータを用いて駆動する電流を制御することで、遅延量ｔｉｎｖを変動させて発振周波数ｆｒｅｑを制御することもできる。
【００４９】
（第４の実施形態）
以下に説明する第４の実施形態は、読出部４の出力信号に対して積和演算を行うものである。
【００５０】
図１１は第４の実施形態による情報処理装置１の概略構成を示すブロック図である。図１１の情報処理装置１は、複数組の選択的発振器３および読出部４を備えている。各組の選択的発振器３および読出部４は、デジタル入力信号のそれぞれ異なる重み信号に対応するものである。図１１は、３種類の重み信号ｗ１〜ｗ３に対応づけて、３組の選択的発振器３および読出部４を設ける例を示している。なお、重み信号の種類は３種類とは限らない。例えば、ｎ種類の重み信号がある場合には、ｎ組の選択的発振器３および読出部４を設ければよい。
【００５１】
各組の選択的発振器３には、対応する重み信号のパルス信号が入力される。各組の選択的発振器３は、入力されたパルス信号のパルス長の期間だけ発振動作を行う。各組の読出部４は、対応する選択的発振器３の発振動作状態を含むデジタル出力信号を出力する。
【００５２】
各組の読出部４には、対応する乗算器（重み付け部）１７が接続されている。各組の乗算器１７は、対応するデジタル出力信号に、対応する重み信号を乗じる処理を行う。各乗算器１７の乗算結果は加算器（合成部）１８にて合算されて、最終的な積和演算結果が得られる。
【００５３】
このように、第４の実施形態では、積和演算処理を読出部４の後段側で行うため、選択的発振器３の演算処理時間が重み信号によって変動するおそれはない。また、第３の実施形態よりも選択的発振器３の内部構成を簡略化できる。
【００５４】
（第５の実施形態）
第５の実施形態は、デジタル−パルス変換器２に入力されるデジタル入力信号を重み付けするものである。
【００５５】
図１２は第５の実施形態による情報処理装置１の概略構成を示すブロック図である。図１２の情報処理装置１は、図１の構成に加えて、乗算器（重み付け部）１９を備えている。乗算器１９は、デジタル入力信号に重み信号を乗じる処理を行う。乗算器１９により重み付けされたデジタル入力信号がデジタル−パルス変換器２に入力される。デジタル−パルス変換器２、選択的発振器３および読出部４の処理動作は、図１の情報処理装置１と同じであるが、デジタル−パルス変換器２に入力されるデジタル入力信号自体がすでに重み付けされているため、図１２の情報処理装置１は、積和演算を行うことができる。
【００５６】
このように、デジタル−パルス変換器２の前段側でデジタル入力信号の重み付け処理を行うため、デジタル−パルス変換器２以降の構成を図１と同じにしても、積和演算を行うことができる。
【００５７】
上述した図７〜図１２の重み付け処理のうち、少なくとも二つ以上の重み付け処理を組み合わせて実施してもよい。例えば、図７のデジタル−パルス変換器２内の重み付け処理と、図９の選択的発振器３内の重み付け処理とを行ってもよい。これにより、より複雑な積和演算処理を行うことができる。
【００５８】
（第６の実施形態）
上述した第１〜第５の実施形態では、符号を持たないデジタル入力信号の積分処理を説明したが、デジタル入力信号が符号を持っている場合には、各符号ごとに積分処理を行った後に、その差分を演算すればよい。
【００５９】
図１３は第６の実施形態による情報処理装置１の概略構成を示すブロック図である。図１３の情報処理装置１は、符号判定器２１と、正演算回路（第１演算回路）２２と、負演算回路（第２演算回路）２３と、減算器２４とを備えている。符号判定器２１は、デジタル入力信号の符号を判定する。なお、重み信号が負の値を取る可能性がある場合には、デジタル入力信号と重み信号をともに符号判定器２１に入力して、デジタル入力信号と重み信号の両方を考慮に入れて、符号判定器２１にて符号の判定を行う。
【００６０】
正演算回路２２と負演算回路２３は、ともに同一の回路構成を備えており、例えば図７のデジタル−パルス変換器２、選択的発振回路および読出部４を有する。正演算回路２２は、符号判定器２１にてデジタル入力信号が正であると判定されたときに、そのデジタル入力信号を用いて積和演算処理を行う。負演算回路２３は、符号判定器２１にてデジタル入力信号が負であると判定されたときに、そのデジタル入力信号を用いて積和演算処理を行う。
【００６１】
このように、図１３の情報処理装置１では、正のデジタル入力信号については正演算回路２２にて積和演算処理を行い、負のデジタル入力信号については負演算回路２３にて積和演算処理を行う。
【００６２】
減算器２４は、正演算回路２２の出力信号から負演算回路２３の出力信号を減じた信号を出力する。減算器２４の出力により、符号を考慮に入れた積和演算結果が得られる。
【００６３】
このように、第６の実施形態では、正のデジタル入力信号についての積和演算と負のデジタル入力信号についての積和演算とを別個に行った後に、その差分を取ることで、符号を考慮に入れた積和演算を行うことができる。これにより、正演算回路２２と負演算回路２３の回路構成を共通化することができる。
【００６４】
（第７の実施形態）
デジタル入力信号と重み信号は、バイナリ値であるが、２のべき乗を単位として変化する値として表現してもよい。例えば、デジタル入力信号０００＝０、００１＝１、０１０＝２、０１１＝４、１００＝８などとしてもよい。２のべき乗で表される値は、対数ｌｏｇ２で表記すると、１ずつ増える値になり、取扱に便利であり、可変遅延器５の設計などを簡略化することができる。
【００６５】
一方、デジタル入力信号と重み信号を、同じ値ずつ変化する値としてもよい。これにより、各信号の値の間隔を一定にでき、より高精度の演算が可能となる。
【００６６】
（第８の実施形態）
上述した第１〜第７の実施形態で説明した情報処理装置１を複数個配置して、並列的に動作させることで、高い演算能力を持つ並列積和演算機能を持つ積和演算コアを構築することができる。
【００６７】
図１４は第１〜第７の実施形態で説明した情報処理装置１を複数個有する並列的に動作可能な積和演算コア２５の内部構成の一例を示すブロック図である。図１４の積和演算コア２５は、例えば半導体基板やプリント基板上に実装可能なものであり、入力部２６と演算処理部２７を備えている。演算処理部２７には、第１〜第７の実施形態で説明した情報処理装置１と同じ機能を有する演算回路２８が複数個配置されている。各演算回路２８は、必要に応じて並列的または逐次的に演算処理を行うことができる。
【００６８】
図１５は図１４に示した積和演算コア２５を備えた信号処理装置３１の概略構成の一例を示すブロック図である。図１５の信号処理装置３１は、図１４に示した積和演算コア２５と、ホストコントローラ３２と、メモリ３３とを備えている。メモリ３３は、不揮発メモリと揮発メモリの少なくとも一つを有する。また、メモリ３３は、キャッシュメモリとメインメモリなどのように階層的に分かれていてもよい。図１５の信号処理装置３１は、半導体基板上に形成してチップ化してもよいし、プリント基板上に実装してもよい。
【００６９】
図１４や図１５に示した積和演算コア２５を用いて、脳型のニューラルネットワークシステムを構成してもよい。図１６は脳型のニューラルネットワークシステム３５の一例を示すブロック図である。図１６のニューラルネットワークシステム３５は、階層的な構造になっており、第１隠れ層３６における複数の積和演算コア２５と、第２隠れ層３７における複数の積和演算コア２５とが種々の積和演算を行う。また、第１隠れ層３６における複数の積和演算コア２５の出力信号が、必要に応じて重み付けされた上で、第２隠れ層３７における複数の積和演算コア２５に入力される。
【００７０】
このように、第８の実施形態では、第１〜第７の実施形態で説明した情報処理装置１を複数設けることで、種々の用途における積和演算を行うことができる。
【００７１】
以上では、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７２】
１  情報処理装置、２  デジタル−パルス変換器、３  選択的発振器、４  読出部、５  可変遅延器、６  インバータ、７  論理積回路、８  リング発振器、８ａ  遅延素子、８ｂ  第３遅延回路、８ｃ  第３マルチプレクサ、８ｄ  単位遅延素子、９  切替器、１０  カウンタ、１１  第１遅延回路、１２  第１マルチプレクサ、１３  可変遅延素子、１４  第２遅延回路、１５  第２マルチプレクサ、１６  遅延素子、１７  乗算器、１８  加算器、１９  乗算器、２１  符号判定器、２２  正演算回路、２３  負演算回路、２４  減算器、２５積和演算コア、２６  入力部、２７  演算処理部、２８  演算回路、３１  信号処理装置、３２  ホストコントローラ、３３  メモリ
【図１】
2018197930.tif 000006
【図２】
2018197930.tif 000007
【図３】
2018197930.tif 000008
【図４】
2018197930.tif 000009
【図５】
2018197930.tif 000010
【図６】
2018197930.tif 000011
【図７】
2018197930.tif 000012
【図８】
2018197930.tif 000013
【図９】
2018197930.tif 000014
【図１０】
2018197930.tif 000015
【図１１】
2018197930.tif 000016
【図１２】
2018197930.tif 000017
【図１３】
2018197930.tif 000018
【図１４】
2018197930.tif 000019
【図１５】
2018197930.tif 000020
【図１６】
2018197930.tif 000021