JP2015111421A - ベクトル機能ユニット、方法、およびコンピューティングシステム - Google Patents
ベクトル機能ユニット、方法、およびコンピューティングシステム Download PDFInfo
- Publication number
- JP2015111421A JP2015111421A JP2014256542A JP2014256542A JP2015111421A JP 2015111421 A JP2015111421 A JP 2015111421A JP 2014256542 A JP2014256542 A JP 2014256542A JP 2014256542 A JP2014256542 A JP 2014256542A JP 2015111421 A JP2015111421 A JP 2015111421A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- adder
- instruction
- integer
- result
- 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.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims description 15
- 239000004065 semiconductor Substances 0.000 claims abstract description 12
- 230000000873 masking effect Effects 0.000 claims abstract 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)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (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)
Abstract
Description
Claims (20)
- N次元のベクトル演算を実行するために、半導体チップに実装されているベクトル機能ユニットであって、
それぞれが論理回路を含むN個の機能ユニットと、
前記N個の機能ユニットのうち選択されたものから出力結果の提示を行わせるマスキング回路と
を備え、
前記論理回路は、
第1の整数乗算加算計算の最上位側のビット部分は提示するが最下位側のビット部分は提示しない第1の整数乗算加算命令と、
第2の整数乗算加算計算の最下位側のビット部分は提示するが最上位側のビット部分は提示しない第2の整数乗算加算命令とを実行し、
加算器と、前記加算器の加算結果をシフトする第2のシフトレジスタと、前記加算器の出力における先頭の1の位置を予測する予測ブロックとを有し、
前記予測ブロックの予測結果に応じて前記第2のシフトレジスタのシフト量を決定する、ベクトル機能ユニット。 - 前記加算器の加算および前記予測ブロックの予測は、並列に実行される請求項1に記載のベクトル機能ユニット。
- 前記論理回路は、前記加算器の加算結果に基づき、前記予測ブロックの予測結果が正しいか否かをチェックする請求項1または2に記載のベクトル機能ユニット。
- 前記N個の機能ユニットはそれぞれ、さらに、浮動小数点乗算加算命令を実行する論理回路を含む、請求項1から3のいずれか一項に記載のベクトル機能ユニット。
- 前記N個の機能ユニットはそれぞれ、32ビット演算および64ビット演算を両方ともサポートする、請求項1から4のいずれか一項に記載のベクトル機能ユニット。
- 前記N個の機能ユニットはそれぞれ、前記加算器の前の第1のシフトレジスタと、前記加算器の後の前記第2のシフトレジスタとを含む、請求項1から5のいずれか一項に記載のベクトル機能ユニット。
- 前記加算器は、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令のいずれのスカラー演算結果のビット幅よりも大きなビット幅の出力を持つ、請求項6に記載のベクトル機能ユニット。
- 前記第1のシフトレジスタおよび前記第2のシフトレジスタは、ABの項の指数値およびC項の指数値の差を計算する論理回路に連結されている、請求項6または7に記載のベクトル機能ユニット。
- 方法であって、
半導体チップでベクトル演算を実行する段階を備え、
前記実行する段階は、
前記半導体チップに実装されているベクトル機能ユニットで第1のベクトル命令を実行する段階と、
前記ベクトル機能ユニットで第2のベクトル命令を実行する段階とを有し、
前記ベクトル機能ユニットは、ベクトル演算を実行するために要素をマスキングして、
前記第1のベクトル命令は、第1の整数乗算加算計算の最上位側のビット部分は提示するが最下位側のビット部分は提示しない第1のベクトル整数乗算加算命令であり、
前記第2のベクトル命令は、第2の整数乗算加算計算の最下位側のビット部分は提示するが最上位側のビット部分は提示しない第2のベクトル整数乗算加算命令であり、
前記ベクトル機能ユニットは、
加算器と、前記加算器の加算結果をシフトするシフトレジスタと、前記加算器の出力における先頭の1の位置を予測する予測ブロックとを有し、
前記予測ブロックの予測結果に応じて前記シフトレジスタのシフト量を決定する、方法。 - 前記第1のベクトル命令の結果、および、前記第2のベクトル命令の結果を、コンピューティングシステムのそれぞれ異なる格納位置に格納する段階をさらに備える、請求項9に記載の方法。
- ベクトル浮動小数点乗算加算命令を、前記ベクトル機能ユニットで実行する段階をさらに備える、請求項9または10に記載の方法。
- 前記加算器を利用して、前記第1のベクトル整数乗算加算命令および前記第2のベクトル整数乗算加算命令、並びに、前記ベクトル浮動小数点乗算加算命令のそれぞれについてAB項とC項との合計を実行する段階をさらに備える、請求項11に記載の方法。
- 前記第1のベクトル整数乗算加算命令の結果は、前記第2のベクトル整数乗算加算命令の結果より多いビットを提供する、請求項9から12のいずれか一項に記載の方法。
- 前記第1のベクトル整数乗算加算命令は64ビットを提供し、前記第2のベクトル整数乗算加算命令は32ビットを提供する、請求項13に記載の方法。
- ハードディスクドライブと、
N次元のベクトル演算を実行するために、半導体チップに実装されているプロセッサとを備え、
前記プロセッサは、
それぞれが論理回路を含むN個の機能ユニットと、
前記N個の機能ユニットのうち選択されたものから出力結果の提示を行わせるマスキング回路と
を有し、
前記論理回路は、
第1の整数乗算加算計算の最上位側のビット部分は提示するが最下位側のビット部分は提示しない第1の整数乗算加算命令と、
第2の整数乗算加算計算の最下位側のビット部分は提示するが最上位側のビット部分は提示しない第2の整数乗算加算命令とを実行し、
加算器と、前記加算器の加算結果をシフトする第2のシフトレジスタと、前記加算器の出力における先頭の1の位置を予測する予測ブロックとを有し、
前記予測ブロックの予測結果に応じて前記第2のシフトレジスタのシフト量を決定する、コンピューティングシステム。 - 前記N個の機能ユニットはそれぞれ、さらに、浮動小数点乗算加算命令を実行する論理回路を含む、請求項15に記載のコンピューティングシステム。
- 前記機能ユニットはそれぞれ、32ビット演算および64ビット演算を両方ともサポートする、請求項15または16に記載のコンピューティングシステム。
- 前記機能ユニットはそれぞれ、前記加算器の前の第1のシフトレジスタと、前記加算器の後の前記第2のシフトレジスタとを含む、請求項15から17のいずれか一項に記載のコンピューティングシステム。
- 前記加算器は、前記第1の整数乗算加算命令および前記第2の整数乗算加算命令のいずれのスカラー演算結果のビット幅よりも大きなビット幅の出力を持つ、請求項18に記載のコンピューティングシステム。
- 前記第1のシフトレジスタおよび前記第2のシフトレジスタは、ABの項の指数値およびC項の指数値の差を計算する論理回路に連結されている、請求項18または19に記載のコンピューティングシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/890,497 US8667042B2 (en) | 2010-09-24 | 2010-09-24 | Functional unit for vector integer multiply add instruction |
US12/890,497 | 2010-09-24 |
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 true JP2015111421A (ja) | 2015-06-18 |
JP6248328B2 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 (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL3422178T3 (pl) | 2011-04-01 | 2023-06-26 | Intel Corporation | Przyjazny dla wektorów format instrukcji i jego wykonanie |
US8930432B2 (en) * | 2011-08-04 | 2015-01-06 | International Business Machines Corporation | Floating point execution unit with fixed point functionality |
US10157061B2 (en) | 2011-12-22 | 2018-12-18 | Intel Corporation | Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks |
US10095516B2 (en) | 2012-06-29 | 2018-10-09 | Intel Corporation | Vector multiplication with accumulation in large register space |
US9355068B2 (en) | 2012-06-29 | 2016-05-31 | Intel Corporation | Vector multiplication with operand base system conversion and re-conversion |
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 | 广西科技大学 | 多浮点操作数加/减运算控制器 |
WO2015096167A1 (en) * | 2013-12-28 | 2015-07-02 | 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 |
JP7115211B2 (ja) * | 2018-10-18 | 2022-08-09 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US12013808B2 (en) | 2019-03-15 | 2024-06-18 | Intel Corporation | Multi-tile architecture for graphics operations |
US20230075534A1 (en) * | 2021-08-19 | 2023-03-09 | International Business Machines Corporation | Masked shifted add operation |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03251916A (ja) * | 1990-03-01 | 1991-11-11 | Toshiba Corp | 浮動小数点加減算装置 |
JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
JPH0887399A (ja) * | 1994-09-19 | 1996-04-02 | Hitachi Ltd | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 |
JPH10133858A (ja) * | 1996-10-18 | 1998-05-22 | Texas Instr Inc <Ti> | マイクロプロセッサおよびマイクロプロセッサを作動させる方法 |
JPH10134036A (ja) * | 1996-08-19 | 1998-05-22 | Samsung Electron Co Ltd | マルチメディア信号プロセッサの単一命令多重データ処理 |
JPH10143355A (ja) * | 1996-10-30 | 1998-05-29 | Texas Instr Inc <Ti> | 種々の書式のオペランドを高効率で乗算する能力を有するマイクロプロセッサ及びその演算方法 |
JPH10289096A (ja) * | 1997-02-13 | 1998-10-27 | Toshiba Corp | 論理回路及び浮動小数点演算装置 |
US6078941A (en) * | 1996-11-18 | 2000-06-20 | Samsung Electronics Co., Ltd. | Computational structure having multiple stages wherein each stage includes a pair of adders and a multiplexing circuit capable of operating in parallel |
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 |
US6401194B1 (en) * | 1997-01-28 | 2002-06-04 | Samsung Electronics Co., Ltd. | Execution unit for processing a data stream independently and in parallel |
US6480872B1 (en) * | 1999-01-21 | 2002-11-12 | Sandcraft, Inc. | Floating-point and integer multiply-add and multiply-accumulate |
JP2008510229A (ja) * | 2004-08-13 | 2008-04-03 | アナログ・デバイセズ・インコーポレイテッド | 効率的浮動小数点式aluのための方法及び装置 |
JP2008520048A (ja) * | 2004-11-10 | 2008-06-12 | エヌヴィディア コーポレイション | 汎用乗算加算機能ユニット |
JP2009505214A (ja) * | 2005-08-11 | 2009-02-05 | コアソニック アーベー | 短い複素乗算器及び独立ベクトル・ロード・ユニットを含むクラスタードsimdマイクロ・アーキテクチャを有するプログラマブル・デジタル信号プロセッサ |
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 |
US20090300323A1 (en) * | 2005-02-10 | 2009-12-03 | Richard Hessel | Vector Processor System |
JP2013543173A (ja) * | 2010-09-24 | 2013-11-28 | インテル・コーポレーション | ベクトル先頭ゼロ、ベクトル末尾ゼロ、ベクトルオペランド1sカウントおよびベクトルパリティ計算のための機能ユニット |
Family Cites Families (32)
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 |
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 |
US5317527A (en) | 1993-02-10 | 1994-05-31 | Digital Equipment Corporation | Leading one/zero bit detector for floating point operation |
JP3691538B2 (ja) * | 1995-03-07 | 2005-09-07 | 富士通株式会社 | ベクトルデータ加算方法及びベクトルデータ乗算方法 |
US5784305A (en) * | 1995-05-01 | 1998-07-21 | Nec Corporation | Multiply-adder unit |
US5928316A (en) * | 1996-11-18 | 1999-07-27 | Samsung Electronics Co., Ltd. | Fused floating-point multiply-and-accumulate unit with carry correction |
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 |
US6292886B1 (en) | 1998-10-12 | 2001-09-18 | Intel Corporation | Scalar hardware for performing SIMD operations |
US6378067B1 (en) | 1998-10-12 | 2002-04-23 | Idea Corporation | Exception reporting architecture for SIMD-FP instructions |
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 |
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 |
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 |
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 |
JP2006227939A (ja) * | 2005-02-17 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 演算装置 |
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 |
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 |
-
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 DE DE112011103196T patent/DE112011103196T5/de not_active Withdrawn
- 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
- 2011-09-23 GB GB1303473.1A patent/GB2497450B/en active Active
- 2011-09-23 CN CN201180045903.6A patent/CN103119579B/zh not_active Expired - Fee Related
- 2011-09-23 JP JP2013530342A patent/JP2013543174A/ja active Pending
- 2011-09-23 WO PCT/US2011/052899 patent/WO2012040545A2/en active Application Filing
-
2014
- 2014-12-18 JP JP2014256542A patent/JP6248328B2/ja active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03251916A (ja) * | 1990-03-01 | 1991-11-11 | Toshiba Corp | 浮動小数点加減算装置 |
JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
JPH0887399A (ja) * | 1994-09-19 | 1996-04-02 | Hitachi Ltd | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 |
JPH10134036A (ja) * | 1996-08-19 | 1998-05-22 | Samsung Electron Co Ltd | マルチメディア信号プロセッサの単一命令多重データ処理 |
JPH10133858A (ja) * | 1996-10-18 | 1998-05-22 | Texas Instr Inc <Ti> | マイクロプロセッサおよびマイクロプロセッサを作動させる方法 |
JPH10143355A (ja) * | 1996-10-30 | 1998-05-29 | Texas Instr Inc <Ti> | 種々の書式のオペランドを高効率で乗算する能力を有するマイクロプロセッサ及びその演算方法 |
US6078941A (en) * | 1996-11-18 | 2000-06-20 | Samsung Electronics Co., Ltd. | Computational structure having multiple stages wherein each stage includes a pair of adders and a multiplexing circuit capable of operating in parallel |
US6401194B1 (en) * | 1997-01-28 | 2002-06-04 | Samsung Electronics Co., Ltd. | Execution unit for processing a data stream independently and in parallel |
JPH10289096A (ja) * | 1997-02-13 | 1998-10-27 | Toshiba Corp | 論理回路及び浮動小数点演算装置 |
US6480872B1 (en) * | 1999-01-21 | 2002-11-12 | Sandcraft, Inc. | Floating-point and integer multiply-add and multiply-accumulate |
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 |
JP2008510229A (ja) * | 2004-08-13 | 2008-04-03 | アナログ・デバイセズ・インコーポレイテッド | 効率的浮動小数点式aluのための方法及び装置 |
JP2008520048A (ja) * | 2004-11-10 | 2008-06-12 | エヌヴィディア コーポレイション | 汎用乗算加算機能ユニット |
US20090300323A1 (en) * | 2005-02-10 | 2009-12-03 | Richard Hessel | Vector Processor System |
JP2009505214A (ja) * | 2005-08-11 | 2009-02-05 | コアソニック アーベー | 短い複素乗算器及び独立ベクトル・ロード・ユニットを含むクラスタードsimdマイクロ・アーキテクチャを有するプログラマブル・デジタル信号プロセッサ |
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 |
JP2013543173A (ja) * | 2010-09-24 | 2013-11-28 | インテル・コーポレーション | ベクトル先頭ゼロ、ベクトル末尾ゼロ、ベクトルオペランド1sカウントおよびベクトルパリティ計算のための機能ユニット |
Non-Patent Citations (1)
Title |
---|
大貫広幸, TECH I VOL.31 X86アセンブラ入門, JPN6015045982, 1 January 2006 (2006-01-01), pages 225 - 233, ISSN: 0003408722 * |
Also Published As
Publication number | Publication date |
---|---|
WO2012040545A9 (en) | 2012-10-04 |
WO2012040545A3 (en) | 2012-06-14 |
CN103119579A (zh) | 2013-05-22 |
GB201303473D0 (en) | 2013-04-10 |
KR20130063532A (ko) | 2013-06-14 |
DE112011103196T5 (de) | 2013-09-19 |
TWI455021B (zh) | 2014-10-01 |
JP2013543174A (ja) | 2013-11-28 |
GB2497450A (en) | 2013-06-12 |
US20120078992A1 (en) | 2012-03-29 |
US8667042B2 (en) | 2014-03-04 |
WO2012040545A2 (en) | 2012-03-29 |
KR101427637B1 (ko) | 2014-08-07 |
GB2497450B (en) | 2017-08-02 |
BR112013006744A2 (pt) | 2019-09-24 |
JP6248328B2 (ja) | 2017-12-20 |
TW201237743A (en) | 2012-09-16 |
CN103119579B (zh) | 2016-08-03 |
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 | |
US7555514B2 (en) | Packed add-subtract operation in a microprocessor | |
US20200310756A1 (en) | Systems and methods to perform floating-point addition with selected rounding | |
US20090150654A1 (en) | Fused multiply-add functional unit | |
US9703626B2 (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 |