JP6324264B2 - 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 - Google Patents
三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 Download PDFInfo
- Publication number
- JP6324264B2 JP6324264B2 JP2014169635A JP2014169635A JP6324264B2 JP 6324264 B2 JP6324264 B2 JP 6324264B2 JP 2014169635 A JP2014169635 A JP 2014169635A JP 2014169635 A JP2014169635 A JP 2014169635A JP 6324264 B2 JP6324264 B2 JP 6324264B2
- Authority
- JP
- Japan
- Prior art keywords
- ternary
- data
- value
- ternary data
- multiplication
- 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
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/49—Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Logic Circuits (AREA)
Description
図1は、実施の形態1に係る画像認識装置(半導体装置)1を示す図である。
図1に示すように、画像認識装置1は、例えば車両に搭載され、ホストプロセッサ11と、画像認識用プロセッサ(三値内積演算回路)12と、メモリ13と、を少なくとも備える。
図2に示すように、まず、画像認識用プロセッサ12は、カメラ等によって取り込まれた画像を受け取る(ステップS101)。
図4に示すように、入力データ(特徴量データ等)は、N(Nは1以上の整数)個の三値データ(要素)からなるデータ配列Xで表される。また、ワード長はL(Lは2以上の整数)ビットである。ここでは、2N≦Lである場合について説明する。
図19は、関連技術の三値データ格納方法を示す図である。
図19に示すように、入力データは、N(Nは1以上の整数)個の三値データ(要素)からなるデータ配列Xで表される。また、ワード長はL(Lは2以上の整数)ビットである。
図6は、画像認識用プロセッサ12の構成を示すブロック図である。
図6に示すように、画像認識用プロセッサ12は、半導体基板上にCMOS製造プロセスを用いて形成され、メモリ13に記憶された入力データ(特徴量データ等)及び命令データに基づいて演算処理を実行して、演算結果(画像認識結果)を出力する。
図7は、三値乗算器123を示すブロック図である。ここでは、要素数N=8,ワード長L=16である場合について説明する。
次に、図9及図10を用いて、画像認識用プロセッサ12の動作について説明する。
図9は、三値内積演算処理に関するアセンブリプログラムである。
図10を参照すると、
1サイクル目にて、レジスタr0に
(+1,+1, 0, 0, 0,−1,−1,−1)
=(01,01,00,00,00,10,10,10)が格納され、
2サイクル目にて、レジスタr3に
(−1,+1,−1, 0,+1,−1, 0,+1)
=(10,01,10,00,01,10,00,01)が格納される。
(−1,+1, 0, 0, 0,+1, 0,−1)
=(10,01,00,00,00,01,00,10)となる。
(00,01,00,00,00,01,00,00)となる。
また、5サイクル目のビットマスク処理の結果は、
(10,00,00,00,00,00,00,10)となる。
図21は、関連技術の画像認識用プロセッサ52の構成を示すブロック図である。
図21に示すように、画像認識用プロセッサ52は、制御部521,ALU522と、を備える。また、制御部521は、複数のレジスタからなるレジスタ部524を有する。
次に、関連技術の画像認識用プロセッサ52の動作について説明する。図22は、関連技術の三値内積演算処理に関するアセンブリプログラムである。本例では、要素数N=128、ワード長L=16である場合について説明する。ここで、関連技術の構成では、上述のように1ワード当たり1つの三値データのみ格納される。
なお、画像認識用プロセッサ12及びそれを備えた画像認識装置1は、例えば、汎用的なコンピュータシステムにより実現可能である。以下、図11を用いて簡単に説明する。
続いて、画像認識装置1の他の適用事例について説明する。
図12は、画像認識装置1の適用事例を示す図である。
図13は、実施の形態2に係る画像認識用プロセッサ22を示すブロック図である。
図13に示すように、画像認識用プロセッサ22は、制御部221と、ALU222と、三値乗算器223と、三値用ビットカウンタ225と、を少なくとも備える。また、制御部221は、複数のレジスタからなるレジスタ部224を有する。なお、制御部221、ALU222、三値乗算器223及びレジスタ部224は、それぞれ、制御部121、ALU122、三値乗算器123及びレジスタ部124に対応する。
図14は、三値用ビットカウンタ225を示すブロック図である。ここでは、要素数N=8,ワード長L=16である場合について説明する。
次に、図15を用いて、画像認識用プロセッサ22の動作について説明する。
図15は、三値内積演算処理に関するアセンブリプログラムである。
図16は、実施の形態3に係る画像認識用プロセッサ32を示すブロック図である。
図16に示すように、画像認識用プロセッサ32は、制御部321と、ALU322と、三値乗算器323と、三値用ビットカウンタ(乗算結果処理部)325と、を少なくとも備える。また、制御部321は、複数のレジスタからなるレジスタ部324を有する。なお、制御部321、ALU322、三値乗算器323及びレジスタ部324は、それぞれ、制御部121、ALU122、三値乗算器123及びレジスタ部124に対応する。
図17は、三値用ビットカウンタ325を示すブロック図である。ここでは、要素数N=8,ワード長L=16である場合について説明する。
次に、図18を用いて、画像認識用プロセッサ32の動作について説明する。
図18は、三値内積演算処理に関するアセンブリプログラムである。
11 ホストプロセッサ
12 画像認識用プロセッサ
13 メモリ
121 制御部
122 ALU
123 三値乗算器
124 レジスタ部
3mul2b_0〜3mul2b_7 三値乗算回路
151,152,153 AND回路
154 OR回路
155 EXOR回路
22 画像認識用プロセッサ
221 制御部
222 ALU
223 三値乗算器
224 レジスタ部
225 三値用ビットカウンタ
32 画像認識用プロセッサ
321 制御部
322 ALU
323 三値乗算器
324 レジスタ部
325 三値用ビットカウンタ
BC1〜BC3 ビットカウント回路
SEL0〜SEL7 セレクタ
SUB1 減算回路
Claims (6)
- 第1ビットが第1値を示す場合に+1を表し、第2ビットが第1値を示す場合に−1を表し、前記第1及び前記第2ビットが何れも第2値を示す場合に0を表す、複数の2ビット幅の三値データを1つのワードに格納することで構成される第1及び第2入力データのそれぞれの複数の三値データ間の乗算を行う三値乗算部と、
前記三値乗算部の乗算結果を構成する複数の三値データのうち、+1を表す三値データの数、及び、−1を表す三値データの数、を選択的にカウントするカウンタと、を備え、
前記三値乗算部の乗算結果を構成する前記複数の三値データのうち前記カウンタによりカウントされた+1を表す前記三値データの数から−1を表す前記三値データの数を減算した数が内積演算結果として出力される、三値内積演算回路。 - 前記カウンタは、前記三値乗算部の乗算結果を構成する前記複数の三値データのうち第1ビットが第1値を示す三値データの数をカウントすることで、+1を表す前記三値データの数を特定するとともに、第2ビットが第1値を示す三値データの数をカウントすることで、−1を表す前記三値データの数を特定する、請求項1に記載の三値内積演算回路。
- 第1ビットが第1値を示す場合に+1を表し、第2ビットが第1値を示す場合に−1を表し、前記第1及び前記第2ビットが何れも第2値を示す場合に0を表す、複数の2ビット幅の三値データを1つのワードに格納することで構成される第1及び第2入力データのそれぞれの複数の三値データ間の乗算を行う三値乗算部と、
前記三値乗算部の乗算結果を構成する複数の三値データのうち+1を表す三値データの数から−1を表す三値データの数を減算した数を内積演算結果として出力する乗算結果処理部と、を備え、
前記乗算結果処理部は、
前記三値乗算部の乗算結果を構成する前記複数の三値データのうち+1を表す前記三値データの数をカウントする第1カウンタと、
前記三値乗算部の乗算結果を構成する前記複数の三値データのうち−1を表す前記三値データの数をカウントする第2カウンタと、
前記第1カウンタのカウント結果から前記第2カウンタのカウント結果を減算する減算回路と、を有する、三値内積演算回路。 - 前記第1カウンタは、前記三値乗算部の乗算結果を構成する前記複数の三値データのうち第1ビットが第1値を示す三値データの数をカウントすることで、+1を表す前記三値データの数を特定し、
前記第2カウンタは、前記三値乗算部の乗算結果を構成する前記複数の三値データのうち第2ビットが第1値を示す三値データの数をカウントすることで、−1を表す前記三値データの数を特定する、請求項3に記載の三値内積演算回路。 - 第1ビットが第1値を示す場合に+1を表し、第2ビットが第1値を示す場合に−1を表し、前記第1及び前記第2ビットが何れも第2値を示す場合に0を表す、複数の2ビット幅の三値データを1つのワードに格納することで構成される第1及び第2入力データのそれぞれの複数の三値データ間の乗算を行う乗算処理と、
前記乗算処理による乗算結果を構成する複数の三値データのうち+1を表す三値データの数をカウントする第1カウント処理と、
前記乗算処理による乗算結果を構成する複数の三値データのうち−1を表す三値データの数をカウントする第2カウント処理と、
+1を表す前記三値データの数から−1を表す前記三値データの数を減算する減算処理と、をコンピュータに実行させる三値内積演算処理プログラムであって、
前記第1カウント処理は、前記乗算結果を構成する前記複数の三値データのうち第1ビットが第1値を示す三値データの数をカウントすることで、+1を表す前記三値データの数を特定し、
前記第2カウント処理は、前記乗算結果を構成する前記複数の三値データのうち第2ビットが第1値を示す三値データの数をカウントすることで、−1を表す前記三値データの数を特定する、三値内積演算処理プログラム。 - 第1ビットが第1値を示す場合に+1を表し、第2ビットが第1値を示す場合に−1を表し、前記第1及び前記第2ビットが何れも第2値を示す場合に0を表す、複数の2ビット幅の三値データを1つのワードに格納することで構成される第1及び第2入力データのそれぞれの複数の三値データ間の乗算を行い、
前記乗算の結果を構成する複数の三値データのうち+1を表す三値データの数を、第1カウンタを用いてカウントし、
前記乗算の結果を構成する複数の三値データのうち−1を表す三値データの数を、第2カウンタを用いてカウントし、
前記第1カウンタのカウント結果から前記第2カウンタのカウント結果を減算することにより、前記乗算の結果を構成する前記複数の三値データのうち+1を表す三値データの数から−1を表す三値データの数を減算した数である内積演算結果を出力する、
三値内積演算回路による演算処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014169635A JP6324264B2 (ja) | 2014-08-22 | 2014-08-22 | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 |
US14/797,104 US10133552B2 (en) | 2014-08-22 | 2015-07-11 | Data storage method, ternary inner product operation circuit, semiconductor device including the same, and ternary inner product arithmetic processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014169635A JP6324264B2 (ja) | 2014-08-22 | 2014-08-22 | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016045721A JP2016045721A (ja) | 2016-04-04 |
JP6324264B2 true JP6324264B2 (ja) | 2018-05-16 |
Family
ID=55348372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014169635A Active JP6324264B2 (ja) | 2014-08-22 | 2014-08-22 | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10133552B2 (ja) |
JP (1) | JP6324264B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6324264B2 (ja) * | 2014-08-22 | 2018-05-16 | ルネサスエレクトロニクス株式会社 | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 |
CN108363559B (zh) * | 2018-02-13 | 2022-09-27 | 北京旷视科技有限公司 | 神经网络的乘法处理方法、设备和计算机可读介质 |
CN111555751A (zh) * | 2020-06-02 | 2020-08-18 | 杭州电子科技大学 | 基于忆阻器的三值异或和同或逻辑门电路 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593550A (ja) * | 1982-06-30 | 1984-01-10 | Yokogawa Hokushin Electric Corp | 演算処理装置 |
FR2536879A1 (fr) * | 1982-11-26 | 1984-06-01 | Efcis | Multiplieur binaire rapide |
JPH01195574A (ja) * | 1988-01-29 | 1989-08-07 | Nec Corp | ディジタル信号処理装置 |
JP3053512B2 (ja) * | 1993-09-22 | 2000-06-19 | 三菱電機株式会社 | 画像処理装置 |
JP3421933B2 (ja) * | 1994-10-31 | 2003-06-30 | 弘之 河▲崎▼ | 演算処理装置及び電子計算機 |
US5931893A (en) * | 1997-11-11 | 1999-08-03 | Ericsson, Inc. | Efficient correlation over a sliding window |
US6232894B1 (en) * | 1998-05-15 | 2001-05-15 | Kokochi Sangyo Co., Ltd. | Reproducible data conversion and/or compression method of digital signals and a data converter and a digital computer |
JP2001265779A (ja) * | 2000-03-16 | 2001-09-28 | Hitachi Ltd | 音響検索方法 |
JP3418595B2 (ja) | 2000-06-29 | 2003-06-23 | 新日本無線株式会社 | 三値ディジタル回路 |
EP1617324B1 (en) * | 2004-07-13 | 2007-09-12 | STMicroelectronics S.r.l. | System for digital signal processing using the CSD representation |
US7562106B2 (en) * | 2004-08-07 | 2009-07-14 | Ternarylogic Llc | Multi-value digital calculating circuits, including multipliers |
JP6055391B2 (ja) * | 2012-11-05 | 2016-12-27 | 株式会社デンソーアイティーラボラトリ | 関連性判定装置、関連性判定プログラム、及び関連性判定方法 |
JP6324264B2 (ja) * | 2014-08-22 | 2018-05-16 | ルネサスエレクトロニクス株式会社 | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 |
-
2014
- 2014-08-22 JP JP2014169635A patent/JP6324264B2/ja active Active
-
2015
- 2015-07-11 US US14/797,104 patent/US10133552B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160054979A1 (en) | 2016-02-25 |
JP2016045721A (ja) | 2016-04-04 |
US10133552B2 (en) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110036368B (zh) | 用于执行算术运算以累加浮点数的装置及方法 | |
CN107729989B (zh) | 一种用于执行人工神经网络正向运算的装置及方法 | |
WO2018139266A1 (ja) | 演算処理装置、情報処理装置、方法、およびプログラム | |
JP6225687B2 (ja) | データ処理装置、およびデータ処理方法 | |
TW201104569A (en) | Microprocessors and methods for executing instruction | |
Li et al. | Accelerating binarized neural networks via bit-tensor-cores in turing gpus | |
CN111767986A (zh) | 一种基于神经网络的运算方法及装置 | |
EP3340067A1 (en) | Median determination | |
JP6324264B2 (ja) | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 | |
Venkatachalam et al. | Approximate sum-of-products designs based on distributed arithmetic | |
CN107851007B (zh) | 宽数据类型的比较的方法和装置 | |
CN111936965A (zh) | 随机舍入逻辑 | |
US9170771B2 (en) | Residue-based error detection for a processor execution unit that supports vector operations | |
CN108364298B (zh) | 用于将像素识别为局部极值点的方法和布置 | |
US20220044090A1 (en) | Computing device using sparsity data and operating method thereof | |
JP6925823B2 (ja) | データを抽出する装置及び方法 | |
WO2019023910A1 (zh) | 数据处理方法和设备 | |
Ranjbar et al. | Using stochastic architectures for edge detection algorithms | |
Gaihua et al. | Instance segmentation convolutional neural network based on multi-scale attention mechanism | |
CN115344826A (zh) | 计算装置、操作方法和机器可读存储介质 | |
US10180826B2 (en) | Estimation of bit widths of variables based on liveness | |
CN110852202A (zh) | 一种视频分割方法及装置、计算设备、存储介质 | |
CN110908714A (zh) | 算术逻辑单元、数据处理系统、方法和模块 | |
CN116994002B (zh) | 一种图像特征提取方法、装置、设备及存储介质 | |
CN116610362B (zh) | 一种处理器指令集译码方法、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170524 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180314 |
|
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: 20180403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180410 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6324264 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |