JP6487097B2 - 命令に応じた丸め処理の実行 - Google Patents
命令に応じた丸め処理の実行 Download PDFInfo
- Publication number
- JP6487097B2 JP6487097B2 JP2018082706A JP2018082706A JP6487097B2 JP 6487097 B2 JP6487097 B2 JP 6487097B2 JP 2018082706 A JP2018082706 A JP 2018082706A JP 2018082706 A JP2018082706 A JP 2018082706A JP 6487097 B2 JP6487097 B2 JP 6487097B2
- Authority
- JP
- Japan
- Prior art keywords
- rounding
- value
- processor
- bits
- rounding mode
- 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
- 238000000034 method Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 31
- 230000015654 memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 229910003460 diamond Inorganic materials 0.000 description 8
- 239000010432 diamond Substances 0.000 description 8
- 230000001629 suppression Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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
- 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/3001—Arithmetic instructions
-
- 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
-
- 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/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Nonlinear Science (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
この命令は、第一のレジスタ、すなわちxmm1内のパックされた単精度値を取り、各値を直接データ(すなわちimm8)の丸めモードによって記述されるように最も近い整数値に丸め、結果を第二のレジスタ、すなわちxmm0に記憶しうる。下記の表5は、ソース・オペランド(すなわちxmm1)内に存在する、それぞれ限られた精度の浮動小数点値に対応する代表的な値と、行き先オペランド(すなわちxmm0)に記憶される、整数値をとる浮動小数点数、つまり元のソース値に最も近い整数値に対応する、結果として得られる丸められた値とを示している。
572および582はプロセッサをそれぞれのメモリ、すなわちメモリ532およびメモリ534に結合させる。これらのメモリはそれぞれのプロセッサにローカルに取り付けられたメイン・メモリの部分であってもよい。
〔請求項1〕
プロセッサにおいて丸め命令および直接値(immediate value)を受領する段階と;
前記直接値の丸めモード・オーバーライド指標がアクティブであるかどうかを判定する段階と;
もしアクティブであれば、前記丸め命令に応答して、前記直接値に記述されている丸めモードに従って前記プロセッサの浮動小数点ユニットにおいてソース・オペランドに対して丸め処理を実行する段階とを有する、
方法。
〔請求項2〕
前記直接値の前記丸めモード・オーバーライド指標がアクティブでなければ、前記丸め命令に応答して、前記プロセッサの制御レジスタ内に記述されている丸めモードに従って前記丸め処理を実行する段階をさらに有する、請求項1記載の方法。
〔請求項3〕
前記丸め処理の実行の間、デフォルト丸めモードを含む制御レジスタの値を維持することをさらに含む、請求項1記載の方法。
〔請求項4〕
丸められた結果を得るための第一のオペランドに対する丸め命令の実行を、前記丸め命令に関連付けられた制御フィールド内にオーバーライド指標が存在していれば、前記丸め命令に関連付けられた制御フィールド内に記述されている丸めモードに従って行う手段と;
前記実行を行う手段に結合された記憶手段とを有する、
システム。
〔請求項5〕
前記丸め命令および前記制御フィールドを受領し、前記制御フィールドの丸めモード部分を復号し、前記オーバーライド指標が存在していれば前記丸めモード部分から制御信号を生成する選択器手段をさらに有する、請求項4記載のシステム。
〔請求項6〕
前記実行を行う手段が、前記選択器手段からの制御信号に応答して前記第一のオペランドに対して丸め処理を実行する浮動小数点ユニットを有し、前記第一のオペランドが限られた精度の値をもつ、請求項5記載のシステム
〔請求項7〕
前記実行を行う手段のためのデフォルト丸めモードを記憶する制御レジスタをさらに有し、前記実行を行う手段が前記丸め命令の実行を、前記制御フィールド内に前記オーバーライド指標が存在していれば、前記デフォルト丸めモードとは異なる丸めモードに従って行う、請求項4記載のシステム。
〔請求項8〕
前記実行を行う手段が前記丸め命令を前記異なる丸めモードに従って実行することを、前記デフォルト丸めモードが前記制御レジスタに記憶されている間に行う、請求項7記載のシステム。
〔請求項9〕
前記実行を行う手段が前記異なる丸めモードを実行するのを、前記第一のオペランドが閾値以下である場合には前記第一のオペランドへの第一の値の加算を介して、そうでない場合には前記第一のオペランドへの第二の値の加算を介して行い、前記第一の値は前記第二の値の浮動小数点バージョンの正負を変えたものである、請求項7記載のシステム。
〔請求項10〕
命令が記憶されている機械可読媒体であって、前記命令は機械によって実行されたときに、該機械に:
前記命令によって規定されるモードに従って丸め処理を実行する段階と;
前記丸め命令の結果を第一の記憶領域に記憶する段階とを有する方法を実行させる、
機械可読媒体。
〔請求項11〕
前記モードが、制御レジスタに記憶されているデフォルト丸めモードとは異なる丸めモードに従って前記丸め処理の実行を引き起こすものである、請求項10記載の機械可読媒体。
〔請求項12〕
前記方法がさらに、前記命令に関連付けられた直接値の一部分を復号する段階をさらに有し、前記直接値の前記一部分は複数の丸めモードのうちの一つに対応する符号(code)を含む、請求項10記載の機械可読媒体。
〔請求項13〕
第一の単一命令複数データ(SIMD)オペランドの少なくとも一つの要素を丸める第一の命令を、前記第一の命令によって規定される、複数のモードのうちの一つのモードに従って実行する実行論理を有する、
プロセッサ。
〔請求項14〕
前記第一の命令および前記第一の命令に関連付けられた直接データ要素を受領し、前記直接データ要素のオーバーライド指標に基づいて、デフォルト丸めモードがオーバーライドされるべきかどうかを判定するコントローラをさらに有する、請求項13記載のプロセッサ。
〔請求項15〕
前記実行論理が、前記デフォルト丸めモードがオーバーライドされるべきである場合、前記直接データ要素の丸めモードに従って前記少なくとも一つの要素を丸める、請求項14記載のプロセッサ。
〔請求項16〕
前記第一の命令は、前記実行論理のデフォルト丸めモード以外の丸めモードを示すオーバーライド指標と、前記複数のモードのうちの前記モードを示すモード・フィールドとを含む、請求項13記載のプロセッサ。
〔請求項17〕
前記複数のモードのうちの少なくとも一つのモードは前記実行論理の制御レジスタに記憶されているデフォルト丸めモードとは異なる、請求項13記載のプロセッサ。
〔請求項18〕
前記複数のモードのうちの前記少なくとも一つのモードに従っての前記第一の命令の実行の間、前記デフォルト丸めモードが前記制御レジスタ内に記憶されたままである、請求項17記載のプロセッサ。
〔請求項19〕
前記実行論理が前記少なくとも一つの要素を丸めて整数の値をもつ浮動小数点値にし、前記第一のSIMDオペランドは限られた精度の浮動小数点値を含む、請求項13記載のプロセッサ。
〔請求項20〕
前記実行論理が前記少なくとも一つの要素を丸めて整数値にし、前記第一のSIMDオペランドは浮動小数点値を含む、請求項13記載のプロセッサ。
Claims (20)
- プロセッサであって:
丸め命令のソース・オペランドに関連する複数のパックされた倍精度浮動小数点値を記憶するソース・ベクター・レジスタと;
前記複数の倍精度浮動小数点値を丸めて、行き先ベクター・レジスタに記憶されるべき複数の丸められた整数値の倍精度浮動小数点値を生成する実行回路であって、前記実行回路は前記実行回路によって使われるべき丸めモードを指定するための第一の組の一つまたは複数のビットおよび精度例外が抑制されるべきかどうかを示す第二の組の一つまたは複数のビットを含む複数のビットを有する直接データに従って丸めを行なう、実行回路とを有する、
プロセッサ。 - 前記直接データをデコードして、前記実行回路によって使われるべき前記丸めモードを決定するとともに前記精度例外が抑制されるべきかどうかを決定する回路をさらに有する、
請求項1記載のプロセッサ。 - 前記第一の組の一つまたは複数のビットが第一の値をもつことに応答して、前記実行回路は、最も近い整数値に対応する丸められた結果を生成する、最も近いものへの丸めモードを選択する、請求項1記載のプロセッサ。
- 前記第一の組の一つまたは複数のビットが第二の値をもつことに応答して、前記実行回路は、打ち切られた結果を生成する打ち切り丸めモードを選択する、請求項3記載のプロセッサ。
- 前記第一の組の一つまたは複数のビットが第三の値または第四の値をもつことに応答して、前記実行回路は、それぞれ負の無限大のほうへの丸めモードまたは正の無限大のほうへの丸めモードを選択する、請求項3記載のプロセッサ。
- 前記実行回路は浮動小数点実行回路である、請求項1記載のプロセッサ。
- 複数のプロセッサ・コアをさらに有し、前記実行回路は前記複数のコアの一つと一体である、
請求項1記載のプロセッサ。 - 前記プロセッサを一つまたは複数の装置に結合する通信相互接続をさらに有する、
請求項1記載のプロセッサ。 - 前記通信相互接続が周辺コンポーネント相互接続エクスプレス(PCIe)相互接続を含む、請求項8記載のプロセッサ。
- 丸め命令のソース・オペランドに関連する複数のパックされた倍精度浮動小数点値をソース・ベクター・レジスタに記憶する段階と;
前記複数の倍精度浮動小数点値を丸めて、行き先ベクター・レジスタに記憶されるべき複数の丸められた整数のパックされた倍精度浮動小数点値を生成する段階であって、丸めは丸めモードを指定するための第一の組の一つまたは複数のビットおよび精度例外が抑制されるべきかどうかを示す第二の組の一つまたは複数のビットを含む複数のビットを有する直接データに従って実行される、段階とを含む、
方法。 - 前記直接データをデコードして、使われるべき前記丸めモードを決定するとともに前記精度例外が抑制されるべきかどうかを決定する段階をさらに含む、
請求項10記載の方法。 - 前記第一の組の一つまたは複数のビットが第一の値をもつことに応答して、最も近い整数値に対応する丸められた結果を生成する、最も近いものへの丸めモードを選択する、請求項10記載の方法。
- 前記第一の組の一つまたは複数のビットが第二の値をもつことに応答して、打ち切られた結果を生成する打ち切り丸めモードを選択する、請求項12記載の方法。
- 前記第一の組の一つまたは複数のビットが第三の値または第四の値をもつことに応答して、それぞれ負の無限大のほうへの丸めモードまたは正の無限大のほうへの丸めモードを選択する、請求項13記載の方法。
- 機械によって実行されたときに該機械に動作を実行させるためのプログラムであって、前記動作は:
丸め命令のソース・オペランドに関連する複数のパックされた倍精度浮動小数点値をソース・ベクター・レジスタに記憶する段階と;
前記複数の倍精度浮動小数点値を丸めて、行き先ベクター・レジスタに記憶されるべき複数の丸められた整数のパックされた倍精度浮動小数点値を生成する段階であって、丸めは丸めモードを指定するための第一の組の一つまたは複数のビットおよび精度例外が抑制されるべきかどうかを示す第二の組の一つまたは複数のビットを含む複数のビットを有する直接データに従って実行される、段階とを含む、
プログラム。 - 前記動作が、前記直接データをデコードして、使われるべき前記丸めモードを決定するとともに前記精度例外が抑制されるべきかどうかを決定する段階をさらに含む、
請求項15記載のプログラム。 - 前記動作が、前記第一の組の一つまたは複数のビットが第一の値をもつことに応答して、最も近い整数値に対応する丸められた結果を生成する、最も近いものへの丸めモードを選択することを含む、請求項15記載のプログラム。
- 前記動作が、前記第一の組の一つまたは複数のビットが第二の値をもつことに応答して、打ち切られた結果を生成する打ち切り丸めモードを選択することを含む、請求項17記載のプログラム。
- 前記動作が、前記第一の組の一つまたは複数のビットが第三の値または第四の値をもつことに応答して、それぞれ負の無限大のほうへの丸めモードまたは正の無限大のほうへの丸めモードを選択することを含む、請求項18記載のプログラム。
- 請求項15ないし19のうちいずれか一項記載のプログラムを記憶している機械可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/525,420 | 2006-09-22 | ||
US11/525,420 US9223751B2 (en) | 2006-09-22 | 2006-09-22 | Performing rounding operations responsive to an instruction |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017087793A Division JP6333439B2 (ja) | 2006-09-22 | 2017-04-27 | 命令に応じた丸め処理の実行 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018139134A JP2018139134A (ja) | 2018-09-06 |
JP6487097B2 true JP6487097B2 (ja) | 2019-03-20 |
Family
ID=39200854
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009528536A Active JP4990977B2 (ja) | 2006-09-22 | 2007-09-21 | 命令に応じた丸め処理の実行 |
JP2011263344A Active JP5475746B2 (ja) | 2006-09-22 | 2011-12-01 | 命令に応じた丸め処理の実行 |
JP2014021474A Active JP5851536B2 (ja) | 2006-09-22 | 2014-02-06 | 命令に応じた丸め処理の実行 |
JP2015235721A Active JP6162203B2 (ja) | 2006-09-22 | 2015-12-02 | 命令に応じた丸め処理の実行 |
JP2017087793A Active JP6333439B2 (ja) | 2006-09-22 | 2017-04-27 | 命令に応じた丸め処理の実行 |
JP2018082706A Active JP6487097B2 (ja) | 2006-09-22 | 2018-04-24 | 命令に応じた丸め処理の実行 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009528536A Active JP4990977B2 (ja) | 2006-09-22 | 2007-09-21 | 命令に応じた丸め処理の実行 |
JP2011263344A Active JP5475746B2 (ja) | 2006-09-22 | 2011-12-01 | 命令に応じた丸め処理の実行 |
JP2014021474A Active JP5851536B2 (ja) | 2006-09-22 | 2014-02-06 | 命令に応じた丸め処理の実行 |
JP2015235721A Active JP6162203B2 (ja) | 2006-09-22 | 2015-12-02 | 命令に応じた丸め処理の実行 |
JP2017087793A Active JP6333439B2 (ja) | 2006-09-22 | 2017-04-27 | 命令に応じた丸め処理の実行 |
Country Status (7)
Country | Link |
---|---|
US (11) | US9223751B2 (ja) |
JP (6) | JP4990977B2 (ja) |
KR (1) | KR100947138B1 (ja) |
CN (6) | CN103593165B (ja) |
DE (1) | DE112007001989B4 (ja) |
RU (2) | RU2447484C1 (ja) |
WO (1) | WO2008036944A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9223751B2 (en) | 2006-09-22 | 2015-12-29 | Intel Corporation | Performing rounding operations responsive to an instruction |
US8327120B2 (en) * | 2007-12-29 | 2012-12-04 | Intel Corporation | Instructions with floating point control override |
US8046400B2 (en) | 2008-04-10 | 2011-10-25 | Via Technologies, Inc. | Apparatus and method for optimizing the performance of x87 floating point addition instructions in a microprocessor |
CN101930354B (zh) * | 2009-07-28 | 2014-03-12 | 威盛电子股份有限公司 | 微处理器及其执行指令的方法 |
US8407271B2 (en) * | 2009-08-28 | 2013-03-26 | Advanced Micro Devices, Inc. | Method for floating point round to integer operation |
US8914430B2 (en) | 2010-09-24 | 2014-12-16 | Intel Corporation | Multiply add functional unit capable of executing scale, round, GETEXP, round, GETMANT, reduce, range and class instructions |
EP3805921B1 (en) | 2011-04-01 | 2023-09-06 | INTEL Corporation | Vector friendly instruction format and execution thereof |
US10209986B2 (en) * | 2011-12-22 | 2019-02-19 | Intel Corporation | Floating point rounding processors, methods, systems, and instructions |
WO2013101119A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and apparatus for controlling a mxcsr |
EP2798466B1 (en) * | 2011-12-30 | 2017-12-13 | Intel Corporation | Floating point round-off amount determination processors, methods, systems, and instructions |
KR101835494B1 (ko) * | 2013-11-27 | 2018-03-08 | 인텔 코포레이션 | 프로세서의 버퍼의 자율 제어 |
CN106406810B (zh) * | 2014-07-02 | 2019-08-06 | 上海兆芯集成电路有限公司 | 微处理器及其方法 |
US9817661B2 (en) * | 2015-10-07 | 2017-11-14 | Arm Limited | Floating point number rounding |
CN106485318B (zh) * | 2015-10-08 | 2019-08-30 | 上海兆芯集成电路有限公司 | 具有混合协处理器/执行单元神经网络单元的处理器 |
US20170177336A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Hardware cancellation monitor for floating point operations |
US9996319B2 (en) * | 2015-12-23 | 2018-06-12 | Intel Corporation | Floating point (FP) add low instructions functional unit |
US20180173527A1 (en) * | 2016-12-15 | 2018-06-21 | Optimum Semiconductor Technologies, Inc. | Floating point instruction format with embedded rounding rule |
US10725739B2 (en) | 2017-06-23 | 2020-07-28 | International Business Machines Corporation | Compiler controls for program language constructs |
US10379851B2 (en) | 2017-06-23 | 2019-08-13 | International Business Machines Corporation | Fine-grained management of exception enablement of floating point controls |
US10481908B2 (en) | 2017-06-23 | 2019-11-19 | International Business Machines Corporation | Predicted null updated |
US10740067B2 (en) | 2017-06-23 | 2020-08-11 | International Business Machines Corporation | Selective updating of floating point controls |
US10310814B2 (en) | 2017-06-23 | 2019-06-04 | International Business Machines Corporation | Read and set floating point control register instruction |
US10514913B2 (en) | 2017-06-23 | 2019-12-24 | International Business Machines Corporation | Compiler controls for program regions |
US10684852B2 (en) | 2017-06-23 | 2020-06-16 | International Business Machines Corporation | Employing prefixes to control floating point operations |
US11372643B2 (en) | 2018-11-09 | 2022-06-28 | Intel Corporation | Systems and methods for performing instructions to convert to 16-bit floating-point format |
US11366663B2 (en) | 2018-11-09 | 2022-06-21 | Intel Corporation | Systems and methods for performing 16-bit floating-point vector dot product instructions |
US10908878B2 (en) * | 2018-11-26 | 2021-02-02 | Nvidia Corporation | Dynamic directional rounding |
US11099853B2 (en) * | 2019-02-15 | 2021-08-24 | International Business Machines Corporation | Digit validation check control in instruction execution |
CN110134436B (zh) * | 2019-05-05 | 2021-03-02 | 飞依诺科技(苏州)有限公司 | 超声数据打包处理方法及系统 |
US11327923B2 (en) | 2019-09-04 | 2022-05-10 | SambaNova Systems, Inc. | Sigmoid function in hardware and a reconfigurable data processor including same |
US11327713B2 (en) | 2019-10-01 | 2022-05-10 | SambaNova Systems, Inc. | Computation units for functions based on lookup tables |
US11328038B2 (en) | 2019-11-25 | 2022-05-10 | SambaNova Systems, Inc. | Computational units for batch normalization |
US11150872B2 (en) * | 2019-12-17 | 2021-10-19 | SambaNova Systems, Inc. | Computational units for element approximation |
CN113031914B (zh) * | 2019-12-24 | 2023-05-16 | 龙芯中科技术股份有限公司 | 浮点舍入模式的控制方法、装置、设备及存储介质 |
US11836629B2 (en) | 2020-01-15 | 2023-12-05 | SambaNova Systems, Inc. | Computationally efficient softmax loss gradient backpropagation |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
US20220414182A1 (en) * | 2021-06-26 | 2022-12-29 | Intel Corporation | Apparatuses, methods, and systems for instructions for matrix multiplication instructions |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56135236A (en) * | 1980-03-24 | 1981-10-22 | Casio Comput Co Ltd | Numeric data displaying system |
JPH0469734A (ja) * | 1990-07-11 | 1992-03-04 | Toshiba Corp | 浮動小数点加減算のアンダーフロー例外発生予測回路 |
RU2018921C1 (ru) * | 1992-06-19 | 1994-08-30 | Институт точной механики и вычислительной техники им.С.А.Лебедева РАН | Устройство для нормализации и округления вещественных чисел |
US5450607A (en) | 1993-05-17 | 1995-09-12 | Mips Technologies Inc. | Unified floating point and integer datapath for a RISC processor |
US5516658A (en) * | 1993-08-20 | 1996-05-14 | Immunex Corporation | DNA encoding cytokines that bind the cell surface receptor hek |
US5404324A (en) * | 1993-11-01 | 1995-04-04 | Hewlett-Packard Company | Methods and apparatus for performing division and square root computations in a computer |
US5487022A (en) | 1994-03-08 | 1996-01-23 | Texas Instruments Incorporated | Normalization method for floating point numbers |
EP0685794A1 (en) * | 1994-06-01 | 1995-12-06 | Advanced Micro Devices, Inc. | System for generating floating point test vectors |
US5631859A (en) * | 1994-10-27 | 1997-05-20 | Hewlett-Packard Company | Floating point arithmetic unit having logic for quad precision arithmetic |
US5696709A (en) * | 1995-03-31 | 1997-12-09 | International Business Machines Corporation | Program controlled rounding modes |
US5812439A (en) * | 1995-10-10 | 1998-09-22 | Microunity Systems Engineering, Inc. | Technique of incorporating floating point information into processor instructions |
JPH09128217A (ja) * | 1995-10-31 | 1997-05-16 | Hitachi Ltd | 丸め処理回路 |
US5886915A (en) * | 1995-11-13 | 1999-03-23 | Intel Corporation | Method and apparatus for trading performance for precision when processing denormal numbers in a computer system |
US6012139A (en) * | 1996-01-31 | 2000-01-04 | Hitachi Micro Systems, Inc. | Microprocessor including floating point unit with 16-bit fixed length instruction set |
US6128726A (en) * | 1996-06-04 | 2000-10-03 | Sigma Designs, Inc. | Accurate high speed digital signal processor |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US5782304A (en) | 1996-11-26 | 1998-07-21 | Garcia-Soule; Virgilio | Normally closed retainer valve with fail-safe pump through capability |
US6058410A (en) * | 1996-12-02 | 2000-05-02 | Intel Corporation | Method and apparatus for selecting a rounding mode for a numeric operation |
JPH10187416A (ja) | 1996-12-20 | 1998-07-21 | Nec Corp | 浮動小数点演算装置 |
US6233672B1 (en) * | 1997-03-06 | 2001-05-15 | Advanced Micro Devices, Inc. | Piping rounding mode bits with floating point instructions to eliminate serialization |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US6055555A (en) | 1997-12-29 | 2000-04-25 | Intel Corporation | Interface for performing parallel arithmetic and round operations |
US6044454A (en) | 1998-02-19 | 2000-03-28 | International Business Machines Corporation | IEEE compliant floating point unit |
US6292815B1 (en) | 1998-04-30 | 2001-09-18 | Intel Corporation | Data conversion between floating point packed format and integer scalar format |
US6282634B1 (en) | 1998-05-27 | 2001-08-28 | Arm Limited | Apparatus and method for processing data having a mixed vector/scalar register file |
JP2000010762A (ja) * | 1998-06-19 | 2000-01-14 | Mitsubishi Electric Corp | 浮動小数点演算装置 |
US7346643B1 (en) | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
JP2001236206A (ja) | 1999-10-01 | 2001-08-31 | Hitachi Ltd | データのロード方法及びその記憶方法、データワードのロード方法及びその記憶方法、並びに、浮動小数点数の比較方法 |
US6571265B1 (en) * | 1999-10-29 | 2003-05-27 | Intel Corporation | Mechanism to detect IEEE underflow exceptions on speculative floating-point operations |
US6820106B1 (en) * | 2000-06-27 | 2004-11-16 | Intel Corporation | Method and apparatus for improving the performance of a floating point multiplier accumulator |
US6879992B2 (en) | 2000-12-27 | 2005-04-12 | Intel Corporation | System and method to efficiently round real numbers |
US6996591B2 (en) | 2000-12-27 | 2006-02-07 | Intel Corporation | System and method to efficiently approximate the term 2x |
US6889242B1 (en) * | 2001-06-29 | 2005-05-03 | Koninklijke Philips Electronics N.V. | Rounding operations in computer processor |
WO2003038092A1 (en) * | 2001-11-01 | 2003-05-08 | Sympore Gmbh | Method for identifying transport proteins |
US7120755B2 (en) * | 2002-01-02 | 2006-10-10 | Intel Corporation | Transfer of cache lines on-chip between processing cores in a multi-core system |
US7529912B2 (en) * | 2002-02-12 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for instruction-level specification of floating point format |
JP2004171234A (ja) | 2002-11-19 | 2004-06-17 | Toshiba Corp | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム |
CN1503160A (zh) | 2002-11-20 | 2004-06-09 | 英业达股份有限公司 | 计算机可执行的电子书阅读界面的自动排版方法 |
US7523152B2 (en) * | 2002-12-26 | 2009-04-21 | Intel Corporation | Methods for supporting extended precision integer divide macroinstructions in a processor |
US7290023B2 (en) | 2003-11-20 | 2007-10-30 | International Business Machines Corporation | High performance implementation of exponent adjustment in a floating point design |
US7380240B2 (en) | 2003-12-23 | 2008-05-27 | Intel Corporation | Apparatus and methods to avoid floating point control instructions in floating point to integer conversion |
JP4477959B2 (ja) * | 2004-07-26 | 2010-06-09 | 独立行政法人理化学研究所 | ブロードキャスト型並列処理のための演算処理装置 |
US20060095714A1 (en) * | 2004-11-03 | 2006-05-04 | Stexar Corporation | Clip instruction for processor |
US7447725B2 (en) * | 2004-11-05 | 2008-11-04 | International Business Machines Corporation | Apparatus for controlling rounding modes in single instruction multiple data (SIMD) floating-point units |
US9223751B2 (en) * | 2006-09-22 | 2015-12-29 | Intel Corporation | Performing rounding operations responsive to an instruction |
-
2006
- 2006-09-22 US US11/525,420 patent/US9223751B2/en active Active
-
2007
- 2007-09-21 KR KR1020070097040A patent/KR100947138B1/ko active IP Right Grant
- 2007-09-21 CN CN201310524726.0A patent/CN103593165B/zh active Active
- 2007-09-21 CN CN201510697468.5A patent/CN105573715B/zh active Active
- 2007-09-21 RU RU2011102731/08A patent/RU2447484C1/ru not_active IP Right Cessation
- 2007-09-21 CN CN201910143641.5A patent/CN109871235A/zh active Pending
- 2007-09-21 RU RU2009115188/08A patent/RU2420790C2/ru not_active IP Right Cessation
- 2007-09-21 CN CN201010200409XA patent/CN101882064B/zh active Active
- 2007-09-21 JP JP2009528536A patent/JP4990977B2/ja active Active
- 2007-09-21 WO PCT/US2007/079233 patent/WO2008036944A1/en active Application Filing
- 2007-09-21 DE DE112007001989.1T patent/DE112007001989B4/de active Active
- 2007-09-21 CN CN201910766458.0A patent/CN110471643A/zh active Pending
- 2007-09-21 CN CNA2007101701526A patent/CN101149674A/zh active Pending
-
2011
- 2011-12-01 JP JP2011263344A patent/JP5475746B2/ja active Active
-
2013
- 2013-03-11 US US13/793,648 patent/US9286267B2/en active Active
-
2014
- 2014-02-06 JP JP2014021474A patent/JP5851536B2/ja active Active
-
2015
- 2015-12-02 JP JP2015235721A patent/JP6162203B2/ja active Active
-
2016
- 2016-01-22 US US15/003,951 patent/US10067761B2/en active Active
-
2017
- 2017-04-12 US US15/485,372 patent/US10114640B2/en active Active
- 2017-04-12 US US15/485,378 patent/US10114641B2/en active Active
- 2017-04-12 US US15/485,356 patent/US10108416B2/en active Active
- 2017-04-27 JP JP2017087793A patent/JP6333439B2/ja active Active
- 2017-07-27 US US15/661,211 patent/US20170322804A1/en not_active Abandoned
- 2017-07-27 US US15/661,190 patent/US20170322802A1/en not_active Abandoned
- 2017-07-27 US US15/661,199 patent/US20170322803A1/en not_active Abandoned
- 2017-07-27 US US15/661,219 patent/US20170322805A1/en not_active Abandoned
-
2018
- 2018-04-24 JP JP2018082706A patent/JP6487097B2/ja active Active
-
2020
- 2020-12-01 US US17/108,083 patent/US20210216314A1/en not_active Abandoned
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6487097B2 (ja) | 命令に応じた丸め処理の実行 | |
CN107077416B (zh) | 用于以选择性舍入模式进行向量处理的装置和方法 | |
US7949696B2 (en) | Floating-point number arithmetic circuit for handling immediate values | |
US9608662B2 (en) | Apparatus and method for converting floating-point operand into a value having a different format | |
JP2013541084A (ja) | 浮動小数点除算を実行するための方法および装置 | |
JP2014132485A (ja) | 正規化カウントを判定するプロセッサ及び方法 | |
US9213524B2 (en) | Method and device for generating floating-point values | |
JP2005031847A (ja) | 整数演算の方法および整数演算プログラム、ならびに整数演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180814 |
|
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: 20190122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6487097 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 |