JP6225687B2 - データ処理装置、およびデータ処理方法 - Google Patents
データ処理装置、およびデータ処理方法 Download PDFInfo
- Publication number
- JP6225687B2 JP6225687B2 JP2013257371A JP2013257371A JP6225687B2 JP 6225687 B2 JP6225687 B2 JP 6225687B2 JP 2013257371 A JP2013257371 A JP 2013257371A JP 2013257371 A JP2013257371 A JP 2013257371A JP 6225687 B2 JP6225687 B2 JP 6225687B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- value
- data
- elements
- matrix
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 175
- 238000003672 processing method Methods 0.000 title claims description 14
- 239000011159 matrix material Substances 0.000 claims description 257
- 238000004364 calculation method Methods 0.000 claims description 117
- 238000006243 chemical reaction Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 35
- 238000010606 normalization Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 6
- 229940050561 matrix product Drugs 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 101150042088 UL16 gene Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
(データ処理方法の一実施例)
図1は、実施の形態1にかかるデータ処理方法の一実施例を示す説明図である。図1において、データ処理装置100は、ストリーム型処理を行うコンピュータである。ストリーム型処理とは、メモリから一連のデータ(配列型データ)を順次読み出して演算を行い、一連の演算結果をメモリに順次書き込む処理である。
つぎに、データ処理装置100が適用されるコンピュータシステム200のハードウェア構成例について説明する。コンピュータシステム200は、例えば、スマートフォン、携帯電話機、タブレット型PC(Personal Computer)、PHS(Personal Handy−phone System)などである。
つぎに、実施の形態1にかかるデータ処理装置100の機能的構成例について説明する。図3は、実施の形態1にかかるデータ処理装置100の機能的構成例を示す説明図である。図3において、データ処理装置100は、演算部301と、決定部302と、変換部303と、出力部304と、を含む構成である。具体的には、例えば、各機能部は、論理積回路であるAND、否定論理回路であるINVERTER、論理和回路であるOR、論理和否定回路であるNORや、ラッチ回路であるFF(Flip Flop)などの素子によって形成されてもよい。また、各機能部は、例えば、Verilog−HDL(Hardware Description Language)などの記述によって機能定義し、その記述を論理合成してFPGA(Field Programmable Gate Array)によって実現してもよい。また、各機能部は、例えば、図2に示したメモリ202に記憶されたプログラムをCPU201に実行させることにより、または、I/F203により、その機能を実現することにしてもよい。
つぎに、実施の形態1にかかるデータ処理装置100の決定部302および変換部303の具体的な処理内容について説明する。図4は、実施の形態1にかかるデータ処理装置100の決定部302および変換部303の具体的な処理内容の一例を示す説明図である。図4において、ソース(0)は、単位データが行列形式の配列型データである。a[0]〜a[L]は、ソース(0)に含まれる行列の各要素の値である。例えば、2×2の行列の場合、a[0]が1行1列の値となり、a[1]が1行2列の値となり、a[2]が2行1列の値となり、a[3]が2行2列の値となる。
図5は、データ処理装置100の回路構成例を示す説明図である。図5において、データ処理装置100は、演算器群501と、ストリーム単位ブロックシフト部502と、データ単位ブロック正規化部503と、を有する。演算器群501は、ソース(0)とソース(1)との行列演算を行う。ストリームデータZは、ソース(0)とソース(1)との間の行列演算結果の配列である。演算器群501は、例えば、図3に示した演算部301に相当する。
Z1=0x12a84cff
Z2=0x39c34cff
Z3=0x0b054cff
Z’1:f=0x2550、e=15
Z’2:f=0x7386、e=15
Z’3:f=0x160a、e=15
つぎに、仮数部ストリームと指数部ストリームとを含むストリームデータDの行列演算を行う際の演算部301の具体的な処理内容について説明する。
つぎに、ソース(0)とソース(1)との間で行列単位の指数値割り当てを行う22行列加算の具体的な処理内容について説明する。この場合、演算部301は、下記式(8)を用いて、指数部ストリーム(0)と指数部ストリーム(1)とのベクトル減算を行う。ただし、tmp_e0[i]はi番目の演算結果である。
…(11)
つぎに、ソース(0)で行列単位の指数値割り当てを行う22逆行列演算の具体的な処理内容について説明する。まず、演算部301は、下記式(12)を用いて、仮数部ストリーム(0)に含まれるi番目のデータの逆行列演算を行う。
…(12)
図6は、データ処理装置100のハードウェア構成例を示す説明図である。図6において、データ処理装置100は、ストリーム単位ブロックシフト部502と、データ単位ブロック正規化部503と、命令デコーダ601と、演算データパス602と、MUX(multiplexer)603と、DMA(Direct Memory Access)604と、命令メモリ605と、データメモリ606と、を含む。
つぎに、図6に示したDMA604の内部構成例について説明する。図7は、DMA604の内部構成例を示す説明図である。図7において、addr_src0は、ソース(0)が格納されたアドレスを示し、addr_src1はソース(1)が格納されたアドレスを示し、addr_dstはデスティネーションアドレスを示す。また、length_src0はソース(0)のストリーム長SLを示し、length_src1はソース(1)のストリーム長SLを示し、length_dstはデスティネーションのストリーム長SLを示す。
つぎに、データ処理装置100のデータ処理手順について説明する。
つぎに、実施の形態にかかるデータ処理装置100を、携帯電話機のベースバンド処理LSI(Large Scale Integrated circuit)に適用した場合について説明する。
つぎに、実施の形態2にかかるデータ処理装置100について説明する。なお、実施の形態1で説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
まず、実施の形態2にかかるデータ処理装置100の決定部302(図3参照)および変換部303(図3参照)の具体的な処理内容について説明する。
以下、実施の形態1,2にかかるデータ処理装置100の具体的な実施例について説明する。まず、データ処理装置100の実施例1について説明する。ただし、以下の説明では、特に指定する場合を除いて、データ処理幅Lを「L=16」とし、演算部301(図3参照)の行列演算により得られる一連の要素(配列型データ)を「要素c[0]〜c[15]」とする。
つぎに、データ処理装置100の実施例2について説明する。
つぎに、データ処理装置100の実施例3について説明する。実施例3では、データ処理装置100の回路量を抑えるために、DCLSSモードオンとDCLSSモードオフとでシフター1302を共有する場合について説明する。
つぎに、データ処理装置100の実施例4について説明する。実施例4では、要素c[0]〜c[15]に含まれる各要素が、整数ではなく、浮動小数点で表される場合であっても、適切に要素集合単位のシフト数sと各要素c[0]〜c[15]の指数値s0〜s15を出力可能なシフト数生成回路1301について説明する。
c[1]=(f1,e1) ・・・(15)
c[2]=(f2,e2) ・・・(16)
s1=s_max−e1 ・・・(19)
s2=s_max−e2 ・・・(20)
前記演算部の行列演算により得られる行列ごとに、前記行列に含まれる各要素の値に基づいて、前記各要素を浮動小数点で表す場合の行列単位の指数値を決定する決定部と、
前記各要素の値を、前記決定部によって決定された前記行列単位の指数値に対する前記各要素の仮数値に変換する変換部と、
前記変換部によって前記各要素の値が変換された変換後の行列と前記行列単位の指数値とを対応付けて出力する出力部と、
を有することを特徴とするデータ処理装置。
前記演算部の行列演算により得られる行列ごとに、前記行列に含まれる複数の要素のうちの絶対値が最大の要素を浮動小数点で表す場合の指数値を前記行列単位の指数値に決定することを特徴とする付記1に記載のデータ処理装置。
前記演算部は、
前記ストリームデータ間の行列加算演算を行う場合、前記ストリームデータ間の対応する第1および第2の指数値の差分に基づいて、前記ストリームデータ間の対応する第1および第2の行列のいずれか一方の行列に含まれる各要素の値をシフトして、前記ストリームデータ間の行列加算演算を行うことを特徴とする付記1または2に記載のデータ処理装置。
前記第2の指数値から前記第1の指数値を減算した値が正の場合は前記第1の行列を前記値に基づいてシフトし、前記値が負の場合は前記第2の行列を前記値に基づいてシフトすることを特徴とする付記3に記載のデータ処理装置。
前記演算部の行列演算により得られる一連の要素の先頭から、命令に対応する単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定し、
前記変換部は、
前記要素集合ごとに、前記要素集合に含まれる各要素の値を、前記決定部によって決定された要素集合単位の指数値に対する前記各要素の仮数値に変換し、
前記出力部は、
前記変換部によって変換された変換後の前記要素集合に含まれる各要素の値と、前記決定部によって決定された要素集合単位の指数値とを対応付けて出力することを特徴とする付記1〜4のいずれか一つに記載のデータ処理装置。
前記一連の要素に含まれる要素の総数を上限として取り得る要素数それぞれについて、前記一連の要素の先頭から要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定する決定回路と、
前記一連の要素に含まれる要素それぞれについて、前記決定回路によって前記要素数それぞれについて決定された要素集合単位の指数値の中から、命令に対応する単位データ長となる要素数の要素集合単位の指数値を選択する選択回路と、を含み、
前記変換部は、
前記一連の要素に含まれる要素それぞれについて、当該要素の値を、前記選択回路によって選択された要素集合単位の指数値に対する前記要素の仮数値に変換するシフト回路を含むことを特徴とする付記5に記載のデータ処理装置。
前記一連の要素に含まれる要素の総数を上限として取り得る2のべき乗の要素数それぞれについて、前記一連の要素の先頭から要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定する決定回路と、
前記一連の要素に含まれる要素それぞれについて、前記決定回路によって前記要素数それぞれについて決定された要素集合単位の指数値の中から、命令に対応する単位データ長となる要素数の要素集合単位の指数値を選択する選択回路と、を含み、
前記変換部は、
前記一連の要素に含まれる要素それぞれについて、当該要素の値を、前記選択回路によって選択された要素集合単位の指数値に対する前記要素の仮数値に変換することを特徴とする付記5に記載のデータ処理装置。
選択可能な第1のモードおよび第2のモードのうち、前記第1のモードが選択された場合は、前記単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値を、前記決定部によって決定された要素集合単位の指数値に対する前記各要素の仮数値に変換し、前記第2のモードが選択された場合は、前記一連の要素に含まれる各要素の値を、入力される一連の要素単位の指数値に対する前記各要素の仮数値に変換するシフト回路を含むことを特徴とする付記5〜7のいずれか一つに記載のデータ処理装置。
前記一連の要素に含まれる要素それぞれが浮動小数点で表される場合、前記一連の要素の先頭から、前記単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の指数値のうちの最大の指数値を要素集合単位の指数値に決定し、
前記変換部は、
前記要素集合ごとに、前記要素集合に含まれる各要素の仮数値を、前記最大の指数値から前記各要素の指数値を減算した減算後の指数値に対する前記各要素の仮数値に変換することを特徴とする付記5〜8のいずれか一つに記載のデータ処理装置。
単位データが行列形式のストリームデータ間の行列演算を行い、
前記ストリームデータ間の行列演算により得られる行列ごとに、前記行列に含まれる各要素の値に基づいて、前記各要素を浮動小数点で表す場合の行列単位の指数値を決定し、
前記各要素の値を前記行列単位の指数値に対する前記各要素の仮数値に変換し、
前記各要素の値が変換された変換後の行列と前記行列単位の指数値とを対応付けて出力する、
処理を実行することを特徴とするデータ処理方法。
単位データが行列形式のストリームデータ間の行列演算を行い、
前記ストリームデータ間の行列演算により得られる行列ごとに、前記行列に含まれる各要素の値に基づいて、前記各要素を浮動小数点で表す場合の行列単位の指数値を決定し、
前記各要素の値を前記行列単位の指数値に対する前記各要素の仮数値に変換し、
前記各要素の値が変換された変換後の行列と前記行列単位の指数値とを対応付けて出力する、
処理を実行させることを特徴とするデータ処理プログラム。
200 コンピュータシステム
301 演算部
302 決定部
303 変換部
304 出力部
1301 シフト数生成回路
1302 シフター
Claims (6)
- 単位データが行列形式のストリームデータ間の行列演算を行う場合に、演算対象となる一連の要素の先頭から、命令に対応する単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定する決定部と、
前記要素集合ごとに、前記要素集合に含まれる各要素の値を、前記決定部によって決定された要素集合単位の指数値に対する前記各要素の仮数値に変換する変換部と、
前記変換部によって変換された変換後の前記要素集合に含まれる各要素の値と、前記決定部によって決定された要素集合単位の指数値とを対応付けて出力する出力部と、
前記出力部によって出力された、前記変換部によって変換された変換後の前記要素集合に含まれる各要素の値と、前記決定部によって決定された要素集合単位の指数値とを含むストリームデータ間の行列演算を行う演算部と、を有し、
前記変換部は、
選択可能な第1のモードおよび第2のモードのうち、前記第1のモードが選択された場合は、前記単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値を、前記決定部によって決定された要素集合単位の指数値に対する前記各要素の仮数値に変換し、前記第2のモードが選択された場合は、前記一連の要素に含まれる各要素の値を、入力される一連の要素単位の指数値に対する前記各要素の仮数値に変換するシフト回路を含む、
ことを特徴とするデータ処理装置。 - 前記演算部は、
前記ストリームデータ間の行列加算演算を行う場合、前記ストリームデータ間の対応する第1および第2の指数値の差分に基づいて、前記ストリームデータ間の対応する第1および第2の要素集合のいずれか一方の要素集合に含まれる各要素の値をシフトして、前記ストリームデータ間の行列加算演算を行うことを特徴とする請求項1に記載のデータ処理装置。 - 前記決定部は、
前記一連の要素に含まれる要素の総数を上限として取り得る要素数それぞれについて、前記一連の要素の先頭から要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定する決定回路と、
前記一連の要素に含まれる要素それぞれについて、前記決定回路によって前記要素数それぞれについて決定された要素集合単位の指数値の中から、命令に対応する単位データ長となる要素数の要素集合単位の指数値を選択する選択回路と、を含み、
前記変換部は、
前記一連の要素に含まれる要素それぞれについて、当該要素の値を、前記選択回路によって選択された要素集合単位の指数値に対する前記要素の仮数値に変換するシフト回路を含むことを特徴とする請求項1または2に記載のデータ処理装置。 - 前記決定部は、
前記一連の要素に含まれる要素の総数を上限として取り得る2のべき乗の要素数それぞれについて、前記一連の要素の先頭から要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定する決定回路と、
前記一連の要素に含まれる要素それぞれについて、前記決定回路によって前記要素数それぞれについて決定された要素集合単位の指数値の中から、命令に対応する単位データ長となる要素数の要素集合単位の指数値を選択する選択回路と、を含み、
前記変換部は、
前記一連の要素に含まれる要素それぞれについて、当該要素の値を、前記選択回路によって選択された要素集合単位の指数値に対する前記要素の仮数値に変換することを特徴とする請求項1〜3のいずれか一つに記載のデータ処理装置。 - 前記決定部は、
前記一連の要素に含まれる要素それぞれが浮動小数点で表される場合、前記一連の要素の先頭から、前記単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の指数値のうちの最大の指数値を要素集合単位の指数値に決定し、
前記変換部は、
前記要素集合ごとに、前記要素集合に含まれる各要素の仮数値を、前記最大の指数値から前記各要素の指数値を減算した減算後の指数値に対する前記各要素の仮数値に変換することを特徴とする請求項1〜4のいずれか一つに記載のデータ処理装置。 - 決定部、変換部、出力部および演算部を有するデータ処理装置が、
前記決定部により、単位データが行列形式のストリームデータ間の行列演算を行う場合に、演算対象となる一連の要素の先頭から、命令に対応する単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値に基づいて、当該各要素を浮動小数点で表す場合の要素集合単位の指数値を決定し、
前記変換部により、前記要素集合ごとに、前記要素集合に含まれる各要素の値を、前記決定部によって決定された要素集合単位の指数値に対する前記各要素の仮数値に変換し、
前記出力部により、前記変換部によって変換された変換後の前記要素集合に含まれる各要素の値と、前記決定部によって決定された要素集合単位の指数値とを対応付けて出力し、
前記演算部により、前記出力部によって出力された、前記変換部によって変換された変換後の前記要素集合に含まれる各要素の値と、前記決定部によって決定された要素集合単位の指数値とを含むストリームデータ間の行列演算を行う、処理を実行し、
前記変換部は、
選択可能な第1のモードおよび第2のモードのうち、前記第1のモードが選択された場合は、前記単位データ長となる要素数単位の要素集合ごとに、前記要素集合に含まれる各要素の値を、前記決定部によって決定された要素集合単位の指数値に対する前記各要素の仮数値に変換し、前記第2のモードが選択された場合は、前記一連の要素に含まれる各要素の値を、入力される一連の要素単位の指数値に対する前記各要素の仮数値に変換するシフト回路を含む、
ことを特徴とするデータ処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013257371A JP6225687B2 (ja) | 2013-02-18 | 2013-12-12 | データ処理装置、およびデータ処理方法 |
US14/167,253 US9658986B2 (en) | 2013-02-18 | 2014-01-29 | Advanced computational processes and methods of using the same |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013029464 | 2013-02-18 | ||
JP2013029464 | 2013-02-18 | ||
JP2013257371A JP6225687B2 (ja) | 2013-02-18 | 2013-12-12 | データ処理装置、およびデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014179065A JP2014179065A (ja) | 2014-09-25 |
JP6225687B2 true JP6225687B2 (ja) | 2017-11-08 |
Family
ID=51352083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013257371A Expired - Fee Related JP6225687B2 (ja) | 2013-02-18 | 2013-12-12 | データ処理装置、およびデータ処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9658986B2 (ja) |
JP (1) | JP6225687B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419501B2 (en) * | 2015-12-03 | 2019-09-17 | Futurewei Technologies, Inc. | Data streaming unit and method for operating the data streaming unit |
US9965187B2 (en) * | 2016-02-18 | 2018-05-08 | Lawrence Livermore National Security, Llc | Near-memory data reorganization engine |
CN107315715B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵加/减运算的装置和方法 |
US10346163B2 (en) | 2017-11-01 | 2019-07-09 | Apple Inc. | Matrix computation engine |
CN107941256B (zh) * | 2017-11-20 | 2020-03-06 | 中国电子科技集团公司第四十一研究所 | 一种高精度测量仪器的数值个性化显示方法 |
US10970078B2 (en) | 2018-04-05 | 2021-04-06 | Apple Inc. | Computation engine with upsize/interleave and downsize/deinterleave options |
US10642620B2 (en) | 2018-04-05 | 2020-05-05 | Apple Inc. | Computation engine with strided dot product |
US10754649B2 (en) | 2018-07-24 | 2020-08-25 | Apple Inc. | Computation engine that operates in matrix and vector modes |
US10831488B1 (en) | 2018-08-20 | 2020-11-10 | Apple Inc. | Computation engine with extract instructions to minimize memory access |
US10996960B1 (en) * | 2019-11-22 | 2021-05-04 | Blaize, Inc. | Iterating single instruction, multiple-data (SIMD) instructions |
US11307860B1 (en) | 2019-11-22 | 2022-04-19 | Blaize, Inc. | Iterating group sum of multiple accumulate operations |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784753A (ja) * | 1993-09-20 | 1995-03-31 | Fujitsu Ltd | 固定小数点型ディジタル・シグナル・プロセッサ |
JP3384470B2 (ja) * | 1994-09-30 | 2003-03-10 | ソニー株式会社 | 数値変換装置および方法、並びに座標値整数化装置および方法 |
DE19826252C2 (de) * | 1998-06-15 | 2001-04-05 | Systemonic Ag | Verfahren zur digitalen Signalverarbeitung |
JP2002215384A (ja) * | 2001-01-16 | 2002-08-02 | Toshiba Corp | 多入力加減算回路 |
JP2005031848A (ja) | 2003-07-09 | 2005-02-03 | Sony Corp | 浮動小数点演算の方法および浮動小数点演算プログラム、ならびに浮動小数点演算装置 |
US7765386B2 (en) | 2005-09-28 | 2010-07-27 | Intel Corporation | Scalable parallel pipeline floating-point unit for vector processing |
US8280939B2 (en) * | 2008-05-22 | 2012-10-02 | Videoiq, Inc. | Methods and apparatus for automatic accuracy-sustaining scaling of block-floating-point operands |
US8301803B2 (en) * | 2009-10-23 | 2012-10-30 | Samplify Systems, Inc. | Block floating point compression of signal data |
US8805914B2 (en) * | 2010-06-02 | 2014-08-12 | Maxeler Technologies Ltd. | Method and apparatus for performing numerical calculations |
US9519457B2 (en) * | 2011-05-16 | 2016-12-13 | Nec Corporation | Arithmetic processing apparatus and an arithmetic processing method |
JP5840994B2 (ja) * | 2012-03-27 | 2016-01-06 | 富士通株式会社 | 行列演算装置 |
US9104473B2 (en) * | 2012-03-30 | 2015-08-11 | Altera Corporation | Conversion and compression of floating-point and integer data |
-
2013
- 2013-12-12 JP JP2013257371A patent/JP6225687B2/ja not_active Expired - Fee Related
-
2014
- 2014-01-29 US US14/167,253 patent/US9658986B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014179065A (ja) | 2014-09-25 |
US20140237010A1 (en) | 2014-08-21 |
US9658986B2 (en) | 2017-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6225687B2 (ja) | データ処理装置、およびデータ処理方法 | |
US7797366B2 (en) | Power-efficient sign extension for booth multiplication methods and systems | |
TWI405126B (zh) | 微處理器及其執行指令之方法 | |
US20110004644A1 (en) | Dynamic floating point register precision control | |
US20060112160A1 (en) | Floating-point number arithmetic circuit | |
JP2013541084A (ja) | 浮動小数点除算を実行するための方法および装置 | |
US9712185B2 (en) | System and method for improved fractional binary to fractional residue converter and multipler | |
US9678716B2 (en) | Apparatus and method for performing absolute difference operation | |
KR102253096B1 (ko) | 부동 소수점 수를 정수로 변환하기 위한 전자 장치 및 시스템, 및 그것의 작동 방법 | |
US9436465B2 (en) | Moving average processing in processor and processor | |
JP2019057249A (ja) | 演算処理装置および演算処理方法 | |
EP2908242A2 (en) | Processor that recovers from excessive approximate computing error | |
KR20150041540A (ko) | 수치 연산을 처리하는 장치 및 방법 | |
US7809783B2 (en) | Booth multiplier with enhanced reduction tree circuitry | |
KR20100108509A (ko) | 레지스터 명령 필드를 인코딩하는 방법 | |
US8140608B1 (en) | Pipelined integer division using floating-point reciprocal | |
US20200192633A1 (en) | Arithmetic processing device and method of controlling arithmetic processing device | |
WO2019023910A1 (zh) | 数据处理方法和设备 | |
US20070198811A1 (en) | Data-driven information processor performing operations between data sets included in data packet | |
EP1984810B1 (en) | A booth multiplier with enhanced reduction tree circuitry | |
CN115268832A (zh) | 浮点数取整的方法、装置以及电子设备 | |
JPWO2007094047A1 (ja) | 演算装置および演算方法 | |
JP5659772B2 (ja) | 演算処理装置 | |
JP4613992B2 (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
JP6497250B2 (ja) | 演算処理装置および演算処理装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150611 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20160602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160602 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170807 |
|
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: 20170912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170925 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6225687 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |