JP6248328B2 - ベクトル機能ユニット、方法、およびコンピューティングシステム - Google Patents
ベクトル機能ユニット、方法、およびコンピューティングシステム Download PDFInfo
- Publication number
- JP6248328B2 JP6248328B2 JP2014256542A JP2014256542A JP6248328B2 JP 6248328 B2 JP6248328 B2 JP 6248328B2 JP 2014256542 A JP2014256542 A JP 2014256542A JP 2014256542 A JP2014256542 A JP 2014256542A JP 6248328 B2 JP6248328 B2 JP 6248328B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- instruction
- adder
- multiply
- add instruction
- 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
- 239000013598 vector Substances 0.000 title claims description 124
- 238000000034 method Methods 0.000 title claims description 13
- 239000004065 semiconductor Substances 0.000 claims description 11
- 230000000873 masking effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000226 double patterning lithography Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- 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
-
- 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
-
- 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/30018—Bit or string instructions
-
- 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
-
- 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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
Claims (12)
- N次元のベクトル演算を実行するために、半導体チップに実装されているベクトル機能ユニットであって、
a)それぞれが論理回路を含むN個の機能ユニットと、
b)前記N個の機能ユニットのうち選択されたものから出力結果の提示を行わせるマスキング回路と
を備え、
前記論理回路は、
第1の整数乗算加算計算の最上位側のビット部分は提示するが最下位側のビット部分は提示しない第1の整数乗算加算命令と、
第2の整数乗算加算計算の最下位側のビット部分は提示するが最上位側のビット部分は提示しない第2の整数乗算加算命令と、
浮動小数点乗算加算命令と
を実行し、
前記論理回路は、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令と前記浮動小数点乗算加算命令とをサポートすべく、
乗算器と、
加算器と、
第1のシフトレジスタと、
前記加算器の後の第2のシフトレジスタと
を含み、
前記第1のシフトレジスタは、前記加算器の前に挿入されて、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令と前記浮動小数点乗算加算命令とをサポートするようC項と、前記乗算器のABの項とを位置合わせし、
前記第2のシフトレジスタで用いられるシフトストラテジーは、前記浮動小数点乗算加算命令と前記第1の整数乗算加算命令および前記第2の整数乗算加算命令とで異なり、
前記シフトストラテジーは、
前記第1のシフトレジスタによる前記位置合わせ後の、前記ABの項の仮数および前記C項の仮数のうち最上位の先頭1の位置を、前記加算器の出力における先頭1の位置と予測することと、前記先頭1の位置の予測結果が正しいか否かをチェックすることにより、前記加算器から出力される浮動小数点値の仮数値における先頭1の位置を決定することと、
決定した前記先頭1の位置に基づき前記仮数値を対応してシフトすることと
を含み、
前記先頭1の位置は、更に前記浮動小数点値の指数値の調整に用いる、ベクトル機能ユニット。 - 前記N個の機能ユニットはそれぞれ、32ビット演算および64ビット演算を両方ともサポートする、請求項1に記載のベクトル機能ユニット。
- 前記加算器は、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令のいずれのスカラー演算結果のビット幅よりも大きなビット幅の出力を持つ、請求項1に記載のベクトル機能ユニット。
- 前記第1のシフトレジスタは、ABの項の指数値およびC項の指数値の差を計算する論理回路に連結されている、請求項3に記載のベクトル機能ユニット。
- ベクトル演算を実行する方法であって、
半導体チップでベクトル演算を実行する段階を備え、
前記実行する段階は、前記半導体チップに実装されているベクトル機能ユニットで第1のベクトル命令を実行する段階を有し、
前記方法はさらに、
前記ベクトル機能ユニットで第2のベクトル命令を実行する段階と
前記ベクトル機能ユニットで第3のベクトル命令を実行する段階と
を備え、
前記ベクトル機能ユニットのマスキング要素は、前記ベクトル演算の選択された要素を提示し、
前記第1のベクトル命令は、最上位側のビット部分は提示するが最下位側のビット部分は提示しない第1のベクトル整数乗算加算命令であり、
前記第2のベクトル命令は、最下位側のビット部分は提示するが最上位側のビット部分は提示しない第2のベクトル整数乗算加算命令であり、
前記第3のベクトル命令は、浮動小数点乗算加算命令であり、
同じベクトル要素位置については同じ乗算器、加算器、前記加算器の前の第1のシフトレジスタ、および前記加算器の後の第2のシフトレジスタが、前記第1のベクトル命令、前記第2のベクトル命令、および前記第3のベクトル命令を実行するべく用いられ、
前記第1のシフトレジスタは、前記第1のベクトル命令、前記第2のベクトル命令、および前記第3のベクトル命令のそれぞれについてC項と前記乗算器のABの項とを位置合わせに用いられ、
前記第2のシフトレジスタで用いられるシフトストラテジーは、前記第3のベクトル命令と、前記第1のベクトル命令および前記第2のベクトル命令とで異なり、
前記シフトストラテジーは、
前記第1のシフトレジスタによる前記位置合わせ後の、前記ABの項の仮数および前記C項の仮数のうち最上位の先頭1の位置を、前記加算器の出力における先頭1の位置と予測することと、前記先頭1の位置の予測結果が正しいか否かをチェックすることにより、前記加算器から出力される浮動小数点値の仮数値における先頭1の位置を決定することと、
決定した前記先頭1の位置に基づき前記仮数値を対応してシフトすることと
を含み、
前記先頭1の位置は、更に前記浮動小数点値の指数値の調整に用いる、方法。 - 前記第1のベクトル命令の結果、および、前記第2のベクトル命令の結果を、コンピューティングシステムのそれぞれ異なる格納位置に格納する段階をさらに備える、請求項5に記載の方法。
- 前記第1のベクトル整数乗算加算命令の結果は、前記第2のベクトル整数乗算加算命令の結果より多いビットを提供する、請求項5または6に記載の方法。
- 前記第1のベクトル整数乗算加算命令は64ビットを提供し、前記第2のベクトル整数乗算加算命令は32ビットを提供する、請求項7に記載の方法。
- コンピューティングシステムであり、
不揮発性ストレージユニットと、
N次元のベクトル演算を実行するために、半導体チップに実装されているプロセッサとを備え、
前記プロセッサは、
それぞれが論理回路を含むN個の機能ユニットと、
前記N個の機能ユニットのうち選択されたものから出力結果の提示を行わせるマスキング回路と
を有し、
前記論理回路は、
第1の整数乗算加算計算の最上位側のビット部分は提示するが最下位側のビット部分は提示しない第1の整数乗算加算命令と、
第2の整数乗算加算計算の最下位側のビット部分は提示するが最上位側のビット部分は提示しない第2の整数乗算加算命令と
浮動小数点乗算加算命令と
を実行し、
前記論理回路は、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令と前記浮動小数点乗算加算命令とをサポートすべく、
乗算器と、
加算器と、
第1のシフトレジスタと、
前記加算器の後の第2のシフトレジスタと
を含み、
前記第1のシフトレジスタは、前記加算器の前に挿入されて、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令と前記浮動小数点乗算加算命令とをサポートするようC項と、前記乗算器のABの項とを位置合わせし、
前記第2のシフトレジスタで用いられるシフトストラテジーは、前記浮動小数点乗算加算命令と前記第1の整数乗算加算命令および前記第2の整数乗算加算命令とで異なり、
前記シフトストラテジーは、
前記第1のシフトレジスタによる前記位置合わせ後の、前記ABの項の仮数および前記C項の仮数のうち最上位の先頭1の位置を、前記加算器の出力における先頭1の位置と予測することと、前記先頭1の位置の予測結果が正しいか否かをチェックすることにより、前記加算器から出力される浮動小数点値の仮数値における先頭1の位置を決定することと、
決定した前記先頭1の位置に基づき前記仮数値を対応してシフトすることと
を含み、
前記先頭1の位置は、更に前記浮動小数点値の指数値の調整に用いる、コンピューティングシステム。 - 前記機能ユニットはそれぞれ、32ビット演算および64ビット演算を両方ともサポートする、請求項9に記載のコンピューティングシステム。
- 前記加算器は、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令のいずれのスカラー演算結果のビット幅よりも大きなビット幅の出力を持つ、請求項9に記載のコンピューティングシステム。
- 前記第1のシフトレジスタは、ABの項の指数値およびC項の指数値の差を計算する論理回路に連結されている、請求項9または11に記載のコンピューティングシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/890,497 | 2010-09-24 | ||
US12/890,497 US8667042B2 (en) | 2010-09-24 | 2010-09-24 | Functional unit for vector integer multiply add instruction |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013530342A Division JP2013543174A (ja) | 2010-09-24 | 2011-09-23 | ベクトル整数乗算加算命令のための機能ユニット |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015111421A JP2015111421A (ja) | 2015-06-18 |
JP6248328B2 true JP6248328B2 (ja) | 2017-12-20 |
Family
ID=45871744
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013530342A Pending JP2013543174A (ja) | 2010-09-24 | 2011-09-23 | ベクトル整数乗算加算命令のための機能ユニット |
JP2014256542A Active JP6248328B2 (ja) | 2010-09-24 | 2014-12-18 | ベクトル機能ユニット、方法、およびコンピューティングシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013530342A Pending JP2013543174A (ja) | 2010-09-24 | 2011-09-23 | ベクトル整数乗算加算命令のための機能ユニット |
Country Status (9)
Country | Link |
---|---|
US (1) | US8667042B2 (ja) |
JP (2) | JP2013543174A (ja) |
KR (1) | KR101427637B1 (ja) |
CN (1) | CN103119579B (ja) |
BR (1) | BR112013006744A2 (ja) |
DE (1) | DE112011103196T5 (ja) |
GB (1) | GB2497450B (ja) |
TW (1) | TWI455021B (ja) |
WO (1) | WO2012040545A2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2943248T3 (es) | 2011-04-01 | 2023-06-12 | Intel Corp | Formato de instrucción compatible con vectores y ejecución del mismo |
US8930432B2 (en) * | 2011-08-04 | 2015-01-06 | International Business Machines Corporation | Floating point execution unit with fixed point functionality |
CN104011670B (zh) | 2011-12-22 | 2016-12-28 | 英特尔公司 | 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令 |
US9355068B2 (en) | 2012-06-29 | 2016-05-31 | Intel Corporation | Vector multiplication with operand base system conversion and re-conversion |
US10095516B2 (en) | 2012-06-29 | 2018-10-09 | Intel Corporation | Vector multiplication with accumulation in large register space |
US9122475B2 (en) * | 2012-09-28 | 2015-09-01 | Intel Corporation | Instruction for shifting bits left with pulling ones into less significant bits |
US9372692B2 (en) | 2012-12-29 | 2016-06-21 | Intel Corporation | Methods, apparatus, instructions, and logic to provide permute controls with leading zero count functionality |
US9323531B2 (en) | 2013-03-15 | 2016-04-26 | Intel Corporation | Systems, apparatuses, and methods for determining a trailing least significant masking bit of a writemask register |
US9990202B2 (en) | 2013-06-28 | 2018-06-05 | Intel Corporation | Packed data element predication processors, methods, systems, and instructions |
US20150052330A1 (en) * | 2013-08-14 | 2015-02-19 | Qualcomm Incorporated | Vector arithmetic reduction |
CN103677742B (zh) * | 2013-12-13 | 2016-08-17 | 广西科技大学 | 多浮点操作数加/减运算控制器 |
US10187208B2 (en) | 2013-12-28 | 2019-01-22 | Intel Corporation | RSA algorithm acceleration processors, methods, systems, and instructions |
US9507565B1 (en) * | 2014-02-14 | 2016-11-29 | Altera Corporation | Programmable device implementing fixed and floating point functionality in a mixed architecture |
US9524143B2 (en) * | 2014-06-26 | 2016-12-20 | Arm Limited | Apparatus and method for efficient division performance |
US9678749B2 (en) * | 2014-12-22 | 2017-06-13 | Intel Corporation | Instruction and logic for shift-sum multiplier |
US10001995B2 (en) * | 2015-06-02 | 2018-06-19 | Intel Corporation | Packed data alignment plus compute instructions, processors, methods, and systems |
US11061672B2 (en) * | 2015-10-02 | 2021-07-13 | Via Alliance Semiconductor Co., Ltd. | Chained split execution of fused compound arithmetic operations |
US20170177336A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Hardware cancellation monitor for floating point operations |
US10489152B2 (en) | 2016-01-28 | 2019-11-26 | International Business Machines Corporation | Stochastic rounding floating-point add instruction using entropy from a register |
US10671347B2 (en) * | 2016-01-28 | 2020-06-02 | International Business Machines Corporation | Stochastic rounding floating-point multiply instruction using entropy from a register |
GB2553783B (en) * | 2016-09-13 | 2020-11-04 | Advanced Risc Mach Ltd | Vector multiply-add instruction |
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
WO2019005165A1 (en) | 2017-06-30 | 2019-01-03 | Intel Corporation | METHOD AND APPARATUS FOR VECTORIZING INDIRECT UPDATING BUCKLES |
CN109388427A (zh) * | 2017-08-11 | 2019-02-26 | 龙芯中科技术有限公司 | 向量处理方法、向量处理单元和微处理器 |
US10732929B2 (en) * | 2018-01-09 | 2020-08-04 | Samsung Electronics Co., Ltd. | Computing accelerator using a lookup table |
DE102018209901A1 (de) * | 2018-06-19 | 2019-12-19 | Robert Bosch Gmbh | Recheneinheit, Verfahren und Computerprogramm zum Multiplizieren zumindest zweier Multiplikanden |
WO2020066375A1 (ja) * | 2018-09-25 | 2020-04-02 | 日本電気株式会社 | 情報処理装置、情報処理方法、プログラム |
JP7115211B2 (ja) * | 2018-10-18 | 2022-08-09 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
JP7107482B2 (ja) | 2019-03-15 | 2022-07-27 | インテル・コーポレーション | ハイブリッド浮動小数点フォーマットのドット積累算命令を有するグラフィックスプロセッサ及びグラフィックス処理ユニット |
US20230075534A1 (en) * | 2021-08-19 | 2023-03-09 | International Business Machines Corporation | Masked shifted add operation |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4849923A (en) | 1986-06-27 | 1989-07-18 | Digital Equipment Corporation | Apparatus and method for execution of floating point operations |
US4852039A (en) | 1987-06-19 | 1989-07-25 | Digital Equipment Corporation | Apparatus and method for accelerating floating point addition and subtraction operations by accelerating the effective subtraction procedure |
JPH03251916A (ja) * | 1990-03-01 | 1991-11-11 | Toshiba Corp | 浮動小数点加減算装置 |
JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
US5317527A (en) | 1993-02-10 | 1994-05-31 | Digital Equipment Corporation | Leading one/zero bit detector for floating point operation |
US5341319A (en) | 1993-02-10 | 1994-08-23 | Digital Equipment Corporation | Method and apparatus for controlling a rounding operation in a floating point multiplier circuit |
JP3257278B2 (ja) * | 1994-09-19 | 2002-02-18 | 株式会社日立製作所 | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 |
JP3691538B2 (ja) * | 1995-03-07 | 2005-09-07 | 富士通株式会社 | ベクトルデータ加算方法及びベクトルデータ乗算方法 |
US5784305A (en) * | 1995-05-01 | 1998-07-21 | Nec Corporation | Multiply-adder unit |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
EP0837390A1 (en) * | 1996-10-18 | 1998-04-22 | Texas Instruments Incorporated | Improvements in or relating to microprocessor integrated circuits |
JPH10143355A (ja) * | 1996-10-30 | 1998-05-29 | Texas Instr Inc <Ti> | 種々の書式のオペランドを高効率で乗算する能力を有するマイクロプロセッサ及びその演算方法 |
KR100291383B1 (ko) * | 1996-11-18 | 2001-09-17 | 윤종용 | 디지털신호처리를위한명령을지원하는모듈계산장치및방법 |
US5928316A (en) * | 1996-11-18 | 1999-07-27 | Samsung Electronics Co., Ltd. | Fused floating-point multiply-and-accumulate unit with carry correction |
US6401194B1 (en) | 1997-01-28 | 2002-06-04 | Samsung Electronics Co., Ltd. | Execution unit for processing a data stream independently and in parallel |
JP3544846B2 (ja) * | 1997-02-13 | 2004-07-21 | 株式会社東芝 | 論理回路及び浮動小数点演算装置 |
US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
US6578059B1 (en) | 1998-10-10 | 2003-06-10 | Institute For The Development Of Emerging Architectures, L.L.C. | Methods and apparatus for controlling exponent range in floating-point calculations |
US6378067B1 (en) | 1998-10-12 | 2002-04-23 | Idea Corporation | Exception reporting architecture for SIMD-FP instructions |
US6292886B1 (en) | 1998-10-12 | 2001-09-18 | Intel Corporation | Scalar hardware for performing SIMD operations |
US6321327B1 (en) | 1998-12-30 | 2001-11-20 | Intel Corporation | Method for setting a bit associated with each component of packed floating-pint operand that is normalized in SIMD operations |
US6480872B1 (en) * | 1999-01-21 | 2002-11-12 | Sandcraft, Inc. | Floating-point and integer multiply-add and multiply-accumulate |
US6360241B1 (en) | 1999-02-01 | 2002-03-19 | Compaq Information Technologies Goup, L.P. | Computer method and apparatus for division and square root operations using signed digit |
US6366942B1 (en) | 1999-02-01 | 2002-04-02 | Compaq Information Technologies Group Lp | Method and apparatus for rounding floating point results in a digital processing system |
US6732135B1 (en) | 1999-02-01 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accumulating partial quotients in a digital processor |
US6324638B1 (en) | 1999-03-31 | 2001-11-27 | International Business Machines Corporation | Processor having vector processing capability and method for executing a vector instruction in a processor |
US7127483B2 (en) | 2001-12-26 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Method and system of a microprocessor subtraction-division floating point divider |
US8090928B2 (en) * | 2002-06-28 | 2012-01-03 | Intellectual Ventures I Llc | Methods and apparatus for processing scalar and vector instructions |
US7831804B2 (en) * | 2004-06-22 | 2010-11-09 | St Microelectronics S.R.L. | Multidimensional processor architecture |
US7707236B2 (en) * | 2004-08-13 | 2010-04-27 | Analog Devices, Inc. | Methods and apparatus for an efficient floating point ALU |
JP4891252B2 (ja) * | 2004-11-10 | 2012-03-07 | エヌヴィディア コーポレイション | 汎用乗算加算機能ユニット |
US7225323B2 (en) * | 2004-11-10 | 2007-05-29 | Nvidia Corporation | Multi-purpose floating point and integer multiply-add functional unit with multiplication-comparison test addition and exponent pipelines |
US20060179092A1 (en) | 2005-02-10 | 2006-08-10 | Schmookler Martin S | System and method for executing fixed point divide operations using a floating point multiply-add pipeline |
US7543119B2 (en) * | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
JP2006227939A (ja) * | 2005-02-17 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 演算装置 |
US20070198815A1 (en) | 2005-08-11 | 2007-08-23 | Coresonic Ab | Programmable digital signal processor having a clustered SIMD microarchitecture including a complex short multiplier and an independent vector load unit |
US20070074008A1 (en) | 2005-09-28 | 2007-03-29 | Donofrio David D | Mixed mode floating-point pipeline with extended functions |
US20090063608A1 (en) * | 2007-09-04 | 2009-03-05 | Eric Oliver Mejdrich | Full Vector Width Cross Product Using Recirculation for Area Optimization |
US20090106526A1 (en) | 2007-10-22 | 2009-04-23 | David Arnold Luick | Scalar Float Register Overlay on Vector Register File for Efficient Register Allocation and Scalar Float and Vector Register Sharing |
US7809925B2 (en) * | 2007-12-07 | 2010-10-05 | International Business Machines Corporation | Processing unit incorporating vectorizable execution unit |
US7945764B2 (en) * | 2008-01-11 | 2011-05-17 | International Business Machines Corporation | Processing unit incorporating multirate execution unit |
US8356160B2 (en) * | 2008-01-15 | 2013-01-15 | International Business Machines Corporation | Pipelined multiple operand minimum and maximum function |
US8139061B2 (en) * | 2008-08-01 | 2012-03-20 | International Business Machines Corporation | Floating point execution unit for calculating a one minus dot product value in a single pass |
US8555034B2 (en) * | 2009-12-15 | 2013-10-08 | Oracle America, Inc. | Execution of variable width vector processing instructions |
US8606840B2 (en) * | 2010-03-17 | 2013-12-10 | Oracle International Corporation | Apparatus and method for floating-point fused multiply add |
US8629867B2 (en) * | 2010-06-04 | 2014-01-14 | International Business Machines Corporation | Performing vector multiplication |
US20110320765A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Variable width vector instruction processor |
US8676871B2 (en) * | 2010-09-24 | 2014-03-18 | Intel Corporation | Functional unit capable of executing approximations of functions |
US9092213B2 (en) * | 2010-09-24 | 2015-07-28 | Intel Corporation | Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation |
-
2010
- 2010-09-24 US US12/890,497 patent/US8667042B2/en active Active
-
2011
- 2011-09-21 TW TW100133947A patent/TWI455021B/zh not_active IP Right Cessation
- 2011-09-23 WO PCT/US2011/052899 patent/WO2012040545A2/en active Application Filing
- 2011-09-23 JP JP2013530342A patent/JP2013543174A/ja active Pending
- 2011-09-23 GB GB1303473.1A patent/GB2497450B/en active Active
- 2011-09-23 DE DE112011103196T patent/DE112011103196T5/de not_active Withdrawn
- 2011-09-23 CN CN201180045903.6A patent/CN103119579B/zh not_active Expired - Fee Related
- 2011-09-23 BR BR112013006744A patent/BR112013006744A2/pt not_active IP Right Cessation
- 2011-09-23 KR KR1020137007237A patent/KR101427637B1/ko active IP Right Grant
-
2014
- 2014-12-18 JP JP2014256542A patent/JP6248328B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013543174A (ja) | 2013-11-28 |
DE112011103196T5 (de) | 2013-09-19 |
KR101427637B1 (ko) | 2014-08-07 |
BR112013006744A2 (pt) | 2019-09-24 |
KR20130063532A (ko) | 2013-06-14 |
GB201303473D0 (en) | 2013-04-10 |
US8667042B2 (en) | 2014-03-04 |
WO2012040545A2 (en) | 2012-03-29 |
TWI455021B (zh) | 2014-10-01 |
WO2012040545A9 (en) | 2012-10-04 |
JP2015111421A (ja) | 2015-06-18 |
US20120078992A1 (en) | 2012-03-29 |
CN103119579A (zh) | 2013-05-22 |
GB2497450B (en) | 2017-08-02 |
GB2497450A (en) | 2013-06-12 |
CN103119579B (zh) | 2016-08-03 |
WO2012040545A3 (en) | 2012-06-14 |
TW201237743A (en) | 2012-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6248328B2 (ja) | ベクトル機能ユニット、方法、およびコンピューティングシステム | |
JP5636110B2 (ja) | ベクトル先頭ゼロ、ベクトル末尾ゼロ、ベクトルオペランド1sカウントおよびベクトルパリティ計算のための機能ユニット | |
US10649733B2 (en) | Multiply add functional unit capable of executing scale, round, getexp, round, getmant, reduce, range and class instructions | |
US8106914B2 (en) | Fused multiply-add functional unit | |
US7555514B2 (en) | Packed add-subtract operation in a microprocessor | |
JP2000076047A (ja) | 浮動小数点乗算累算ユニット | |
US20160253235A1 (en) | Recycling Error Bits in Floating Point Units | |
EP3118737B1 (en) | Arithmetic processing device and method of controlling arithmetic processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160217 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20161213 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170403 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170922 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20171002 |
|
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: 20171024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6248328 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |