JP2018535476A - 浮動小数点数の丸め処理 - Google Patents
浮動小数点数の丸め処理 Download PDFInfo
- Publication number
- JP2018535476A JP2018535476A JP2018516742A JP2018516742A JP2018535476A JP 2018535476 A JP2018535476 A JP 2018535476A JP 2018516742 A JP2018516742 A JP 2018516742A JP 2018516742 A JP2018516742 A JP 2018516742A JP 2018535476 A JP2018535476 A JP 2018535476A
- Authority
- JP
- Japan
- Prior art keywords
- rounding
- input operand
- floating point
- operand
- value
- 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
- 238000000034 method Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 6
- 230000000295 complement effect Effects 0.000 description 11
- 238000007792 addition Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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
- 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
- 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
- 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
プログラム命令の制御下で処理演算を遂行するための処理回路と、
プログラム命令を復号して、該処理演算を遂行するように該処理回路を制御するための制御信号を生成するための復号器と、を備え、
該復号器が、所与のプログラム命令および丸め位置入力オペランドに応答して、仮数値を有する浮動小数点入力オペランドを処理して、該丸め位置入力オペランドにより指定された該浮動小数点入力オペランドの該仮数内の可変丸め点を使用して該浮動小数点入力オペランドを丸めることからの値に応じた出力結果を生成するように該処理回路を制御するための、制御信号を生成する、装置、を提供する。
プログラム命令の制御下で処理演算を遂行するための処理手段と、
プログラム命令を復号して、該処理演算を遂行するように該処理手段を制御するための制御信号を生成するための復号手段と、を備え、
該復号手段が、所与のプログラム命令および丸め位置入力オペランドに応答して、仮数値を有する浮動小数点入力オペランドを処理して、該丸め位置入力オペランドにより指定された該浮動小数点入力オペランドの該仮数内の可変丸め点を使用して該浮動小数点入力オペランドを丸めることからの値に応じた出力結果を生成するように該処理手段を制御するための、制御信号、を生成する、装置、を提供する。
所与のプログラム命令および丸め位置入力オペランドを復号して、仮数値を有する浮動小数点入力オペランドを処理して、該丸め位置入力オペランドにより指定された該浮動小数点入力オペランドの該仮数内の可変丸め点を使用して丸められた該浮動小数点入力オペランドを丸めることからの値に応じた出力結果を生成するように処理回路を制御するための、制御信号、を生成することを含む、方法、を提供する。
重なり合い部分が正であり、丸めインクリメントを必要としないとき、丸めビットは+0である。
重なり合い部分が正であり、丸めインクリメントを必要とするとき、丸めビットは+1である。
重なり合い部分が負であり、丸めインクリメントを必要としないとき、丸めビットは+1である。
重なり合い部分が負であり、丸めインクリメントを必要とするとき、丸めビットは+0である。
Claims (16)
- データを処理するための装置であって、
プログラム命令の制御下で処理演算を遂行するための処理回路と、
プログラム命令を復号して、前記処理演算を遂行するように前記処理回路を制御するための制御信号を生成するための復号器と、を備え、
前記復号器が、所与のプログラム命令および丸め位置入力オペランドに応答して、仮数値を有する浮動小数点入力オペランドを処理して、前記丸め位置入力オペランドにより指定された前記浮動小数点入力オペランドの前記仮数内の可変丸め点を使用して前記浮動小数点入力オペランドを丸めることからの値に応じた出力結果を生成するように前記処理回路を制御するための制御信号を生成する、装置。 - 前記所与のプログラム命令が、前記浮動小数点入力オペランドおよび前記丸め位置入力オペランドを含む入力オペランドを指定する浮動小数点丸めプログラム命令である、請求項1に記載の装置。
- 前記丸めからの値および前記出力結果が、前記可変点に丸められた前記浮動小数点入力オペランドである、請求項2に記載の装置。
- 前記浮動小数点入力オペランドが、指数値を有し、前記処理回路が、前記丸め位置入力オペランドを前記指数値と比較して、前記可変丸め点を決定する、請求項2および3のいずれか一項に記載の装置。
- 前記処理回路が、丸めモードパラメータにより指定された丸めモードに従って前記丸めを遂行する、請求項2、3、および4のいずれか一項に記載の装置。
- 前記所与のプログラム命令が、プログラマブルなオペランド重要度を有するアンカー付き入力オペランドに前記浮動小数点入力オペランドを加算する変換加算命令である、請求項1〜5のいずれか一項に記載の装置。
- 前記浮動小数点入力オペランドの前記仮数が、前記アンカー付き入力オペランドの最下位ビットから前記アンカー付き入力オペランドの前記最下位ビットより下位に延在するビットを含む重要度範囲を有するとき、前記処理回路が、前記アンカー付き入力オペランドと前記アンカー付き入力オペランドの前記最下位ビットに対応する丸め点に丸められた前記浮動小数点入力オペランドの前記仮数との和に対応する前記出力結果を生成する、請求項6に記載の装置。
- 前記処理回路が、前記アンカー付き入力オペランドと重要度が重なり合う前記浮動小数点入力オペランドの前記仮数の部分と、前記アンカー付き入力オペランドの仮数と、前記アンカー付き入力オペランドの前記最下位ビットの重要度を有する丸めビットとの整数加算を遂行し、前記丸めビットが、前記丸めからの値である、請求項7に記載の装置。
- 前記部分が正であり、丸めインクリメントを必要としないとき、前記丸めビットが+0であり、
前記部分が正であり、丸めインクリメントを必要とするとき、前記丸めビットが+1であり、
前記部分が負であり、丸めインクリメントを必要としないとき、前記丸めビットが+1であり、
前記部分が負であり、丸めインクリメントを必要とするとき、前記丸めビットが+0である、請求項8に記載の装置。 - 前記丸め位置オペランドが、前記プログラマブルなオペランド重要度に応じたものである、請求項6〜9のいずれか一項に記載の装置。
- 前記プログラマブルなオペランド重要度が、前記アンカー付き入力オペランドの最下位ビット位置を指定する、請求項10に記載の装置。
- 前記浮動小数点入力オペランドが、指数値を有し、前記処理回路が、前記プログラマブルなオペランド重要度を前記指数値と比較して、前記可変丸め点を決定する、請求項11に記載の装置。
- 前記処理回路が、それぞれの重要度部分前記変換加算命令を実行するための複数の加算器を含み、前記複数の加算器中の最下位加算器が、前記浮動小数点入力オペランドのためのいかなる丸めも提供するための丸め回路を含む、請求項6〜12のいずれか一項に記載の装置。
- 前記処理回路が、丸めモードパラメータにより指定された丸めモードに従って前記丸めを遂行する、請求項6〜13のいずれか一項に記載の装置。
- データを処理するための装置であって、
プログラム命令の制御下で処理演算を遂行するための処理手段と、
プログラム命令を復号して、前記処理演算を遂行するように前記処理手段を制御するための制御信号を生成するための復号手段と、を備え、
前記復号手段が、所与のプログラム命令および丸め位置入力オペランドに応答して、仮数値を有する浮動小数点入力オペランドを処理して、前記丸め位置入力オペランドにより指定された前記浮動小数点入力オペランドの前記仮数内の可変丸め点を使用して前記浮動小数点入力オペランドを丸めることからの値に応じた出力結果を生成するように前記処理手段を制御するための制御信号を生成する、装置。 - データを処理する方法であって、
所与のプログラム命令および丸め位置入力オペランドを復号して、仮数値を有する浮動小数点入力オペランドを処理して、前記丸め位置入力オペランドにより指定された前記浮動小数点入力オペランドの前記仮数内の可変丸め点を使用して丸められた前記浮動小数点入力オペランドを丸めることからの値に応じた出力結果を生成するように処理回路を制御するための制御信号を生成することを含む、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/877,003 US9817661B2 (en) | 2015-10-07 | 2015-10-07 | Floating point number rounding |
US14/877,003 | 2015-10-07 | ||
PCT/GB2016/051678 WO2017060667A1 (en) | 2015-10-07 | 2016-06-08 | Floating point number rounding |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018535476A true JP2018535476A (ja) | 2018-11-29 |
JP6744913B2 JP6744913B2 (ja) | 2020-08-19 |
Family
ID=56137452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018516742A Active JP6744913B2 (ja) | 2015-10-07 | 2016-06-08 | 浮動小数点数の丸め処理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9817661B2 (ja) |
EP (1) | EP3341833B1 (ja) |
JP (1) | JP6744913B2 (ja) |
CN (1) | CN108139885B (ja) |
WO (1) | WO2017060667A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018533799A (ja) * | 2015-11-12 | 2018-11-15 | エイアールエム リミテッド | ベクトルの処理のためのレーン位置情報 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2018154494A1 (en) | 2017-02-23 | 2018-08-30 | Cerebras Systems Inc. | Accelerated deep learning |
WO2018189728A1 (en) * | 2017-04-14 | 2018-10-18 | Cerebras Systems Inc. | Floating-point unit stochastic rounding for accelerated deep learning |
WO2018193353A1 (en) | 2017-04-17 | 2018-10-25 | Cerebras Systems Inc. | Neuron smearing for accelerated deep learning |
US11488004B2 (en) | 2017-04-17 | 2022-11-01 | Cerebras Systems Inc. | Neuron smearing for accelerated deep learning |
EP3607503B1 (en) | 2017-04-17 | 2022-03-09 | Cerebras Systems Inc. | Task activating for accelerated deep learning |
WO2020044152A1 (en) | 2018-08-28 | 2020-03-05 | Cerebras Systems Inc. | Scaled compute fabric for accelerated deep learning |
US11328208B2 (en) | 2018-08-29 | 2022-05-10 | Cerebras Systems Inc. | Processor element redundancy for accelerated deep learning |
WO2020044208A1 (en) | 2018-08-29 | 2020-03-05 | Cerebras Systems Inc. | Isa enhancements for accelerated deep learning |
JP7087918B2 (ja) * | 2018-10-31 | 2022-06-21 | 富士通株式会社 | 演算処理装置及びその制御方法 |
US20210175899A1 (en) * | 2019-12-09 | 2021-06-10 | Sap Se | Error-bound floating point data compression system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070282938A1 (en) * | 2006-06-06 | 2007-12-06 | Mohammad Abdallah | Integer rounding operation |
JP2010027049A (ja) * | 2008-07-22 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) |
US20110055307A1 (en) * | 2009-08-28 | 2011-03-03 | Kevin Hurd | Method for floating point round to integer operation |
US20120215822A1 (en) * | 2011-02-22 | 2012-08-23 | Arm Limited | Number format pre-conversion instructions |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4295203A (en) * | 1979-11-09 | 1981-10-13 | Honeywell Information Systems Inc. | Automatic rounding of floating point operands |
JPS61213927A (ja) * | 1985-03-18 | 1986-09-22 | Hitachi Ltd | 浮動小数点演算処理装置 |
JPH0776911B2 (ja) * | 1988-03-23 | 1995-08-16 | 松下電器産業株式会社 | 浮動小数点演算装置 |
US5548544A (en) * | 1994-10-14 | 1996-08-20 | Ibm Corporation | Method and apparatus for rounding the result of an arithmetic operation |
US5696711A (en) * | 1995-12-22 | 1997-12-09 | Intel Corporation | Apparatus and method for performing variable precision floating point rounding operations |
JP3778489B2 (ja) * | 2001-06-04 | 2006-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロセッサ、演算装置及び演算方法 |
US20060179096A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | System and method for a fused multiply-add dataflow with early feedback prior to rounding |
US9223751B2 (en) * | 2006-09-22 | 2015-12-29 | Intel Corporation | Performing rounding operations responsive to an instruction |
US8443029B2 (en) * | 2007-03-01 | 2013-05-14 | International Business Machines Corporation | Round for reround mode in a decimal floating point instruction |
CN101174200B (zh) * | 2007-05-18 | 2010-09-08 | 清华大学 | 一种具有五级流水线结构的浮点乘加融合单元 |
US8386755B2 (en) * | 2009-07-28 | 2013-02-26 | Via Technologies, Inc. | Non-atomic scheduling of micro-operations to perform round instruction |
CN101650642B (zh) * | 2009-09-11 | 2011-01-05 | 杭州中天微系统有限公司 | 基于补码舍入的浮点加法装置 |
US10209986B2 (en) * | 2011-12-22 | 2019-02-19 | Intel Corporation | Floating point rounding processors, methods, systems, and instructions |
US9059726B2 (en) * | 2012-05-11 | 2015-06-16 | Arm Limited | Apparatus and method for performing a convert-to-integer operation |
US9405728B2 (en) * | 2013-09-05 | 2016-08-02 | Altera Corporation | Floating-point adder circuitry |
US9348557B1 (en) * | 2014-02-21 | 2016-05-24 | Altera Corporation | Fused floating point datapath with correct rounding |
US9483232B2 (en) * | 2014-03-07 | 2016-11-01 | Arm Limited | Data processing apparatus and method for multiplying floating point operands |
-
2015
- 2015-10-07 US US14/877,003 patent/US9817661B2/en active Active
-
2016
- 2016-06-08 CN CN201680056804.0A patent/CN108139885B/zh active Active
- 2016-06-08 JP JP2018516742A patent/JP6744913B2/ja active Active
- 2016-06-08 WO PCT/GB2016/051678 patent/WO2017060667A1/en active Application Filing
- 2016-06-08 EP EP16730461.7A patent/EP3341833B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070282938A1 (en) * | 2006-06-06 | 2007-12-06 | Mohammad Abdallah | Integer rounding operation |
JP2010027049A (ja) * | 2008-07-22 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) |
US20110055307A1 (en) * | 2009-08-28 | 2011-03-03 | Kevin Hurd | Method for floating point round to integer operation |
US20120215822A1 (en) * | 2011-02-22 | 2012-08-23 | Arm Limited | Number format pre-conversion instructions |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018533799A (ja) * | 2015-11-12 | 2018-11-15 | エイアールエム リミテッド | ベクトルの処理のためのレーン位置情報 |
Also Published As
Publication number | Publication date |
---|---|
CN108139885B (zh) | 2023-04-07 |
CN108139885A (zh) | 2018-06-08 |
EP3341833B1 (en) | 2020-01-15 |
US20170102939A1 (en) | 2017-04-13 |
JP6744913B2 (ja) | 2020-08-19 |
EP3341833A1 (en) | 2018-07-04 |
WO2017060667A1 (en) | 2017-04-13 |
US9817661B2 (en) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6744913B2 (ja) | 浮動小数点数の丸め処理 | |
CN107077416B (zh) | 用于以选择性舍入模式进行向量处理的装置和方法 | |
JP6487097B2 (ja) | 命令に応じた丸め処理の実行 | |
KR102447636B1 (ko) | 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법 | |
US11175891B2 (en) | Systems and methods to perform floating-point addition with selected rounding | |
KR102318494B1 (ko) | 곱셈 가산기 | |
EP3447634B1 (en) | Non-linear function computing device and method | |
US9104479B2 (en) | Apparatus and method for rounding a floating-point value to an integral floating-point value | |
US9678716B2 (en) | Apparatus and method for performing absolute difference operation | |
US20180307489A1 (en) | Apparatus and method for performing multiply-and-accumulate-products operations | |
JP2012022691A (ja) | 精度制御反復算術論理演算ユニット | |
US20220107805A1 (en) | Floating Point Number Format | |
KR102560424B1 (ko) | 와이드 데이터 타입들의 비교 | |
JP4476210B2 (ja) | 逆数演算の結果値の初期推定値を求めるデータ処理装置および方法 | |
JP2006228190A (ja) | 入力値に逆数演算を実施して結果値を作り出すデータ処理装置および方法 | |
CN110506255B (zh) | 节能型可变功率加法器及其使用方法 | |
US8924447B2 (en) | Double precision approximation of a single precision operation | |
Gustafson | RISC-V proposed extension for 32-bit posits | |
US9141586B2 (en) | Method, apparatus, system for single-path floating-point rounding flow that supports generation of normals/denormals and associated status flags | |
KR102706124B1 (ko) | 부동 소수점 연산 방법 및 장치 | |
JP2010049611A (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
JPH04328630A (ja) | 浮動小数点乗除算装置 | |
JPS60254231A (ja) | 浮動小数点演算制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200623 |
|
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: 20200708 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6744913 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 |