JP2018197930A - 情報処理装置、半導体装置および情報処理方法 - Google Patents

情報処理装置、半導体装置および情報処理方法 Download PDF

Info

Publication number
JP2018197930A
JP2018197930A JP2017101952A JP2017101952A JP2018197930A JP 2018197930 A JP2018197930 A JP 2018197930A JP 2017101952 A JP2017101952 A JP 2017101952A JP 2017101952 A JP2017101952 A JP 2017101952A JP 2018197930 A JP2018197930 A JP 2018197930A
Authority
JP
Japan
Prior art keywords
pulse
signal
digital
digital input
information processing
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.)
Granted
Application number
JP2017101952A
Other languages
English (en)
Other versions
JP6782193B2 (ja
Inventor
健太郎 吉岡
Kentaro Yoshioka
健太郎 吉岡
明秀 崔
Akihide Sai
明秀 崔
浩平 鬼塚
Kohei Onizuka
浩平 鬼塚
雅則 古田
Masanori Furuta
雅則 古田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017101952A priority Critical patent/JP6782193B2/ja
Priority to CN201810166441.7A priority patent/CN108932547A/zh
Priority to US15/914,304 priority patent/US10320372B2/en
Publication of JP2018197930A publication Critical patent/JP2018197930A/ja
Application granted granted Critical
Publication of JP6782193B2 publication Critical patent/JP6782193B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/04Shaping pulses by increasing duration; by decreasing duration
    • H03K5/06Shaping pulses by increasing duration; by decreasing duration by the use of delay lines or other analogue delay elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/08Shaping pulses by limiting; by thresholding; by slicing, i.e. combined limiting and thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • H03K2005/00058Variable delay controlled by a digital setting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/0015Layout of the delay element
    • H03K2005/00195Layout of the delay element using FET's

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Analogue/Digital Conversion (AREA)
  • Pulse Circuits (AREA)

Abstract


【課題】積和演算を高速かつ低消費電力で行う。
【解決手段】情報処理装置は、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するデジタル−パルス変換器と、前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持する選択的発振器と、を備える。
【選択図】図1

Description

本発明の実施形態は、情報処理装置、半導体回路および情報処理方法に関する。
最近、人工知能(AI:Artificial Intelligence)が注目されているが、数多くのデータを用いた学習と、学習結果を用いた演算処理とを行う必要があり、演算処理量が膨大になる。そこで、AIの処理の少なくとも一部をハードウェアで実現する研究が進められている。AIの演算処理では、積和演算を多数回行う。このため、積和演算を高速かつ低消費電力で行うハードウェアが求められている。
米国特許9361577号
本発明の実施形態は、積和演算を高速かつ低消費電力で行うことができる情報処理装置、半導体回路および情報処理方法を提供する。
本実施形態では、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するデジタル−パルス変換器と、
前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持する選択的発振器と、を備える情報処理装置が提供される。
第1の実施形態による情報処理装置の概略構成を示すブロック図。 デジタル−パルス変換器の内部構成の一例を示すブロック図。 図2のデジタル−パルス変換器の動作タイミング図。 選択的発振器の一具体例を示す図。 図4の情報処理装置にN=2個のデジタル入力信号を順に入力した場合のタイミング図。 本実施形態による情報処理装置の処理アルゴリズムを示すフローチャート。 第2の実施形態による情報処理装置の概略構成を示すブロック図。 第2の実施形態による可変遅延器の内部構成の一例を示すブロック図。 第3の実施形態による情報処理装置の概略構成を示すブロック図。 図9のリング発振器を構成する各遅延素子の内部構成の一例を示すブロック図。 第4の実施形態による情報処理装置の概略構成を示すブロック図。 第5の実施形態による情報処理装置の概略構成を示すブロック図。 第6の実施形態による情報処理装置の概略構成を示すブロック図。 第1〜第7の実施形態で説明した情報処理装置を複数個有する並列的に動作可能な積和演算コアの内部構成の一例を示すブロック図。 図14に示した積和演算コアを備えた信号処理装置の概略構成の一例を示すブロック図。 脳型のニューラルネットワークシステムの一例を示すブロック図。
以下、図面を参照して実施の形態について説明する。なお、本件明細書と添付図面においては、理解のしやすさと図示の便宜上、一部の構成部分を省略、変更または簡易化して説明および図示しているが、同様の機能を期待し得る程度の技術内容も、本実施の形態に含めて解釈することとする。
(第1の実施形態)
図1は第1の実施形態による情報処理装置1の概略構成を示すブロック図である。図1の情報処理装置1は、N(Nは2以上の整数)個のデジタル入力信号DIN[1:N]の積分結果を計算する演算回路である。図1の情報処理装置1の出力であるデジタル出力信号Outは、以下の(1)式で表される。
Figure 2018197930
図1の情報処理装置1は、デジタル−パルス変換器2と、選択的発振器3と、読出部4とを備えている。
デジタル−パルス変換器2は、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力する。例えば、デジタル入力信号が1の場合、1nsのパルス長のパルスを含むパルス信号を出力し、デジタル入力信号が4の場合、4nsのパルス長のパルスを含むパルス信号を出力する。
図2はデジタル−パルス変換器2の内部構成の一例を示すブロック図、図3は図2のデジタル−パルス変換器2の動作タイミング図である。図2のデジタル−パルス変換器2は、可変遅延器5と、インバータ6と、論理積回路7とを有する。可変遅延器5には、トリガ信号とデジタル入力信号とが入力されている。トリガ信号は、デジタル−パルス変換器2の動作開始タイミングに合わせて、ロウからハイに切り替わる信号である。可変遅延器5は、トリガ信号をデジタル入力信号に応じた遅延量だけ遅延させた遅延トリガ信号を出力する。インバータ6は、遅延トリガ信号を反転出力する。論理積回路7は、インバータ6の出力信号とトリガ信号との論理積信号を出力する。論理積回路7の出力信号が、デジタル入力信号に応じたパルス長のパルスを含むパルス信号である。
図3の時刻t1でトリガ信号がロウからハイに変化すると、可変遅延器5は、トリガ信号を、デジタル入力信号に応じた時間Tだけ遅延させて、時刻t2でロウからハイに変化する遅延トリガ信号を出力する。論理積回路7は、トリガ信号と遅延トリガ信号の反転信号との論理積であるパルス信号を出力する。パルス信号に含まれるパルスのパルス長は、可変遅延器5がトリガ信号を遅延させた時間Tにほぼ等しくなる。
選択的発振器3は、パルス信号がパルスを出力している最中に発振動作を行い、パルスの出力が停止した時点の発振動作状態を保持する。選択的発振器3は、例えばイネーブル信号がハイの間のみ発振動作を行い、イネーブル信号がロウの間は発振が停止し、イネーブル信号がハイからロウに切り替わった状態での発振動作状態を保存する。ここで、発振動作状態とは、例えば発振信号の発振回数と位相状態である。
読出部4は、発振動作状態を含むデジタル出力信号を出力する。すなわち、読出部4は、選択的発振器3の発振信号の発振回数と位相状態の情報を含むデジタル出力信号を出力する。読出部4は、図1の情報処理装置1における必須の構成部材ではなく、場合によっては省略してもよい。あるいは読出部4の代わりに、選択的発振器3から出力された発振動作状態を示す信号を用いて所定の演算処理を行う演算回路を選択的発振器3に接続してもよい。
図4は選択的発振器3の一具体例を示す図である。図4の選択的発振器3は、リング発振器8と複数の切替器9とを有する。
リング発振器8は、リング状に接続された複数の遅延素子8aを有し、初期パルス信号を複数の遅延素子8aにて順繰りに伝送する。リング発振器8内の遅延素子8aの接続段数は奇数個である。各遅延素子8aは、例えばインバータである。
複数の切替器9は、複数の遅延素子8aに遅延動作を行わせるか否かを切り替える。各切替器9は、例えば、対応する遅延素子8aに電源電圧を供給するか否かを切り替える。以下では、各切替器9が対応する遅延素子8aに電源電圧を供給する場合をオン、各切替器9が対応する遅延素子8aに電源電圧を供給しない場合をオフと呼ぶ。各遅延素子8aは、対応する切替器9がオンの場合には、前段の遅延素子8aの出力信号を遅延させて出力し、対応する切替器9がオフの場合には、信号の伝搬遅延動作を停止する。すべての切替器9は同期してオンまたはオフする。すなわち、一部の切替器9がオンになって他の切替器9がオフになることはない。
図5は図4の情報処理装置1にN=2個のデジタル入力信号を順に入力した場合のタイミング図である。図5は、デジタル入力信号として、2と9が順に入力された例を示している。ここで、選択的発振器3は所望の状態に初期化されているとし、発振状態のデューティは無視し簡単のため位相状態をパルスに置き換えて説明する。リング発振器8は、最初のデジタル入力信号が入力される前にいったんリセットされ、初段の遅延素子8aに所定のパルス長の初期パルス信号が入力される。最初のデジタル入力信号(=2)がデジタル−パルス変換器2に入力されると(時刻t1)、デジタル−パルス変換器2は、遅延素子8aの遅延量の2個分のパルス長のパルスを含むパルス信号を出力する。このパルス長のパルスが出力されている最中は、すべての切替器9がオンして、すべての遅延素子8aに電源電圧が供給される。初期状態では、初段の遅延素子8aの入力端子に初期パルス信号が入力されるため、この初期パルス信号は、左から2つ目の遅延素子8aの出力端子まで伝搬される。デジタル−パルス変換器2から出力されたパルス信号が時刻t2でロウレベルに落ちると、すべての切替器9はオフし、左から2段目の遅延素子8aは、その直前の信号レベルであるハイレベルを保持する。
その後、2個目のデジタル入力信号(=9)が入力されると(時刻t3)、デジタル−パルス変換器2は、遅延素子8aの遅延量の9個分のパルス長のパルスを含むパルス信号を出力する。このパルス長のパルスが出力されている最中は、すべての切替器9がオンして、すべての遅延素子8aに電源電圧が供給される。よって、左から2番目の遅延素子8aが保持していた初期パルス信号は、9個の遅延素子8a分だけ順に伝搬される。2番目の遅延素子8aから一番右の遅延素子8aまでに6個の遅延素子8aがあるため、一番右の遅延素子8aから一番左の遅延素子8aまで伝搬された初期パルス信号は、さらに左から3番目の遅延素子8aまで伝搬された時点t4で、すべての切替器9がオフになる。よって、初期パルス信号は左から3番目の遅延素子8aが保持することになる。
このように、図1の情報処理装置1は、単一の選択的発振器3を用いることで、複数のデジタル入力信号の積分処理を行うことができる。
なお、図5に示した例のように、複数のデジタル入力信号の積分処理を行った結果、初期パルス信号がリング発振器8を一回り以上した場合には、初期パルス信号がリング発振器8を何回回ったかを示す発振回数を記憶しておく必要がある。そこで、図4の読出部4は、初期パルス信号がリング発振器8を一回りするたびにカウントアップするカウンタ10を有する。読出部4は、カウンタ10のカウント値によって発振回数を検出するとともに、リング発振器8内のどの遅延素子8aが初期パルス信号を保持しているかを示す位相状態を検出する。そして、読出部4は、発振回数と位相状態を含むデジタル出力信号を生成して出力する。
このように、図4に示した情報処理装置1は、カウンタ10がオーバーフローしない限り、複数のデジタル入力信号の積分処理を延々と実行することができる。これにより、多数のデジタル入力信号の積分処理を図4の情報処理装置1だけで実行でき、積分処理に要する回路規模を削減できる。
本実施形態による情報処理装置1は、ハードウェアにより構成することを想定しているが、例えばプロセッサが所定のアルゴリズムに沿って生成されたマイクロコードを読み込んで実行してもよい。図6は本実施形態による情報処理装置1の処理アルゴリズムを示すフローチャートである。
デジタル−パルス変換器2にデジタル入力信号が入力されると(ステップS1)、デジタル−パルス変換器2は、デジタル入力信号に応じたパルス長のパルスを含むパルス信号を生成する(ステップS2)。選択的発振器3は、ステップS1とS2の処理に前後して、初期パルス信号を生成するとともに、選択的発振器3内のリング発振器8をリセットする(ステップS3)。
ステップS2で生成したパルス信号が選択的発振器3に入力されると、このパルス信号のパルス長の期間だけ複数の切替器9がオンし、リング発振器8は、パルス信号のパルス長だけ初期パルス信号を伝搬させる(ステップS4)。このとき、初期パルス信号がリング発振器8を一周した場合には、カウンタ10をカウントアップさせる。
ステップS2で生成したパルス信号のパルス長の期間が経過すると、複数の切替器9はオフし、リング発振器8内で最後に初期パルス信号を出力した遅延素子8aは、その状態を保持する(ステップS5)。
次に、新たなデジタル入力信号がデジタル−パルス変換器2に入力されたか否かを判定する(ステップS6)。新たなデジタル入力信号が入力されなかった場合は、読出部4は、初期パルス信号を保持している遅延素子8aの種類を示す位相状態と、カウンタ10のカウント値で表されるリング発振器8の発振回数とを含むデジタル出力信号を出力して、処理を終了する(ステップS7)。
ステップS6で新たなデジタル入力信号がデジタル−パルス変換器2に入力された場合には、ステップS2と同様に、新たなデジタル入力信号に応じたパルス長のパルスを含むパルス信号を生成する(ステップS8)。ステップS8で生成したパルス信号が選択的発振器3に入力されると、このパルス信号のパルス長の期間だけ複数の切替器9がオンし、リング発振器8は、直前に初期パルス信号を保持していた遅延素子8aから、新たなパルス信号のパルス長だけ初期パルス信号を伝搬させる(ステップS9)。そして、ステップS8で生成したパルス信号のパルス長の期間が経過すると、ステップS5以降の処理を行う。
このように、第1の実施形態では、デジタル入力信号に応じたパルス長のパルスを含むパルス信号をデジタル−パルス変換器2にて生成し、このパルス信号が入力される選択的発振器3では、パルス信号がパルスを出力している最中に発振動作を行い、パルスの出力が停止した時点の発振動作状態を保持するため、簡易な回路構成にて複数のデジタル入力信号の積分および和演算を行うことができる。特に、第1の実施形態では、複数のデジタル入力信号を順にデジタル−パルス変換器2に入力することで、同一の選択的発振器3を用いて積分および和演算を行えるため、演算対象のデジタル入力信号の数が増えても、情報処理装置1の構成が複雑化することがないため、多数のデジタル入力信号の積分および和演算を簡易な回路構成の情報処理装置1にて行うことができる。
(第2の実施形態)
第2の実施形態は、積和演算を行えるようにしたものである。
図7は第2の実施形態による情報処理装置1の概略構成を示すブロック図である。図7の情報処理装置1は、デジタル−パルス変換器2の処理動作が図1の情報処理装置1とは異なっている。図7のデジタル−パルス変換器2には、デジタル入力信号に応じた重み信号が入力される。入力信号行列がDIN[1:N]、重み信号がW[1:N]で表される場合、図7の情報処理装置1の出力であるデジタル出力信号Outは、以下の(2)式で表される。
Figure 2018197930
(2)式の演算を行う一手法として、図7の情報処理装置1では、デジタル−パルス変換器2にて、各デジタル入力信号の重み付けを行っている。
図7のデジタル−パルス変換器2は、図2と同様のブロック構成で表されるが、可変遅延器5の内部構成に特徴がある。
図8は第2の実施形態による可変遅延器5の内部構成の一例を示すブロック図である。図8の下側に示すように、可変遅延器5は、4つの第1遅延回路11と、4入力の第1マルチプレクサ12とを有する。4つの第1遅延回路11は、可変遅延素子13の接続段数がそれぞれ異なっており、可変遅延素子13の接続段数に応じて遅延量がそれぞれ異なっている。第1マルチプレクサ12は、デジタル入力信号に基づいて、4つの第1遅延回路11の出力信号のうち一つを選択する。
各可変遅延素子13は、図8の上側に示すように、4つの第2遅延回路14と、4入力の第2マルチプレクサ15とを有する。4つの第2遅延回路14は、遅延素子16の接続段数がそれぞれ異なっており、デジタル入力信号に対応する重み信号に基づいて、4つの第2遅延回路14の出力信号のうち一つを選択する。
図8の可変遅延器5では、デジタル入力信号と重み信号がいずれも2ビットで表される例を示している。デジタル入力信号が2ビットで表される場合、4種類のデジタル入力信号が存在するため、図8の下側の第1マルチプレクサ12により、4種類のうちいずれか一つの遅延量を選択する。また、重み信号が2ビットで表される場合、4種類の重み信号が存在するため、図8の上側の第2マルチプレクサ15により、4種類のうちいずれか一つの遅延量を選択する。これにより、可変遅延器5は、デジタル入力信号に応じて遅延量を変化させるだけでなく、重み信号によっても遅延量を変化させる。
なお、デジタル入力信号と重み信号のビット数は必ずしも2ビットには限定されない。デジタル入力信号と重み信号のビット数に応じて図8の可変遅延器5の回路構成を変更すればよい。
図8のデジタル−パルス変換器2で変換されたパルス信号は、図7の選択的発振器3に入力される。選択的発振器3は、第1の実施形態と同様に、パルス信号のパルス長の期間だけ発振動作を行い、パルスの出力期間が経過した時点での発振動作状態を保持する。これにより、デジタル−パルス変換器2にて積算した演算結果を選択的発振器3にて積分および和演算することができる。
このように、第2の実施形態では、デジタル−パルス変換器2にて、デジタル入力信号に対応する重み信号によってデジタル入力信号を重み付けするため、積和演算を行うことができる。また、デジタル入力信号の重み付けは、複数の遅延回路とマルチプレクサによって行えるため、複雑な構成の乗算回路を設けなくて済む。
(第3の実施形態)
第2の実施形態では、デジタル−パルス変換器2にて、デジタル入力信号と重み信号との積算を行うため、重み信号が大きいほど、選択的発振器3に入力されるパルス信号のパルス長が長くなり、選択的発振器3の発振回数が増大して、演算処理に時間がかかってしまう。以下に説明する第3の実施形態は、この問題を解決するものである。
図9は第3の実施形態による情報処理装置1の概略構成を示すブロック図である。図9の情報処理装置1は、選択的発振器3の構成が図1や図7の情報処理装置1とは異なっている。図9の選択的発振器3には、デジタル−パルス変換器2から出力されたパルス信号の他に、重み信号が入力されている。図9の選択的発振器3は、重み信号によりリング発振器8の発振周波数を制御し、これにより、積和演算を行う。
図10は図9の選択的発振器3内のリング発振器8を構成する各遅延素子8aの内部構成の一例を示すブロック図である。図10の遅延素子8aは、4つの第3遅延回路8bと、4入力の第3マルチプレクサ8cとを有する。4つの第3遅延回路8bは、単位遅延素子8dの接続段数がそれぞれ異なっており、単位遅延素子8dの接続段数に応じて遅延量がそれぞれ異なっている。第3マルチプレクサ8cは、デジタル入力信号に応じた重み信号に基づいて、4つの第3遅延回路8bの出力信号のうち一つを選択する。
リング発振器8は、図2に示したように、複数の遅延素子8aをリング状に接続したものであり、各遅延素子8aは、図10のように一つまたは複数の単位遅延素子8dで構成される。リング発振器8の発振周波数は、各単位遅延素子8dの遅延量をtinv、リング発振器8を構成する全遅延素子8a分の単位遅延素子8dの個数をNとすると、以下の(3)式で表される。
Figure 2018197930
(3)式からわかるように、リング発振器8内の全単位遅延素子8dの個数Nと各単位遅延素子8dの遅延量tinvにより、発振周波数が変化する。例えば、デジタル入力信号DINが9の場合、N=3のときの発振回数は3回であり、N=5のときの発振回数は9/5=1.8回になり、単位遅延素子8dの接続段数に応じた積算が行われる。例えば、重み信号が大きいほど、Nの値を小さくすることで、リング発振器8の発振周波数が高くなり、より迅速に積和演算を行うことができる。
このように、第3の実施形態では、重み信号に応じてリング発振器8の発振周波数を可変制御するため、重み信号が大きくなっても、選択的発振器3での積和演算に時間がかからなくなる。リング発振器8の発振周波数を変更する手法は上述した段数を変更する方法だけではなく、一般的なデジタル制御型リング発振器(DCO:Digitally Controlled Oscillator)の手法も用いることができる。例えば発振周波数を変えるためには、各インバータ出力にデジタル信号で制御される可変容量負荷を加えることで、式(3)の遅延量tinvを変動させて発振周波数を制御することができる。また電流駆動形インバータを用いて駆動する電流を制御することで、遅延量tinvを変動させて発振周波数freqを制御することもできる。
(第4の実施形態)
以下に説明する第4の実施形態は、読出部4の出力信号に対して積和演算を行うものである。
図11は第4の実施形態による情報処理装置1の概略構成を示すブロック図である。図11の情報処理装置1は、複数組の選択的発振器3および読出部4を備えている。各組の選択的発振器3および読出部4は、デジタル入力信号のそれぞれ異なる重み信号に対応するものである。図11は、3種類の重み信号w1〜w3に対応づけて、3組の選択的発振器3および読出部4を設ける例を示している。なお、重み信号の種類は3種類とは限らない。例えば、n種類の重み信号がある場合には、n組の選択的発振器3および読出部4を設ければよい。
各組の選択的発振器3には、対応する重み信号のパルス信号が入力される。各組の選択的発振器3は、入力されたパルス信号のパルス長の期間だけ発振動作を行う。各組の読出部4は、対応する選択的発振器3の発振動作状態を含むデジタル出力信号を出力する。
各組の読出部4には、対応する乗算器(重み付け部)17が接続されている。各組の乗算器17は、対応するデジタル出力信号に、対応する重み信号を乗じる処理を行う。各乗算器17の乗算結果は加算器(合成部)18にて合算されて、最終的な積和演算結果が得られる。
このように、第4の実施形態では、積和演算処理を読出部4の後段側で行うため、選択的発振器3の演算処理時間が重み信号によって変動するおそれはない。また、第3の実施形態よりも選択的発振器3の内部構成を簡略化できる。
(第5の実施形態)
第5の実施形態は、デジタル−パルス変換器2に入力されるデジタル入力信号を重み付けするものである。
図12は第5の実施形態による情報処理装置1の概略構成を示すブロック図である。図12の情報処理装置1は、図1の構成に加えて、乗算器(重み付け部)19を備えている。乗算器19は、デジタル入力信号に重み信号を乗じる処理を行う。乗算器19により重み付けされたデジタル入力信号がデジタル−パルス変換器2に入力される。デジタル−パルス変換器2、選択的発振器3および読出部4の処理動作は、図1の情報処理装置1と同じであるが、デジタル−パルス変換器2に入力されるデジタル入力信号自体がすでに重み付けされているため、図12の情報処理装置1は、積和演算を行うことができる。
このように、デジタル−パルス変換器2の前段側でデジタル入力信号の重み付け処理を行うため、デジタル−パルス変換器2以降の構成を図1と同じにしても、積和演算を行うことができる。
上述した図7〜図12の重み付け処理のうち、少なくとも二つ以上の重み付け処理を組み合わせて実施してもよい。例えば、図7のデジタル−パルス変換器2内の重み付け処理と、図9の選択的発振器3内の重み付け処理とを行ってもよい。これにより、より複雑な積和演算処理を行うことができる。
(第6の実施形態)
上述した第1〜第5の実施形態では、符号を持たないデジタル入力信号の積分処理を説明したが、デジタル入力信号が符号を持っている場合には、各符号ごとに積分処理を行った後に、その差分を演算すればよい。
図13は第6の実施形態による情報処理装置1の概略構成を示すブロック図である。図13の情報処理装置1は、符号判定器21と、正演算回路(第1演算回路)22と、負演算回路(第2演算回路)23と、減算器24とを備えている。符号判定器21は、デジタル入力信号の符号を判定する。なお、重み信号が負の値を取る可能性がある場合には、デジタル入力信号と重み信号をともに符号判定器21に入力して、デジタル入力信号と重み信号の両方を考慮に入れて、符号判定器21にて符号の判定を行う。
正演算回路22と負演算回路23は、ともに同一の回路構成を備えており、例えば図7のデジタル−パルス変換器2、選択的発振回路および読出部4を有する。正演算回路22は、符号判定器21にてデジタル入力信号が正であると判定されたときに、そのデジタル入力信号を用いて積和演算処理を行う。負演算回路23は、符号判定器21にてデジタル入力信号が負であると判定されたときに、そのデジタル入力信号を用いて積和演算処理を行う。
このように、図13の情報処理装置1では、正のデジタル入力信号については正演算回路22にて積和演算処理を行い、負のデジタル入力信号については負演算回路23にて積和演算処理を行う。
減算器24は、正演算回路22の出力信号から負演算回路23の出力信号を減じた信号を出力する。減算器24の出力により、符号を考慮に入れた積和演算結果が得られる。
このように、第6の実施形態では、正のデジタル入力信号についての積和演算と負のデジタル入力信号についての積和演算とを別個に行った後に、その差分を取ることで、符号を考慮に入れた積和演算を行うことができる。これにより、正演算回路22と負演算回路23の回路構成を共通化することができる。
(第7の実施形態)
デジタル入力信号と重み信号は、バイナリ値であるが、2のべき乗を単位として変化する値として表現してもよい。例えば、デジタル入力信号000=0、001=1、010=2、011=4、100=8などとしてもよい。2のべき乗で表される値は、対数log2で表記すると、1ずつ増える値になり、取扱に便利であり、可変遅延器5の設計などを簡略化することができる。
一方、デジタル入力信号と重み信号を、同じ値ずつ変化する値としてもよい。これにより、各信号の値の間隔を一定にでき、より高精度の演算が可能となる。
(第8の実施形態)
上述した第1〜第7の実施形態で説明した情報処理装置1を複数個配置して、並列的に動作させることで、高い演算能力を持つ並列積和演算機能を持つ積和演算コアを構築することができる。
図14は第1〜第7の実施形態で説明した情報処理装置1を複数個有する並列的に動作可能な積和演算コア25の内部構成の一例を示すブロック図である。図14の積和演算コア25は、例えば半導体基板やプリント基板上に実装可能なものであり、入力部26と演算処理部27を備えている。演算処理部27には、第1〜第7の実施形態で説明した情報処理装置1と同じ機能を有する演算回路28が複数個配置されている。各演算回路28は、必要に応じて並列的または逐次的に演算処理を行うことができる。
図15は図14に示した積和演算コア25を備えた信号処理装置31の概略構成の一例を示すブロック図である。図15の信号処理装置31は、図14に示した積和演算コア25と、ホストコントローラ32と、メモリ33とを備えている。メモリ33は、不揮発メモリと揮発メモリの少なくとも一つを有する。また、メモリ33は、キャッシュメモリとメインメモリなどのように階層的に分かれていてもよい。図15の信号処理装置31は、半導体基板上に形成してチップ化してもよいし、プリント基板上に実装してもよい。
図14や図15に示した積和演算コア25を用いて、脳型のニューラルネットワークシステムを構成してもよい。図16は脳型のニューラルネットワークシステム35の一例を示すブロック図である。図16のニューラルネットワークシステム35は、階層的な構造になっており、第1隠れ層36における複数の積和演算コア25と、第2隠れ層37における複数の積和演算コア25とが種々の積和演算を行う。また、第1隠れ層36における複数の積和演算コア25の出力信号が、必要に応じて重み付けされた上で、第2隠れ層37における複数の積和演算コア25に入力される。
このように、第8の実施形態では、第1〜第7の実施形態で説明した情報処理装置1を複数設けることで、種々の用途における積和演算を行うことができる。
以上では、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 情報処理装置、2 デジタル−パルス変換器、3 選択的発振器、4 読出部、5 可変遅延器、6 インバータ、7 論理積回路、8 リング発振器、8a 遅延素子、8b 第3遅延回路、8c 第3マルチプレクサ、8d 単位遅延素子、9 切替器、10 カウンタ、11 第1遅延回路、12 第1マルチプレクサ、13 可変遅延素子、14 第2遅延回路、15 第2マルチプレクサ、16 遅延素子、17 乗算器、18 加算器、19 乗算器、21 符号判定器、22 正演算回路、23 負演算回路、24 減算器、25積和演算コア、26 入力部、27 演算処理部、28 演算回路、31 信号処理装置、32 ホストコントローラ、33 メモリ

Claims (12)

  1. デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するデジタル−パルス変換器と、
    前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持する選択的発振器と、を備える、情報処理装置。
  2. 前記デジタル−パルス変換器は、N(Nは2以上の整数)個のデジタル入力信号に応じたN個の前記パルス信号を順に出力し、
    前記選択的発振器は、前記N個のパルス信号が順に入力されるたびに、入力されたパルス信号のパルス長だけ発振動作を行った後に前記発振動作状態を保持し、その後新たにパルス信号が入力されると、保持していた前記発振動作状態から発振動作を再開する動作を繰り返す、請求項1に記載の情報処理装置。
  3. 前記発振動作状態を含むデジタル出力信号を出力する読出部を備える、請求項1または2に記載の情報処理装置。
  4. 前記選択的発振器および前記読出部を一組として、前記デジタル入力信号の重み信号ごとに異なる組とした複数の組が設けられ、
    前記デジタル−パルス変換器は、前記デジタル入力信号を前記重み信号に応じた前記組の前記選択的発振器に入力する、請求項3に記載の情報処理装置。
  5. 前記複数の組における複数の前記読出部から出力された複数の前記デジタル出力信号を、対応する前記重み信号に応じて重み付けする複数の重み付け部と、
    前記複数の重み付け部の出力信号同士を合成する合成部と、を備える、請求項4に記載の情報処理装置。
  6. 前記選択的発振器は、
    リング状に接続された複数の遅延素子を有し、初期パルス信号を前記複数の遅延素子にて順繰りに伝送するリング発振器と、
    前記複数の遅延素子に遅延動作を行わせるか否かを切り替える複数の切替器と、を有し、
    前記読出部は、前記リング発振器による発振回数と、前記パルスの出力が停止した時点で前記初期パルス信号を保持している遅延素子により特定される位相状態とを、前記発振動作状態として保持する、請求項3乃至5のいずれか一項に記載の情報処理装置。
  7. 前記デジタル−パルス変換器は、前記デジタル入力信号と前記デジタル入力信号の重み信号とに応じたパルス長のパルスを含む前記パルス信号を出力する、請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記デジタル入力信号を前記デジタル入力信号の重み信号で重み付けしたデジタル入力信号を生成して前記デジタル−パルス変換器に入力する重み付け部を備える、請求項1乃至6のいずれか一項に記載の情報処理装置。
  9. 前記リング発振器内の前記複数の遅延素子は、前記デジタル入力信号の重み信号に応じた遅延時間を持っている、請求項6に記載の情報処理装置。
  10. 前記デジタル入力信号と前記デジタル入力信号の重み信号とに基づいて、正の演算処理を行うか、または負の演算処理を行うかを判定する符号判定器と、
    前記符号判定器により前記正の演算処理を行うと判定されたときに、前記デジタル入力信号と前記重み信号とに基づいて前記正の演算処理を行う第1演算回路と、
    前記符号判定器により前記負の演算処理を行うと判定されたときに、前記デジタル入力信号と前記重み信号とに基づいて前記負の演算処理を行う第2演算回路と、
    前記第1演算回路の出力信号から前記第2演算回路の出力信号を減じる減算器と、を備え、
    前記第1演算回路および前記第2演算回路のそれぞれは、前記選択的発振器を有する、請求項1乃至9のいずれか一項に記載の情報処理装置。
  11. 請求項1乃至10のいずれか一項に記載の情報処理装置を有する演算回路を同一の半導体基板上に複数個配置した積和演算コアを備える、半導体装置。
  12. デジタル入力信号に応じたパルス長のパルスを含むパルス信号を出力するステップと、
    前記パルス信号が前記パルスを出力している最中に発振動作を行い、前記パルスの出力が停止した時点の発振動作状態を保持するステップと、を備える、情報処理方法。
JP2017101952A 2017-05-23 2017-05-23 情報処理装置、半導体装置および情報処理方法 Active JP6782193B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017101952A JP6782193B2 (ja) 2017-05-23 2017-05-23 情報処理装置、半導体装置および情報処理方法
CN201810166441.7A CN108932547A (zh) 2017-05-23 2018-02-28 信息处理装置以及信息处理方法
US15/914,304 US10320372B2 (en) 2017-05-23 2018-03-07 Information processing device, semiconductor device, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017101952A JP6782193B2 (ja) 2017-05-23 2017-05-23 情報処理装置、半導体装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2018197930A true JP2018197930A (ja) 2018-12-13
JP6782193B2 JP6782193B2 (ja) 2020-11-11

Family

ID=64401899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017101952A Active JP6782193B2 (ja) 2017-05-23 2017-05-23 情報処理装置、半導体装置および情報処理方法

Country Status (3)

Country Link
US (1) US10320372B2 (ja)
JP (1) JP6782193B2 (ja)
CN (1) CN108932547A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10727819B2 (en) 2018-03-05 2020-07-28 Kabushiki Kaisha Toshiba Information processing device, semiconductor device, and information processing method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146251B2 (en) * 2020-03-06 2021-10-12 International Business Machines Corporation Performance-screen ring oscillator with switchable features
US11283430B2 (en) 2020-06-30 2022-03-22 Fermi Research Alliance, Llc Gated ring oscillator with constant dynamic power consumption

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3127517B2 (ja) * 1991-10-04 2001-01-29 株式会社デンソー パルス発生装置及びパルス発生方法
JP4272967B2 (ja) * 2003-10-16 2009-06-03 キヤノン株式会社 演算回路およびその動作制御方法
CN101281790A (zh) * 2008-02-01 2008-10-08 中国科学院上海微系统与信息技术研究所 相变内存读、写操作可调脉宽的控制电路的设计方法
JP5885719B2 (ja) 2013-09-09 2016-03-15 株式会社東芝 識別装置および演算装置
GB2532015B (en) * 2014-11-04 2018-12-26 Cirrus Logic Int Semiconductor Ltd Improved analogue-to-digital convertor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10727819B2 (en) 2018-03-05 2020-07-28 Kabushiki Kaisha Toshiba Information processing device, semiconductor device, and information processing method

Also Published As

Publication number Publication date
JP6782193B2 (ja) 2020-11-11
CN108932547A (zh) 2018-12-04
US20180343004A1 (en) 2018-11-29
US10320372B2 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
US6906562B1 (en) Counter-based clock multiplier circuits and methods
JP6812781B2 (ja) 遅延回路、カウント値生成回路および物理量センサー
JP5074359B2 (ja) 乱数生成回路
US9047152B2 (en) Delay device, method, and random number generator using the same
JP6782193B2 (ja) 情報処理装置、半導体装置および情報処理方法
JP2011066791A (ja) 半導体集積回路装置、及び電源電圧制御方法
JP2018112861A (ja) 乱数生成装置、集積回路
KR102550777B1 (ko) 주파수 가변 클럭 생성기로 크리티컬 경로 수용
JP6960357B2 (ja) 情報処理装置、半導体装置および情報処理方法
JP4560039B2 (ja) 直交クロック分周器
JP2002328915A (ja) 時分割方式の行列演算器
JP6219118B2 (ja) 発振器
JP2004032586A (ja) 逓倍pll回路
JP5928590B2 (ja) クロック信号生成装置、クロック信号生成方法及びコンピュータ読取り可能記録媒体
Kuate et al. Complex dynamics induced by a sine nonlinearity in a five-term chaotic system: FPGA hardware design and synchronization
Mohindroo et al. Fpga based faster implementation of mac unit in residual number system
JP3736518B2 (ja) 半導体装置
JP4434277B2 (ja) クロック生成回路およびその使用方法
US10756710B2 (en) Integrated ring oscillator clock generator
JP7040572B2 (ja) 遅延回路、カウント値生成回路および物理量センサー
JP4691791B2 (ja) データ処理システム
JP2020204888A (ja) 情報処理装置
JP2018026846A (ja) 発振器
JPH117439A (ja) 積和器
JP2003234644A (ja) 可変遅延生成回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R151 Written notification of patent or utility model registration

Ref document number: 6782193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151