JP2017126203A - 演算処理装置 - Google Patents
演算処理装置 Download PDFInfo
- Publication number
- JP2017126203A JP2017126203A JP2016005236A JP2016005236A JP2017126203A JP 2017126203 A JP2017126203 A JP 2017126203A JP 2016005236 A JP2016005236 A JP 2016005236A JP 2016005236 A JP2016005236 A JP 2016005236A JP 2017126203 A JP2017126203 A JP 2017126203A
- Authority
- JP
- Japan
- Prior art keywords
- data
- arithmetic
- arithmetic processing
- unit
- external memory
- 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
Links
- 239000000872 buffer Substances 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims description 62
- 238000004364 calculation method Methods 0.000 claims description 52
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 abstract 4
- 230000006870 function Effects 0.000 description 52
- 230000008569 process Effects 0.000 description 41
- 238000000605 extraction Methods 0.000 description 36
- 238000011176 pooling Methods 0.000 description 15
- 238000001994 activation Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Abstract
Description
(ニューラルネットワーク)
図1には、詳しくは後述する演算処理装置10に適用されるニューラルネットワーク、この場合、畳み込みニューラルネットワークの構成を概念的に示している。畳み込みニューラルネットワークNは、入力データである画像データD1から所定の形状やパターンを認識する画像認識技術に応用されるものであり、中間層Naと全結合層Nbとを有する。中間層Naは、複数の特徴量抽出処理層Na1,Na2・・・が階層的に接続された構成である。各特徴量抽出処理層Na1,Na2・・・は、それぞれ畳み込み層Cおよびプーリング層Pを備える。
図5に例示する演算処理装置10は、演算部11、バッファ12、外部メモリ13などを備える。演算部11は、この場合、複数の演算ブロック11aを備える。演算ブロック11aは、それぞれ、図示しない畳み込み演算処理部、活性化処理部、プーリング処理部などを備えている。畳み込み演算処理部は、前階層から入力される入力データに対して周知の畳み込み演算処理を実行して、その処理結果データを活性化処理部に出力する。活性化処理部は、畳み込み演算処理部による処理結果データに対して周知の活性化処理を実行して、その処理結果データをプーリング処理部に出力する。プーリング処理部は、活性化処理部による処理結果データに対して周知のプーリング処理を実行して、その処理結果データを出力する。
(データの書き出し処理)
図13に例示するように、演算処理装置10は、データ保持領域に全ての書き出しデータ、つまり、演算部11が出力する全てのデータを保持可能であるか否かを判断する(A1)。演算処理装置10は、演算部11が出力する全てのデータをデータ保持領域に保持可能である場合(A1:YES)には、演算部11が出力するデータをデータ保持領域に順次格納していき(A2)、全てのデータをデータ保持領域に格納すると(A3:YES)、この処理を終了する。
図15に例示するように、演算処理装置10は、外部メモリ13からデータの読み出しが必要であるか否かを確認する(B1)。即ち、特徴量の抽出処理に必要な全てのデータがデータ保持領域に格納されているのであれば、外部メモリ13からのデータの読み出しは不要である。よって、演算処理装置10は、特徴量の抽出処理に必要な全てのデータがデータ保持領域に格納されているか否かを確認し、外部メモリ13からのデータの読み出しの要否を判断する。演算処理装置10は、外部メモリ13からのデータの読み出しが不要である場合(B1:NO)には、データ保持領域からデータを順次読み出していき(B2)、データ保持領域に保持されている全てのデータを読み出すと(B3:YES)、この処理を終了する。
図19に例示するように、本実施形態では、バッファ12は、複数の処理層ごとに、データ保持領域とリングバッファ領域との境界アドレスを変更可能に構成されている。この構成によれば、次階層の演算処理において、前階層の演算処理時よりもリングバッファ領域を大きくすることができる。入力画像データに対する水平方向の1ライン目から4ライン目のデータをデータ保持領域に保持するようにした場合、次階層の演算処理において1ライン目から4ライン目のデータを保持するのに必要なデータ保持領域は、前階層の演算処理において1ライン目から4ライン目のデータを保持するのに必要なデータ保持領域よりも小さくなる。前階層の演算処理におけるプーリング処理によりデータ量が減少するからである。よって、処理層ごとに境界アドレスを調整することで、各処理層において必要な大きさのデータ保持領域を形成し、残りのバッファ資源をリングバッファ領域に割り当てることができ、限りのあるバッファ資源を有効に活用することができる。
本実施形態は、データの読み出し処理時において、データ保持領域からデータを読み出した後に、空になったデータ保持領域をリングバッファ領域として用いる実施形態である。即ち、図20には、演算部11からのデータの書き出し処理時におけるバッファ12の構成例を示している。このデータ書き出し処理時において、リングバッファ領域は「0x0000」〜「0x0007」、データ保持領域は「0x0008」〜「0x000F」に設定されている。そして、状態1では、書き込みアドレスWaの初期値がデータ保持領域の先頭アドレス「0x0008」に設定され、データの書き込みが開始される。そして、状態2に示すように、データが書き込まれるたびに書き込みアドレスWaが増加され、データがデータ保持領域に順次書き込まれていく。そして、状態3に示すように、書き込みアドレスWaがデータ保持領域の最終アドレス「0x000F」まで移行すると、状態4に示すように、書き込みアドレスWaがリングバッファ領域の先頭アドレス「0x0000」に移行する。そして、データが書き込まれるたびに書き込みアドレスWaが増加され、データがリングバッファ領域に順次書き込まれていく。そして、状態5に示すように、読み出しアドレスRaが設定され、データが外部メモリ13に読み出されるたびに読み出しアドレスRaが増加される。これにより、リングバッファ領域において、書き込みアドレスWaに演算部11からのデータが書き込まれるとともに読み出しアドレスRaから外部メモリ13にデータが読み出される。これにより、いわゆる先入先出方式によりリングバッファ領域のデータが外部メモリ13に順次読み出されていく。なお、データ保持領域の各アドレスには、それぞれ1回だけデータが書き込まれる。
本実施形態は、各処理層における演算処理により生成される複数の特徴マップにそれぞれ対応付けてデータ保持領域を分ける実施形態である。即ち、図22に例示するように、演算部11からのデータの書き出し処理時において、データ保持領域には、演算部11が出力するデータが特徴マップごとに格納されていく。即ち、特徴マップM[0]のデータは、データ保持領域の先頭アドレスに格納され、以降、特徴マップM[1],M[2]のデータが順次格納されていき、特徴マップM[3]のデータがデータ保持領域の最終アドレスに格納される。なお、データ保持領域に格納できない特徴マップM[4]以降のデータが存在する場合には、リングバッファ領域を介して先入先出方式により外部メモリ13に書き出す。
図24に例示するように、演算処理装置10は、前階層の演算処理が完了する前に、次階層の演算処理に必要なデータを外部メモリ13から演算部11に読み出す処理を開始する。本実施形態によれば、図25に例示するように、次階層の演算処理の初期において、演算部11に読み込まれるデータ量を十分に確保することができる。よって、データ量の不足による演算処理の停止を回避することができ、特に時刻T3以降に示すように、演算処理を停止させることなく連続的に行うことができる。よって、演算処理時間の短縮を図ることができる。
図26に例示するように、バッファ12において、リングバッファ領域のアドレス数は、8個、つまり、2の3乗個で設定されている。この領域構成において、リングバッファ領域の最終アドレス「0x0007」つまり2進数で表現すると「0111」と、リングバッファ領域を越えた最初のアドレス「0x0008」つまり2進数で表現すると「1000」との論理積を計算することにより、リングバッファ領域の先頭アドレスを特定してみる。即ち、「0111」と「1000」との論理積を計算すると「0000」つまり16進数で表現すると「0x0000」が得られる。本実施形態によれば、リングバッファ領域のアドレス数は2のN乗で設定されているので、2進数の論理積演算によりリングバッファ領域の先頭アドレスを容易に特定することができる。そのため、例えばアドレス「0x0006」,「0x0007」,「0x0008」のデータを読み込む場合には、これらのアドレスをそれぞれ「0111」でマスクすることにより、「0x0006」,「0x0007」,「0x0000」を得ることができ、「0x0008」のデータをリングバッファ領域の「0x0000」から読み出せばよいことを容易に求めることができる。よって、データを読み込む際に読み出しアドレスがリングバッファ領域を越えたか否かの判断などを不要とすることができ、処理の簡素化を図ることができる。また、2進数の論理積演算を実行する回路は比較的簡素であり、回路構成の複雑化を回避することができる。なお、Nは0以上の整数である。
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
例えば、データ保持領域には、演算部11から出力するデータの先頭ではなく、途中や末尾のデータを保持するようにしてもよい。また、データ保持領域に保持するデータ数量は、適宜変更して実施することができる。なお、データ保持領域に保持するデータ数量を多くするほど、演算処理の遅延を一層抑えることができる。
Claims (6)
- 階層的に接続された複数の処理層による演算を実行する演算処理装置(10)であって、
前記演算を行う演算部(11)と、
前記演算部による演算結果データを格納する外部メモリ(13)と、
前記演算部から前記外部メモリに書き出すデータ、および、前記外部メモリから前記演算部に読み出すデータを一時的に保持するバッファ(12)と、
を備え、
前記バッファは、データ保持領域およびリングバッファ領域を有し、
前記演算部から前記外部メモリにデータを書き出す場合には、当該データの一部を前記データ保持領域に保持し、前記データ保持領域に保持しなかった残りのデータを、前記リングバッファ領域を介して先入先出方式により前記外部メモリに書き出し、
前記外部メモリから前記演算部にデータを読み出す場合には、前記データ保持領域に保持されているデータを前記演算部に読み出し、前記データ保持領域に保持されていない残りのデータを、前記リングバッファ領域を介して先入先出方式により前記演算部に読み出す演算処理装置。 - 前記バッファは、前記処理層ごとに、前記データ保持領域と前記リングバッファ領域との境界を変更可能である請求項1に記載の演算処理装置。
- 前記演算部は、入力されるデータに含まれる複数の特徴にそれぞれ対応する複数の特徴マップを生成し、
前記データ保持領域は、複数の前記特徴マップにそれぞれ対応する複数の領域に分けられている請求項1または2に記載の演算処理装置。 - 前階層の演算処理が完了する前に、次階層の演算処理に必要なデータを前記外部メモリから前記演算部に読み出す処理を開始する請求項1から3の何れか1項に記載の演算処理装置。
- 前記リングバッファ領域のアドレス数は2のN乗(Nは0以上の整数)で設定されている請求項1から4の何れか1項に記載の演算処理装置。
- 前記演算部は、複数の前記処理層が階層的に接続されたニューラルネットワークによる演算を行う請求項1から5の何れか1項に記載の演算処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016005236A JP6631262B2 (ja) | 2016-01-14 | 2016-01-14 | 演算処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016005236A JP6631262B2 (ja) | 2016-01-14 | 2016-01-14 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017126203A true JP2017126203A (ja) | 2017-07-20 |
JP6631262B2 JP6631262B2 (ja) | 2020-01-15 |
Family
ID=59364526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016005236A Active JP6631262B2 (ja) | 2016-01-14 | 2016-01-14 | 演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6631262B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019077933A1 (ja) * | 2017-10-18 | 2019-04-25 | 三菱電機株式会社 | 演算回路および演算方法 |
EP3576022A1 (en) | 2018-05-28 | 2019-12-04 | Renesas Electronics Corporation | Semiconductor device and memory access setup method |
CN112334915A (zh) * | 2018-06-25 | 2021-02-05 | 奥林巴斯株式会社 | 运算处理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000330761A (ja) * | 1999-05-18 | 2000-11-30 | Canon Inc | リングバッファ制御装置およびリングバッファ制御方法 |
JP2005101795A (ja) * | 2003-09-24 | 2005-04-14 | Matsushita Electric Ind Co Ltd | 画像縮小方法 |
US20060093331A1 (en) * | 2004-11-03 | 2006-05-04 | Sunplus Technology Co., Ltd. | Audio decoding system with a ring buffer and its audio decoding method |
JP2008102694A (ja) * | 2006-10-18 | 2008-05-01 | Futaba Corp | 出力表示機器 |
JP2008310700A (ja) * | 2007-06-15 | 2008-12-25 | Canon Inc | 演算処理装置及び方法 |
-
2016
- 2016-01-14 JP JP2016005236A patent/JP6631262B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000330761A (ja) * | 1999-05-18 | 2000-11-30 | Canon Inc | リングバッファ制御装置およびリングバッファ制御方法 |
JP2005101795A (ja) * | 2003-09-24 | 2005-04-14 | Matsushita Electric Ind Co Ltd | 画像縮小方法 |
US20060093331A1 (en) * | 2004-11-03 | 2006-05-04 | Sunplus Technology Co., Ltd. | Audio decoding system with a ring buffer and its audio decoding method |
JP2008102694A (ja) * | 2006-10-18 | 2008-05-01 | Futaba Corp | 出力表示機器 |
JP2008310700A (ja) * | 2007-06-15 | 2008-12-25 | Canon Inc | 演算処理装置及び方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019077933A1 (ja) * | 2017-10-18 | 2019-04-25 | 三菱電機株式会社 | 演算回路および演算方法 |
JPWO2019077933A1 (ja) * | 2017-10-18 | 2020-10-22 | 三菱電機株式会社 | 演算回路および演算方法 |
EP3576022A1 (en) | 2018-05-28 | 2019-12-04 | Renesas Electronics Corporation | Semiconductor device and memory access setup method |
US10996877B2 (en) | 2018-05-28 | 2021-05-04 | Renesas Electronics Corporation | Semiconductor device and memory access setup method |
CN112334915A (zh) * | 2018-06-25 | 2021-02-05 | 奥林巴斯株式会社 | 运算处理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6631262B2 (ja) | 2020-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11699067B2 (en) | Arithmetic processing apparatus and control method therefor | |
KR102642853B1 (ko) | 컨볼루션 회로, 그것을 포함하는 어플리케이션 프로세서 및 그것의 동작 방법 | |
JP6645252B2 (ja) | 演算処理装置 | |
JP6314628B2 (ja) | 演算処理装置 | |
JP6365258B2 (ja) | 演算処理装置 | |
US11734554B2 (en) | Pooling processing method and system applied to convolutional neural network | |
CN108573305B (zh) | 一种数据处理方法、设备及装置 | |
JP6414458B2 (ja) | 演算処理装置 | |
JP6684951B2 (ja) | 人工知能推論演算装置 | |
JP6631262B2 (ja) | 演算処理装置 | |
CN111324294B (zh) | 存取张量数据的方法和装置 | |
WO2020073801A1 (zh) | 一种3d图像处理中数据读写方法及系统、存储介质及终端 | |
KR102107077B1 (ko) | 컨볼루션 신경망 추론에서 컨볼루션 연산을 수행하기 위한 라인 단위 메모리 관리 방법 및 그 추론 장치 | |
CN109089120B (zh) | 分析辅助编码 | |
WO2020003345A1 (ja) | 演算処理装置 | |
JP2008072585A (ja) | 演算処理用データ供給方法および画像処理装置 | |
CN116934573A (zh) | 数据读写方法、存储介质及电子设备 | |
US9818045B2 (en) | Apparatus and method for detecting a feature in an image | |
JP6747305B2 (ja) | データ処理装置及びニューラルネットワークシステム | |
JP2018055570A (ja) | 演算処理装置、演算処理方法及びプログラム | |
US6271851B1 (en) | Z-buffer pre-test for 3D graphic performance enhancement | |
CN111506518B (zh) | 一种数据存储控制方法及装置 | |
KR100206258B1 (ko) | 화상추출장치 | |
CN114118395B (zh) | 智能处理器装置与降低存储器带宽的方法 | |
JP7012168B2 (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191016 |
|
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: 20191112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191125 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6631262 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |