JP7038608B2 - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP7038608B2 JP7038608B2 JP2018114861A JP2018114861A JP7038608B2 JP 7038608 B2 JP7038608 B2 JP 7038608B2 JP 2018114861 A JP2018114861 A JP 2018114861A JP 2018114861 A JP2018114861 A JP 2018114861A JP 7038608 B2 JP7038608 B2 JP 7038608B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- arithmetic
- output
- processing
- sequentially
- 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
Images
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/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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Microcomputers (AREA)
Description
図1は、実施の形態1にかかる半導体装置1が搭載された半導体システムSYS1の構成例を示すブロック図である。本実施の形態にかかる半導体装置1は、並列に演算処理を行う並列演算器を有するアクセラレータと、データ授受を逐次行う動的再構成プロセッサ等のデータ処理部と、アクセラレータによる複数の演算処理結果を順番に選択してデータ処理部に対して逐次出力するデータ転送部と、を備える。それにより、本実施の形態にかかる半導体装置1及びそれを備えた半導体システムSYS1は、大量の規則的なデータ処理についてはアクセラレータを用いて行い、かつ、それ以外のデータ処理についてはデータ処理部を用いて行うことができるため、効率の良い演算処理を実現することができる。以下、具体的に説明する。
図2の例では、DRP11は、4チャネルの64ビット幅のデータDQoutをデータDQout_0~DQout_3として出力している。なお、当然ながら、DRP11は、4チャネルのデータDQout_0~DQout_3を出力する場合に限られず、任意のチャネル数及び任意のビット幅の少なくも何れかのデータを出力する構成に適宜変更可能である。
つまり、並列演算器MAC256_0は、64ビット幅(16ビット幅×4組)のデータDPin_0に対して演算処理を実行して、最大で64個の16ビット幅の演算処理結果を4組分、データDPout_0として出力する。
図6は、半導体システムSYS1の処理の流れを示すタイミングチャートである。
図7は、行列演算式を模式的に示した図である。図7の例では、k行×m列の要素からなる行列データInと、m行×n列の要素からなる行列データWと、の乗算を行い、その乗算結果の各要素に対してバイアス値bを加算した結果を、k行×n列の要素からなる行列データOutとして出力している。
図10の例では、並列演算部121に設けられた複数の演算器のうち20個の演算器121_0~121_19が使用されている。各演算器121_0~121_19は、乗算器MX1と、加算器AD1と、レジスタRG1と、レジスタRG2と、を有する。
図14に示すように、アクセラレータ52では、各演算器121_0~121_19が、乗算器MX1、加算器AD1、レジスタRG1、加算器AD2、演算器TN1及び乗算器MX2を備えている。つまり、アクセラレータ52では、アクセラレータ12の場合にはDRP11に設けられていた加算器AD2、演算器TN1及び乗算器MX2を、各演算器121_0~121_19が備えている。
続いて、並列演算部121に設けられた複数の演算器の具体的な構成例を説明する。
図15は、並列演算器MAC64_0の具体的な構成例を示す図である。図15に示すように、並列演算器MAC64_0は、並列に演算処理を行う64個の演算器121_0~121_63を備える。各演算器121_0~121_63は、乗算器MX1、加算器AD1、レジスタRG1、及び、レジスタRG2を備える。ここで、各演算器121_0~121_63における乗算器MX1、加算器AD1、レジスタRG1、及び、レジスタRG2のパスは、16ビット幅のデータに対して所定の演算処理を施して16ビット幅のデータを出力する。
図16は、並列演算器MAC64_0の第1の変形例を並列演算器MAC64a_0として示す図である。図16に示すように、並列演算器MAC64a_0は、64個の演算器121a_0~121a_63を備える。各演算器121a_0~121a_63は、セレクタSL1、乗算器MX1、加算器AD1、レジスタRG1、及び、レジスタRG2を有する。
図17は、並列演算器MAC64_0の第2の変形例を並列演算器MAC64b_0として示す図である。図17に示すように、並列演算器MAC64b_0は、64個の演算器121b_0~121b_63を備える。各演算器121b_0~121b_63は、セレクタSL1、加算器AD1、減算器SB1、セレクタSL2、レジスタRG1、及び、レジスタRG2を有する。
図18は、並列演算器MAC64_0の第3の変形例を並列演算器MAC64c_0として示す図である。図18に示すように、並列演算器MAC64c_0は、64個の演算器121c_0~121c_63を備える。各演算器121c_0~121c_63は、データ転送部13からの16個の1ビットデータと、ローカルメモリ122から読み出された16個の1ビットデータと、の間の演算処理を1ビット単位で行うものである。
図19は、並列演算器MAC64_0の第4の変形例を並列演算器MAC64d_0として示す図である。図19に示すように、並列演算器MAC64d_0は、64個の演算器121d_0~121d_63を備える。各演算器121d_0~121d_63は、否定排他的論和(XNOR)回路XNR1、ポップカウンタCNT1、加算器AD1、レジスタRG1、及び、レジスタRG2を有する。
図20は、並列演算器MAC64_0の第5の変形例を並列演算器MAC64e_0として示す図である。並列演算器MAC64e_0は、64個の演算器121e_0~121e_63を備える。
図21は、並列演算器MAC64_0の第6の変形例を並列演算器MAC64f_0として示す図である。並列演算器MAC64f_0は、64個の演算器121e_0~121e_63を備える。
続いて、データ転送部13によるDRP11からアクセラレータ12へのデータ転送の例について説明する。以下では、DRP11からデータ転送部13を介してアクセラレータ12にデータが入力される動作のモード(以下、入力モードと称す)に応じた、データ転送部13によるデータ転送の例について説明する。
続いて、データ転送部14によるアクセラレータ12からDRP11へのデータ転送の例について説明する。以下では、アクセラレータ12からデータ転送部14を介してDRP11に向けてデータが出力される動作のモード(以下、出力モードと称す)に応じた、データ転送部14によるデータ転送の例について説明する。なお、後述するデータDPout_00~DPout_03によってデータDPout_0が構成されている。
図40は、実施の形態2にかかる半導体装置1aが搭載された半導体システムSYS1aの構成例を示すブロック図である。図40に示す半導体装置1aは、図1に示す半導体装置1と比較して、DRP11に代えてDRP11aを備える。
逐次入力される第1入力データに対してデータ処理を行うとともに、データ処理の結果を第1出力データとして逐次出力するデータ処理部と、
前記データ処理部から逐次出力される前記第1出力データと、複数の所定データのそれぞれと、の間で並列に演算処理を行う並列演算器、及び、それらの演算処理結果を保持する保持回路、を有するアクセラレータと、
前記アクセラレータによって保持された複数の演算処理結果を順番に選択して前記第1入力データとして逐次出力する第1データ転送部と、
を備えた、半導体装置。
前記データ処理部は、
逐次与えられる動作命令に基づいて動的に再構成可能なプロセッサである、
付記1に記載の半導体装置。
付記1に記載の半導体装置と、
外部メモリと、
前記外部メモリから読み出された制御命令に基づいて前記半導体装置の動作を制御する制御部と、
を備えた、半導体システム。
2 CPU
3 外部メモリ
11 DRP
12 アクセラレータ
13 データ転送部
14 データ転送部
15 DMA
111,112 状態管理部
121 並列演算部
121_0~121_63 並列演算器
122 ローカルメモリ
131 選択回路
141 選択回路
AD1 加算器
AD2 加算器
MX1 乗算器
MAC64_0~MAC64_3 並列演算器
MAC256_0~MAC256_3 並列演算器
MX2 乗算器
RG1 レジスタ
RG2 レジスタ
SYS1 半導体システム
TN1 双曲線正接関数の演算器
Claims (11)
- ニューラルネットワークの演算処理に用いられる半導体装置であって、
逐次入力される第1入力データに対してデータ処理を行うとともに、データ処理の結果を第1出力データとして逐次出力するデータ処理部と、
前記データ処理部から逐次出力される前記第1出力データと、複数の所定データのそれぞれと、の間で並列に演算処理を行う並列演算器、及び、それらの演算処理結果を保持する保持回路、を有するアクセラレータと、
前記アクセラレータによって保持された複数の演算処理結果を順番に選択して前記第1入力データとして逐次出力する第1データ転送部と、
を備え、
前記ニューラルネットワークにおける演算処理のうち、規則的な並列積和演算処理を、前記アクセラレータが実行するように構成され、且つ、それ以外の演算処理を、回路を動的に再構成可能な前記データ処理部が実行するように構成され、
前記第1データ転送部は、
レジスタ設定によって固定的に指定され、又は、ディスクリプタに含まれるモード情報によってディスクリプタ毎に指定される出力モードが、第1出力モードである場合には、前記並列演算器を構成する複数の演算器のうち、第1演算器群としてグループ化された複数の演算器による演算処理結果を順番に選択して前記第1入力データとして逐次出力するように構成され、且つ、前記並列演算器を構成する複数の演算器のうち、前記第1演算器群とは異なる第2演算器群としてグループ化された複数の演算器による演算処理結果を順番に選択して第2入力データとして逐次出力するように構成され、
前記出力モードが第2出力モードである場合には、前記並列演算器を構成する複数の演算器のうち、前記第1演算器群としてグループ化された複数の演算器による演算処理結果、及び、前記第2演算器群としてグループ化された複数の演算器による演算処理結果を、順番に選択して前記第1入力データとして逐次出力するように構成され、
前記データ処理部は、
前記第1データ転送部の前記出力モードが前記第1出力モードである場合には、前記第1入力データに対するデータ処理と並行して、前記第2入力データに対してデータ処理を行って、当該第2入力データに対するデータ処理の結果を第2出力データとして逐次出力するように構成されている、
半導体装置。 - 前記第1データ転送部は、
前記出力モードが前記第1出力モードである場合、前記データ処理部の処理速度に対する前記アクセラレータの処理速度に応じて、前記第1演算器群による複数の演算処理結果を順番に選択して前記第1入力データとして逐次出力し、且つ、前記第2演算器群による複数の演算処理結果を順番に選択して前記第2入力データとして逐次出力するか、前記第1演算器群による複数の演算処理結果を2つ以上ずつ纏めて順番に選択して前記第1入力データとして逐次出力し、且つ、前記第2演算器群による複数の演算処理結果を2つ以上ずつ纏めて順番に選択して前記第2入力データとして逐次出力するか、を切り替え可能に構成され、
前記出力モードが前記第2出力モードである場合、前記データ処理部の処理速度に対する前記アクセラレータの処理速度に応じて、前記第1演算器群による複数の演算処理結果、及び、前記第2演算器群による複数の演算処理結果を、順番に選択して前記第1入力データとして逐次出力するか、前記第1演算器群による複数の演算処理結果を2つ以上ずつ纏め、且つ、前記第2演算器群による複数の演算処理結果を2つ以上ずつ纏めて、順番に選択して前記第1入力データとして逐次出力するか、を切り替え可能に構成されている、
請求項1に記載の半導体装置。 - ニューラルネットワークの演算処理に用いられる半導体装置であって、
逐次入力される第1入力データに対してデータ処理を行うとともに、データ処理の結果を第1出力データとして逐次出力するデータ処理部と、
前記データ処理部から逐次出力される前記第1出力データと、複数の所定データのそれぞれと、の間で並列に演算処理を行う並列演算器、及び、それらの演算処理結果を保持する保持回路、を有するアクセラレータと、
前記アクセラレータによって保持された複数の演算処理結果を順番に選択して前記第1入力データとして逐次出力する第1データ転送部と、
を備え、
前記ニューラルネットワークにおける演算処理のうち、規則的な並列積和演算処理を、前記アクセラレータが実行するように構成され、且つ、それ以外の演算処理を、回路を動的に再構成可能な前記データ処理部が実行するように構成され、
前記第1データ転送部は、
レジスタ設定によって固定的に指定され、又は、ディスクリプタに含まれるモード情報によってディスクリプタ毎に指定される出力モードが、第1出力モードである場合には、前記並列演算器を構成する複数の演算器のうち、第1演算器群としてグループ化された複数の演算器による演算処理結果を順番に選択して前記第1入力データとして逐次出力するように構成され、且つ、前記並列演算器を構成する複数の演算器のうち、前記第1演算器群とは異なる第2演算器群としてグループ化された複数の演算器による演算処理結果を順番に選択して第2入力データとして逐次出力するように構成され、且つ、前記並列演算器を構成する複数の演算器のうち、前記第1演算器群及び前記第2演算器群とは異なる第3演算器群としてグループ化された複数の演算器による演算処理結果を順番に選択して第3入力データとして逐次出力するように構成され、
前記出力モードが第2出力モードである場合には、前記並列演算器を構成する複数の演算器のうち、前記第1演算器群としてグループ化された複数の演算器による演算処理結果、前記第2演算器群としてグループ化された複数の演算器による演算処理結果、及び、前記第3演算器群としてグループ化された複数の演算器による演算処理結果を、順番に選択して前記第1入力データとして逐次出力するように構成され、
前記データ処理部は、
前記第1データ転送部の前記出力モードが前記第1出力モードである場合には、前記第1入力データに対するデータ処理と並行して、前記第2入力データに対してデータ処理を行って、当該第2入力データに対するデータ処理の結果を第2出力データとして逐次出力すると共に、前記第3入力データに対してデータ処理を行って、当該第3入力データに対するデータ処理の結果を第3出力データとして逐次出力するように構成されている、
半導体装置。 - 前記第1データ転送部は、
前記出力モードが前記第1出力モードである場合、前記データ処理部の処理速度に対する前記アクセラレータの処理速度に応じて、前記第1演算器群による複数の演算処理結果を順番に選択して前記第1入力データとして逐次出力し、且つ、前記第2演算器群による複数の演算処理結果を順番に選択して前記第2入力データとして逐次出力し、且つ、前記第3演算器群による複数の演算処理結果を順番に選択して前記第3入力データとして逐次出力するか、前記第1演算器群による複数の演算処理結果を2つ以上ずつ纏めて順番に選択して前記第1入力データとして逐次出力し、且つ、前記第2演算器群による複数の演算処理結果を2つ以上ずつ纏めて順番に選択して前記第2入力データとして逐次出力し、且つ、前記第3演算器群による複数の演算処理結果を2つ以上ずつ纏めて順番に選択して前記第3入力データとして逐次出力するか、を切り替え可能に構成され、
前記出力モードが前記第2出力モードである場合、前記データ処理部の処理速度に対する前記アクセラレータの処理速度に応じて、前記第1演算器群による複数の演算処理結果、前記第2演算器群による複数の演算処理結果、及び、前記第3演算器群による複数の演算処理結果を、順番に選択して前記第1入力データとして逐次出力するか、前記第1演算器群による複数の演算処理結果を2つ以上ずつ纏め、且つ、前記第2演算器群による複数の演算処理結果を2つ以上ずつ纏め、且つ、前記第3演算器群による複数の演算処理結果を2つ以上ずつ纏めて、順番に選択して前記第1入力データとして逐次出力するか、を切り替え可能に構成されている、
請求項3に記載の半導体装置。 - 第2データ転送部をさらに備え、
前記第2データ転送部は、前記第1演算器群としてグループ化された複数の演算器に対して前記第1出力データを出力するように構成され、且つ、前記データ処理部から前記第2出力データが出力された場合には、前記第2演算器群としてグループ化された複数の演算器に対して前記第2出力データを出力するように構成されている、
請求項1に記載の半導体装置。 - 第2データ転送部をさらに備え、
前記第2データ転送部は、レジスタ設定によって固定的に指定され、又は、ディスクリプタに含まれるモード情報によってディスクリプタ毎に指定される入力モードに応じて、前記第1演算器群としてグループ化された複数の演算器に対して前記第1出力データの一部を出力し、且つ、前記第2演算器群としてグループ化された複数の演算器に対して前記第1出力データの残りを出力するか、又は、前記データ処理部から前記第2出力データが出力された場合において、前記第1演算器群としてグループ化された複数の演算器に対して前記第1出力データを出力し、且つ、前記第2演算器群としてグループ化された複数の演算器に対して前記第2出力データを出力するか、を切り替え可能に構成されている、
請求項1に記載の半導体装置。 - 第2データ転送部をさらに備え、
前記第2データ転送部は、レジスタ設定によって固定的に指定され、又は、ディスクリプタに含まれるモード情報によってディスクリプタ毎に指定される入力モードに応じて、前記第1出力データを前記第1演算器群に対して出力し、且つ、前記第2出力データを前記第2演算器群に対して出力するか、又は、前記第1出力データ及び前記第2出力データを順番に選択して前記第1演算器群に対して出力すると共に、前記第1出力データ及び前記第2出力データを順番に選択して前記第2演算器群に対しても出力するか、を切り替え可能に構成されている、
請求項1に記載の半導体装置。 - 第2データ転送部をさらに備え、
前記第2データ転送部は、前記データ処理部の処理速度に対する前記アクセラレータの処理速度に基づいて、前記第1出力データを前記第1演算器群に対して出力し、且つ、前記第2出力データを前記第2演算器群に対して出力するか、又は、前記第1出力データ及び前記第2出力データを順番に選択して前記第1演算器群に対して出力すると共に、前記第1出力データ及び前記第2出力データを順番に選択して前記第2演算器群に対しても出力するか、を切り替え可能に構成されている、
請求項1に記載の半導体装置。 - 前記アクセラレータは、
前記複数の所定データが格納されるローカルメモリをさらに有する、
請求項1に記載の半導体装置。 - 前記並列演算器を構成する複数の演算器のうち、第1演算器群としてグループ化された複数の演算器、及び、第2演算器群としてグループ化された複数の演算器には、前記ローカルメモリから読み出された共通の前記複数の所定データが供給される、
請求項9に記載の半導体装置。 - 前記並列演算器を構成する複数の演算器のうち、第1演算器群としてグループ化された複数の演算器、及び、第2演算器群としてグループ化された複数の演算器には、前記ローカルメモリから読み出されたそれぞれ異なる前記複数の所定データが供給される、
請求項9に記載の半導体装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018114861A JP7038608B2 (ja) | 2018-06-15 | 2018-06-15 | 半導体装置 |
US16/410,825 US11249722B2 (en) | 2018-06-15 | 2019-05-13 | Semiconductor device and method of controlling the semiconductor device |
CN201910453550.1A CN110609804A (zh) | 2018-06-15 | 2019-05-28 | 半导体器件和控制半导体器件的方法 |
US17/569,135 US11907681B2 (en) | 2018-06-15 | 2022-01-05 | Semiconductor device and method of controlling the semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018114861A JP7038608B2 (ja) | 2018-06-15 | 2018-06-15 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019219753A JP2019219753A (ja) | 2019-12-26 |
JP7038608B2 true JP7038608B2 (ja) | 2022-03-18 |
Family
ID=68839294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018114861A Active JP7038608B2 (ja) | 2018-06-15 | 2018-06-15 | 半導体装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11249722B2 (ja) |
JP (1) | JP7038608B2 (ja) |
CN (1) | CN110609804A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7370158B2 (ja) * | 2019-04-03 | 2023-10-27 | 株式会社Preferred Networks | 情報処理装置および情報処理方法 |
DE112022003426T5 (de) * | 2021-09-09 | 2024-05-02 | Rohm Co., Ltd. | Maschinenlernvorrichtung |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001312481A (ja) | 2000-02-25 | 2001-11-09 | Nec Corp | アレイ型プロセッサ |
JP2011524049A (ja) | 2008-06-04 | 2011-08-25 | エヌイーシー ラボラトリーズ アメリカ インク | 超並列アクセラレータを使用して学習機械の訓練と分類とを並列化し高速化するシステム及び方法 |
JP2017021483A (ja) | 2015-07-08 | 2017-01-26 | 株式会社デンソー | 演算処理装置 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994010638A1 (en) * | 1992-11-05 | 1994-05-11 | The Commonwealth Of Australia | Scalable dimensionless array |
JP3426223B2 (ja) * | 2000-09-27 | 2003-07-14 | 株式会社ソニー・コンピュータエンタテインメント | マルチプロセッサシステム、データ処理システム、データ処理方法、コンピュータプログラム |
US7406573B2 (en) * | 2002-05-09 | 2008-07-29 | Src Computers, Inc. | Reconfigurable processor element utilizing both coarse and fine grained reconfigurable elements |
US20130111188A9 (en) * | 2003-07-24 | 2013-05-02 | Martin Vorbach | Low latency massive parallel data processing device |
JP2005122303A (ja) * | 2003-10-14 | 2005-05-12 | Seiko Epson Corp | データ転送制御装置、電子機器及びデータ転送制御方法 |
JP4485272B2 (ja) * | 2004-06-30 | 2010-06-16 | 富士通マイクロエレクトロニクス株式会社 | 半導体装置 |
US7680962B2 (en) * | 2004-12-22 | 2010-03-16 | Nec Electronics Corporation | Stream processor and information processing apparatus |
JP4753895B2 (ja) * | 2007-02-20 | 2011-08-24 | ルネサスエレクトロニクス株式会社 | 遅延調整回路を有するアレイ型プロセッサ |
KR101098758B1 (ko) * | 2007-09-20 | 2011-12-26 | 서울대학교산학협력단 | Fp-ra를 구성하는 pe 구조 및 그 fp-ra제어하는 fp-ra 제어 회로 |
JP5197389B2 (ja) * | 2009-01-07 | 2013-05-15 | 三菱電機株式会社 | 動的再構成可能な積和演算装置および動的再構成可能プロセッサ |
JP2010206513A (ja) * | 2009-03-03 | 2010-09-16 | Renesas Electronics Corp | 半導体装置 |
JP5785357B2 (ja) * | 2009-06-25 | 2015-09-30 | スパンション エルエルシー | リコンフィグ演算装置を備えるコンピュータシステムおよびリコンフィグ演算装置 |
JP2014016894A (ja) * | 2012-07-10 | 2014-01-30 | Renesas Electronics Corp | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム |
JP6266308B2 (ja) * | 2013-11-07 | 2018-01-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9747546B2 (en) * | 2015-05-21 | 2017-08-29 | Google Inc. | Neural network processor |
US10037192B2 (en) * | 2015-10-21 | 2018-07-31 | Altera Corporation | Methods and apparatus for performing product series operations in multiplier accumulator blocks |
US10936941B2 (en) * | 2016-08-12 | 2021-03-02 | Xilinx, Inc. | Efficient data access control device for neural network hardware acceleration system |
US20180046903A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Deep processing unit (dpu) for implementing an artificial neural network (ann) |
JP6907487B2 (ja) * | 2016-09-09 | 2021-07-21 | 富士通株式会社 | 並列処理装置、並列処理装置の制御方法、及び並列処理装置に用いられる制御装置 |
JP6859642B2 (ja) * | 2016-09-23 | 2021-04-14 | カシオ計算機株式会社 | 制御装置、電子時計、処理制御方法、及びプログラム |
JP6945986B2 (ja) * | 2016-10-28 | 2021-10-06 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
US11003985B2 (en) * | 2016-11-07 | 2021-05-11 | Electronics And Telecommunications Research Institute | Convolutional neural network system and operation method thereof |
US10032110B2 (en) * | 2016-12-13 | 2018-07-24 | Google Llc | Performing average pooling in hardware |
CN107679621B (zh) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | 人工神经网络处理装置 |
US10671349B2 (en) * | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US10872290B2 (en) * | 2017-09-21 | 2020-12-22 | Raytheon Company | Neural network processor with direct memory access and hardware acceleration circuits |
CN108197705A (zh) * | 2017-12-29 | 2018-06-22 | 国民技术股份有限公司 | 卷积神经网络硬件加速装置及卷积计算方法及存储介质 |
US10459876B2 (en) * | 2018-01-31 | 2019-10-29 | Amazon Technologies, Inc. | Performing concurrent operations in a processing element |
US10824584B1 (en) * | 2018-04-03 | 2020-11-03 | Xilinx, Inc. | Device with data processing engine array that enables partial reconfiguration |
US20190340490A1 (en) * | 2018-05-04 | 2019-11-07 | Apple Inc. | Systems and methods for assigning tasks in a neural network processor |
US10817260B1 (en) * | 2018-06-13 | 2020-10-27 | Amazon Technologies, Inc. | Reducing dynamic power consumption in arrays |
US10698842B1 (en) * | 2019-04-10 | 2020-06-30 | Xilinx, Inc. | Domain assist processor-peer for coherent acceleration |
-
2018
- 2018-06-15 JP JP2018114861A patent/JP7038608B2/ja active Active
-
2019
- 2019-05-13 US US16/410,825 patent/US11249722B2/en active Active
- 2019-05-28 CN CN201910453550.1A patent/CN110609804A/zh active Pending
-
2022
- 2022-01-05 US US17/569,135 patent/US11907681B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001312481A (ja) | 2000-02-25 | 2001-11-09 | Nec Corp | アレイ型プロセッサ |
JP2011524049A (ja) | 2008-06-04 | 2011-08-25 | エヌイーシー ラボラトリーズ アメリカ インク | 超並列アクセラレータを使用して学習機械の訓練と分類とを並列化し高速化するシステム及び方法 |
JP2017021483A (ja) | 2015-07-08 | 2017-01-26 | 株式会社デンソー | 演算処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US11249722B2 (en) | 2022-02-15 |
US20190384574A1 (en) | 2019-12-19 |
US11907681B2 (en) | 2024-02-20 |
JP2019219753A (ja) | 2019-12-26 |
US20220129247A1 (en) | 2022-04-28 |
CN110609804A (zh) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7454377B2 (ja) | データ処理装置における拡大算術計算 | |
KR101202445B1 (ko) | 프로세서 | |
JP5500652B2 (ja) | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 | |
GB2474901A (en) | Multiply-accumulate instruction which adds or subtracts based on a predicate value | |
US11907681B2 (en) | Semiconductor device and method of controlling the semiconductor device | |
KR102584031B1 (ko) | 데이터 처리장치에서의 요소 바이 벡터 연산 | |
JP2020508512A (ja) | データ処理装置における乗累算 | |
JP6003744B2 (ja) | 演算処理装置及び演算処理方法 | |
TWI808259B (zh) | 具有壓縮進位之數位電路 | |
JP7435602B2 (ja) | 演算装置および演算システム | |
WO2011036918A1 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
JP5193358B2 (ja) | 多項式データ処理演算 | |
US20220075598A1 (en) | Systems and Methods for Numerical Precision in Digital Multiplier Circuitry | |
JP6604393B2 (ja) | ベクトルプロセッサ、演算実行方法、プログラム | |
GB2523805A (en) | Data processing apparatus and method for performing vector scan operation | |
KR102447445B1 (ko) | 행렬 연산의 효율적 병렬처리를 위한 연산 장치 및 이를 포함하는 메모리 장치 | |
JP7078129B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP5760532B2 (ja) | プロセッサ装置及びその演算方法 | |
US20210117352A1 (en) | Semiconductor device and method of controlling the same | |
WO2024024755A1 (ja) | 演算処理装置 | |
CN110300956B (zh) | 数据处理装置中的乘-累加 | |
JP4107043B2 (ja) | 演算処理装置 | |
JP2010134713A (ja) | 演算処理装置および変換装置 | |
CN118312133A (en) | Karatuba-based ultra-high order binary polynomial multiplier | |
JP2022012624A (ja) | 半導体装置、それに用いるデータ生成方法およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211118 |
|
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: 20220208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220308 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7038608 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |