JP7485396B2 - 内積計算装置 - Google Patents
内積計算装置 Download PDFInfo
- Publication number
- JP7485396B2 JP7485396B2 JP2022195665A JP2022195665A JP7485396B2 JP 7485396 B2 JP7485396 B2 JP 7485396B2 JP 2022195665 A JP2022195665 A JP 2022195665A JP 2022195665 A JP2022195665 A JP 2022195665A JP 7485396 B2 JP7485396 B2 JP 7485396B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- values
- weight
- value
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 69
- 230000006870 function Effects 0.000 claims description 37
- 238000009825 accumulation Methods 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 27
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 17
- 230000017105 transposition Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 5
- 210000002569 neuron Anatomy 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Superconductors And Manufacturing Methods Therefor (AREA)
- Supplying Of Containers To The Packaging Station (AREA)
- Container Filling Or Packaging Operations (AREA)
Description
AV1×W1+AV2×W2=P・・・(2)
12 データバッファー
14 重みメモリー
16 乗算器
18 加算器
20 活性化関数処理装置
22 インデックスメモリー
24 重みマッピングテーブル
26 マイクロ命令生成装置
28 データバッファー
30 インデックスメモリー
32 重みマッピングテーブル
34 加算器
36 プレアキュムレーターレジスタアレイ
38 乗算器
40 加算器
42 活性化関数処理装置
100 内積計算装置
110 データメモリー
120 転置インデックスメモリー
130 重みマッピングテーブル
140 コントローラー
150 プレアキュムレーター
160 積和演算モジュール
161 乗算器
162 アキュムレーター
170 関数処理装置
xi,j ニューロン
A データアドレス
WI 重みインデックス値
W 重み値
D データ値
AV 累積値
P 内積値
M 乗算値
Claims (10)
- データメモリー、転置インデックスメモリー(IIM:inverted index memory)、重みマッピングテーブル、コントローラー、プレアキュムレーター及び積和演算モジュールを備え、
前記データメモリーは複数のデータグループを保存し、各前記データグループは複数のデータ値を含み、
前記転置インデックスメモリーは各前記データグループの前記データメモリーにおけるデータアドレス及びそれに対応する重みインデックス値を保存し、
前記重みマッピングテーブルは、前記重みインデックス値に対応する重み値を保存し、
前記コントローラーは、前記データメモリー、前記転置インデックスメモリー及び前記重みマッピングテーブルに電気的に接続し、前記転置インデックスメモリーから前記複数のデータグループの前記データアドレス及びそれに対応する前記重みインデックス値を順次取得するとともに、それらに基づいて前記データメモリーを駆動して前記複数のデータグループの前記複数のデータ値を順次出力し、かつ、前記重みマッピングテーブルを駆動して前記重みインデックス値に対応する前記重み値を順次出力し、
前記プレアキュムレーターは、前記データメモリーに電気的に接続し、各前記データグループの前記複数のデータ値を受信して累積することにより、複数の累積値を生成し、
前記積和演算モジュールは、前記プレアキュムレーター及び前記重みマッピングテーブルに電気的に接続し、各前記データグループに対応する前記累積値及び前記重み値を受信するとともに、分配法則(distributive law)に基づき各前記データグループに対応する前記累積値及び前記重み値の乗算及び累積を行うことにより、内積値を生成し、
前記複数のデータグループに対応する前記重み値は正の値及び負の値を含み、前記転置インデックスメモリーは前記正の値から前記負の値の順序でそれに対応する前記データアドレスを保存し、
前記転置インデックスメモリーは、最小の前記負の値から最大の前記負の値の順序でそれに対応する前記データアドレスを順次保存し、かつ、前記最小の前記負の値に対応する前記データアドレスは前記最大の前記負の値に対応する前記データアドレスと比較して前記正の値に対応する前記データアドレスに近い、内積計算装置。 - 前記転置インデックスメモリーは、可変長符号化(variable length coding)方式により各前記データグループの前記データアドレス及びそれに対応する前記重みインデックス値を保存する、請求項1に記載の内積計算装置。
- 前記積和演算モジュールは乗算器及びアキュムレーターを備え、
前記乗算器は、前記プレアキュムレーター及び前記重みマッピングテーブルに電気的に接続し、各前記データグループに対応する前記累積値と前記重み値を受信して乗算することにより、複数の乗算値を生成し、
前記アキュムレーターは、前記乗算器に電気的に接続し、前記複数の乗算値を受信して累積することにより、前記内積値を生成する、請求項1に記載の内積計算装置。 - 前記アキュムレーターはさらに、関数処理装置に電気的に接続し、前記内積値について活性化(activation)関数、ラウンド関数又は飽和(saturation)関数の演算を行う、請求項3に記載の内積計算装置。
- 前記内積値はニューラルネットワーク、フィルター又は相関計算に利用される、請求項1に記載の内積計算装置。
- データメモリー、転置インデックスメモリー、コントローラー、プレアキュムレーター及び積和演算モジュールを備え、
前記データメモリーは複数のデータグループを保存し、各前記データグループは複数のデータ値を含み、
前記転置インデックスメモリーは各前記データグループの前記データメモリーにおけるデータアドレス及びそれに対応する重み値を保存し、
前記コントローラーは、前記データメモリー及び前記転置インデックスメモリーに電気的に接続し、前記転置インデックスメモリーから前記複数のデータグループの前記データアドレス及びそれに対応する前記重み値を順次取得するとともに、それらに基づいて前記データメモリーを駆動して前記複数のデータグループの前記複数のデータ値を順次出力し、かつ、前記複数のデータグループに対応する前記重み値を順次出力し、
前記プレアキュムレーターは、前記データメモリーに電気的に接続し、各前記データグループの前記複数のデータ値を受信して累積することにより、複数の累積値を生成し、
前記積和演算モジュールは、前記プレアキュムレーター及び前記コントローラーに電気的に接続し、各前記データグループに対応する前記累積値及び前記重み値を受信するとともに、分配法則に基づき各前記データグループに対応する前記累積値及び前記重み値の乗算及び累積を行うことにより、内積値を生成し、
前記複数のデータグループに対応する前記重み値は正の値及び負の値を含み、前記転置インデックスメモリーは前記正の値から前記負の値の順序でそれに対応する前記データアドレスを保存し、
前記転置インデックスメモリーは、最小の前記負の値から最大の前記負の値の順序でそれに対応する前記データアドレスを保存し、かつ、前記最小の前記負の値に対応する前記データアドレスは前記最大の前記負の値に対応する前記データアドレスと比較して前記正の値に対応する前記データアドレスに近い、内積計算装置。 - 前記転置インデックスメモリーは、可変長符号化方式により各前記データグループの前記データアドレス及びそれに対応する前記重み値を保存する、請求項6に記載の内積計算装置。
- 前記積和演算モジュールは乗算器及びアキュムレーターを備え、
前記乗算器は、前記プレアキュムレーター及び前記コントローラーに電気的に接続し、各前記データグループに対応する前記累積値と前記重み値を受信して乗算することにより、複数の乗算値を生成し、
前記アキュムレーターは、前記乗算器に電気的に接続し、前記複数の乗算値を受信して累積することにより、前記内積値を生成する、請求項6に記載の内積計算装置。 - 前記アキュムレーターはさらに、関数処理装置に電気的に接続し、前記内積値について活性化関数、ラウンド関数又は飽和関数の演算を行う、請求項8に記載の内積計算装置。
- 前記内積値はニューラルネットワーク、フィルター又は相関計算に利用される、請求項6に記載の内積計算装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111139529A TWI805511B (zh) | 2022-10-18 | 2022-10-18 | 內積計算裝置 |
TW111139529 | 2022-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2024059535A JP2024059535A (ja) | 2024-05-01 |
JP7485396B2 true JP7485396B2 (ja) | 2024-05-16 |
Family
ID=87803065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022195665A Active JP7485396B2 (ja) | 2022-10-18 | 2022-12-07 | 内積計算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240126508A1 (ja) |
JP (1) | JP7485396B2 (ja) |
TW (1) | TWI805511B (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011511597A (ja) | 2008-02-05 | 2011-04-07 | トムソン ライセンシング | ビデオ符号化および復号におけるインプリシットなブロック分割のための方法および装置 |
CN110928576A (zh) | 2018-09-20 | 2020-03-27 | 中兴通讯股份有限公司 | 一种卷积神经网络的卷积处理方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10762164B2 (en) * | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
TWI763975B (zh) * | 2019-01-31 | 2022-05-11 | 國立成功大學 | 降低類神經網路之運算複雜度的系統與方法 |
TWI696129B (zh) * | 2019-03-15 | 2020-06-11 | 華邦電子股份有限公司 | 可執行人工智慧運算的記憶體晶片及其運算方法 |
CN111723924B (zh) * | 2020-05-28 | 2022-07-12 | 西安交通大学 | 一种基于通道共享的深度神经网络加速器 |
TWI746038B (zh) * | 2020-07-02 | 2021-11-11 | 阿證科技股份有限公司 | 類神經網路人工智慧決策核心系統 |
-
2022
- 2022-10-18 TW TW111139529A patent/TWI805511B/zh active
- 2022-12-02 US US18/074,245 patent/US20240126508A1/en active Pending
- 2022-12-07 JP JP2022195665A patent/JP7485396B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011511597A (ja) | 2008-02-05 | 2011-04-07 | トムソン ライセンシング | ビデオ符号化および復号におけるインプリシットなブロック分割のための方法および装置 |
CN110928576A (zh) | 2018-09-20 | 2020-03-27 | 中兴通讯股份有限公司 | 一种卷积神经网络的卷积处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI805511B (zh) | 2023-06-11 |
US20240126508A1 (en) | 2024-04-18 |
JP2024059535A (ja) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Samimi et al. | Res-DNN: A residue number system-based DNN accelerator unit | |
US5880981A (en) | Method and apparatus for reducing the power consumption in a programmable digital signal processor | |
Sysel et al. | Goertzel algorithm generalized to non-integer multiples of fundamental frequency | |
US10997272B2 (en) | Apparatus and method for generating efficient convolution | |
CN100573440C (zh) | 一种并行-串行乘加器 | |
US4598266A (en) | Modulo adder | |
Baghel et al. | FPGA implementation of Fast Block LMS adaptive filter using Distributed Arithmetic for high throughput | |
NL8601183A (nl) | Discrete cosinus transformatie-inrichting. | |
Lee et al. | A new hardware-efficient architecture for programmable FIR filters | |
JP7485396B2 (ja) | 内積計算装置 | |
Gardezi et al. | Design and VLSI Implementation of CSD based DA Architecture for 5/3 DWT | |
CN109740740A (zh) | 卷积计算的定点加速方法及装置 | |
Ye et al. | Static error analysis and optimization of faithfully truncated adders for area-power efficient FIR designs | |
CN111222090A (zh) | 卷积计算模块、神经网络处理器、芯片和电子设备 | |
US20200026998A1 (en) | Information processing apparatus for convolution operations in layers of convolutional neural network | |
TW202418064A (zh) | 內積計算裝置 | |
US11567731B2 (en) | Device for computing an inner product | |
KR20210126506A (ko) | 부동 소수점의 내적을 계산하는 컴퓨팅 유닛 아키텍쳐 및 그에 따른 방법 | |
Persson et al. | Forward and reverse converters and moduli set selection in signed-digit residue number systems | |
Mehendale et al. | DA-based circuits for inner-product computation | |
US4584563A (en) | Method of residue to analog conversion | |
Shirakol et al. | Architectural Design and Optimization of Distributed Arithmetic based 2-D Discrete Cosine Transform | |
US20240028665A1 (en) | Apparatus and method for computing a matrix vector product of a certain matrix and a vector | |
Muhammad et al. | A Computational Redundancy Reduction Approach for High performaice and Low Power DSP Algorithm Implementation | |
US4584562A (en) | Method of residue to analog conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231114 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20240122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240126 |
|
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: 20240409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240424 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7485396 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |