JP7285966B2 - 多入力浮動小数点加算器 - Google Patents
多入力浮動小数点加算器 Download PDFInfo
- Publication number
- JP7285966B2 JP7285966B2 JP2021569502A JP2021569502A JP7285966B2 JP 7285966 B2 JP7285966 B2 JP 7285966B2 JP 2021569502 A JP2021569502 A JP 2021569502A JP 2021569502 A JP2021569502 A JP 2021569502A JP 7285966 B2 JP7285966 B2 JP 7285966B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- operand
- value
- mantissa
- bit
- 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
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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49915—Mantissa overflow or underflow in handling 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- 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
- G06F7/49952—Sticky bit
-
- 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/50—Adding; Subtracting
- G06F7/504—Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other
- G06F7/5045—Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other for multiple operands
-
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
数値は、多くの場合、コンピュータにおいては、浮動小数点フォーマットを用いて表される。2入力加算器は、多くの場合、浮動小数点数に対して加算演算および(数値のうちの1つの補数を用いて)減算演算を実行するために用いられる。2つより多い浮動小数点数に対してそのような演算を実行するために、複数の加算器を用いて一回に2つまでの浮動小数点数を加算することができ、または複数の加算演算を単一の加算器によって実行することができる。例えば、3つの浮動小数点数を加算するために、加算器は、浮動小数点数のうちの2つを加算し、次いで、最初の2つの数の和に第3の浮動小数点数を加算することができる。
本明細書では、3個以上の浮動小数点数を加算する多入力加算器に関する技術について説明する。
詳細な説明
一般に、本明細書で説明するシステムおよび技法は、3つ以上の浮動小数点入力の和を計算する多入力ハードウェア加算器に関する。例えば、4入力加算器は、4つの浮動小数点数の和を計算することができる。浮動小数点数は、浮動小数点数が正であるか負であるかを示す符号ビットと、浮動小数点数の指数の値を表す指数ビットと、浮動小数点数の有効桁を表す仮数(mantissa)ビット(significandとも称される)とを含むビットのセットによって表される。例えば、IEEE754単精度フォーマット浮動小数点数は、1個の符号ビット、8個の指数ビット、および24個の仮数ビット(23個の明示的に格納されるもの、および暗黙の隠れビット)を含む。浮動小数点数の値を導出するために、仮数を、指数で累乗した基底(例えば、2の基底)で乗算する。
Claims (20)
- 3つ以上の浮動小数点入力を有する多入力ハードウェア加算器によって実行される方法であって、
前記多入力ハードウェア加算器によって加算されるべき3つ以上のオペランドの各々について、前記オペランドの浮動小数点表現を含むビットのセットを受けることと、
各他のオペランドが整列される所与のオペランドを識別することと、
前記各他のオペランドについて、当該オペランドのビットが前記所与のオペランドのビットと整列するように当該オペランドの仮数ビットを0以上のビット位置だけシフトさせることによって、当該オペランドについて、シフトされたビットのセットを生成することと、
前記シフトに基づいて、前記各他のオペランドに対するスティッキービットの値を決定することを含み、オペランドに対する前記スティッキービットは、
非0値が、前記オペランドの仮数ビットの最下位位置および任意の精度ビット位置を越えてシフトされて、前記オペランドに対する前記シフトされたビットのセットを生成したとき、非0値を有し、前記方法はさらに、
各スティッキービットの値に基づいて、全体的なスティッキービット値を決定することを含み、
他のオペランドのすべてに対するスティッキービットのすべてが0であるときに、前記全体的なスティッキービット値は、0であり、
前記他のオペランドのうちの少なくとも2つが、非0でありかつ一致しないスティッキービットを有するときに、前記全体的なスティッキービット値は、0であり、
各非0スティッキービットのすべてが一致するときに、前記全体的なスティッキービット値は、前記各非0スティッキービットの値に一致し、
非0スティッキービットが1つだけあるときに、前記全体的なスティッキービット値は、前記非0スティッキービットの値に一致し、前記方法はさらに、
(i)前記所与のオペランドを表すビットのセット、(ii)前記各他のオペランドに対する前記シフトされたビットのセット、および(iii)前記全体的なスティッキービット値を用いて、前記3つ以上のオペランドの和を求めることを含む、方法。 - 前記3つ以上のオペランドの和を求めることは、
前記所与のオペランドを表すビットのセットと各シフトされたビットのセットとの和を表す合計のビットのセットを決定することと、
前記合計のビットのセットの仮数の隠れビットが0であるときはいつでも、前記合計のビットのセットの仮数を前記隠れビットが1になるまでシフトさせることによって、前記合計のビットのセットの仮数を正規化することと、
前記合計のビットのセットの仮数および前記全体的なスティッキービット値に基づいて、前記合計のビットのセットによって表される浮動小数点値を丸めるべきかどうかを判断することとを含む、請求項1に記載の方法。 - 前記合計のビットのセットによって表される浮動小数点値を丸めるかどうかを判断することは、
前記合計のビットのセットの仮数を正規化するために前記合計のビットのセットの仮数をシフトさせたビット位置の数を決定することと、
前記ビット位置の数が、前記スティッキービット以外の前記多入力ハードウェア加算器の精度ビット数を超えるときはいつでも、前記合計のビットのセットによって表される浮動小数点値と前記全体的なスティッキービット値とに基づいて、前記合計のビットのセットによって表される浮動小数点値を丸めるよう決定することとを含む、請求項2に記載の方法。 - 前記全体的なスティッキービット値が、非0でありかつ正規化中に前記合計のビットのセットの仮数にシフトされるときはいつでも、前記全体的なスティッキービット値を表すであろう前記合計のビットのセットの仮数のビットを0に割り当てることによって、前記全体的なスティッキービット値が正規化中に前記合計のビットのセットの仮数に含まれないようにすることをさらに含む、請求項2または3に記載の方法。
- 前記オペランドの仮数ビットを0以上のビット位置だけシフトすることは、前記オペランドの指数と前記所与のオペランドの指数との差に基づいて前記仮数ビットをシフトすることを含む、請求項1~4のいずれか1項に記載の方法。
- 前記各他のオペランドが整列される所与のオペランドを識別することは、最大の指数値を有するオペランドを識別することを含む、請求項1~5のいずれか1項に記載の方法。
- 前記多入力ハードウェア加算器は、4つの浮動小数点入力を有し、前記4つの浮動小数点入力で受け取られる4つの浮動小数点値の和を求める4入力加算器である、請求項1~6のいずれか1項に記載の方法。
- 多入力ハードウェア加算器であって、
3つ以上の浮動小数点オペランドを受けるように構成された3つ以上の入力と、
オペレーションを実行するように構成された加算器回路とを備え、前記オペレーションは、
前記多入力ハードウェア加算器によって加算されるべき3つ以上のオペランドの各々について、前記オペランドの浮動小数点表現を含むビットのセットを受けることと、
各他のオペランドが整列される所与のオペランドを識別することと、
前記各他のオペランドについて、当該オペランドのビットが前記所与のオペランドのビットと整列するように当該オペランドの仮数ビットを0以上のビット位置だけシフトさせることによって、当該オペランドについて、シフトされたビットのセットを生成することと、
前記シフトに基づいて、前記各他のオペランドに対するスティッキービットの値を決定することを含み、オペランドに対する前記スティッキービットは、
非0値が、前記オペランドの仮数ビットの最下位位置および任意の精度ビット位置を越えてシフトされて、前記オペランドに対する前記シフトされたビットのセットを生成したとき、非0値を有し、前記オペレーションはさらに、
各スティッキービットの値に基づいて、全体的なスティッキービット値を決定することを含み、
他のオペランドのすべてに対するスティッキービットのすべてが0であるときに、前記全体的なスティッキービット値は、0であり、
前記他のオペランドのうちの少なくとも2つが、非0でありかつ一致しないスティッキービットを有するときに、前記全体的なスティッキービット値は、0であり、
各非0スティッキービットのすべてが一致するときに、前記全体的なスティッキービット値は、前記各非0スティッキービットの値に一致し、
非0スティッキービットが1つだけあるときに、前記全体的なスティッキービット値は、前記非0スティッキービットの値に一致し、
前記オペレーションはさらに、
(i)前記所与のオペランドを表すビットのセット、(ii)前記各他のオペランドに対する前記シフトされたビットのセット、および(iii)前記全体的なスティッキービット値を用いて、前記3つ以上のオペランドの和を求めることを含む、多入力ハードウェア加算器。 - 前記3つ以上のオペランドの和を求めることは、
前記所与のオペランドを表すビットのセットと各シフトされたビットのセットとの和を表す合計のビットのセットを決定することと、
前記合計のビットのセットの仮数の隠れビットが0であるときはいつでも、前記合計のビットのセットの仮数を前記隠れビットが1になるまでシフトさせることによって、前記合計のビットのセットの仮数を正規化することと、
前記合計のビットのセットの仮数および前記全体的なスティッキービット値に基づいて、前記合計のビットのセットによって表される浮動小数点値を丸めるべきかどうかを判断することとを含む、請求項8に記載の多入力ハードウェア加算器。 - 前記合計のビットのセットによって表される浮動小数点値を丸めるかどうかを判断することは、
前記合計のビットのセットの仮数を正規化するために前記合計のビットのセットの仮数をシフトさせたビット位置の数を決定することと、
前記ビット位置の数が、前記スティッキービット以外の前記多入力ハードウェア加算器の精度ビット数を超えるときはいつでも、前記合計のビットのセットによって表される浮動小数点値と前記全体的なスティッキービット値とに基づいて、前記合計のビットのセットによって表される浮動小数点値を丸めるよう決定することとを含む、請求項9に記載の多入力ハードウェア加算器。 - 前記オペレーションは、前記全体的なスティッキービット値が、非0でありかつ正規化中に前記合計のビットのセットの仮数にシフトされるときはいつでも、前記全体的なスティッキービット値を表すであろう前記合計のビットのセットの仮数のビットを0に割り当てることによって、前記全体的なスティッキービット値が正規化中に前記合計のビットのセットの仮数に含まれないようにすることを含む、請求項9または10に記載の多入力ハードウェア加算器。
- 前記オペランドの仮数ビットを0以上のビット位置だけシフトすることは、前記オペランドの指数と前記所与のオペランドの指数との差に基づいて前記仮数ビットをシフトすることを含む、請求項8~11のいずれか1項に記載の多入力ハードウェア加算器。
- 前記各他のオペランドが整列される所与のオペランドを識別することは、最大の指数値を有するオペランドを識別することを含む、請求項8~12のいずれか1項に記載の多入力ハードウェア加算器。
- 前記多入力ハードウェア加算器は、4つの浮動小数点入力を有し、前記4つの浮動小数点入力で受け取られる4つの浮動小数点値の和を求める4入力加算器である、請求項8~13のいずれか1項に記載の多入力ハードウェア加算器。
- 多入力ハードウェア加算器であって、
3つ以上の浮動小数点オペランドを受けるように構成された3つ以上の入力を備え、各入力は、オペランドの浮動小数点表現を含むビットのセットを受けるように構成され、前記多入力ハードウェア加算器はさらに、
各他のオペランドが整列される所与のオペランドを識別するように構成される指数減算およびスワップコンポーネントと、
1つ以上のシフタとを備え、前記1つ以上のシフタは、
前記所与のオペランドと異なる各他のオペランドについて、当該オペランドのビットが前記所与のオペランドのビットと整列するように当該オペランドの仮数ビットを0以上のビット位置だけシフトさせることによって、当該オペランドについて、シフトされたビットのセットを生成することと、
前記シフトに基づいて、前記各他のオペランドに対するスティッキービットの値を決定するよう構成され、オペランドに対する前記スティッキービットは、
非0値が、前記オペランドの仮数ビットの最下位位置および任意の精度ビット位置を越えてシフトされて、前記オペランドに対する前記シフトされたビットのセットを生成したとき、非0値を有し、前記多入力ハードウェア加算器はさらに、
各スティッキービットの値に基づいて、全体的なスティッキービット値を決定するように構成されたスティッキービット計算器を備え、
他のオペランドのすべてに対するスティッキービットのすべてが0であるときに、前記全体的なスティッキービット値は、0であり、
前記他のオペランドのうちの少なくとも2つが、非0でありかつ一致しないスティッキービットを有するときに、前記全体的なスティッキービット値は、0であり、
各非0スティッキービットのすべてが一致するときに、前記全体的なスティッキービット値は、前記各非0スティッキービットの値に一致し、
非0スティッキービットが1つだけあるときに、前記全体的なスティッキービット値は、前記非0スティッキービットの値に一致し、
前記多入力ハードウェア加算器はさらに、
(i)前記所与のオペランドを表すビットのセット、(ii)前記各他のオペランドに対する前記シフトされたビットのセット、および(iii)前記全体的なスティッキービット値を用いて、前記3つ以上のオペランドの和を求める加算器回路を備える、多入力ハードウェア加算器。 - 前記1つ以上のシフタは、非0値がオペランドに対するスティッキービットにシフトされるときはいつでも、前記スティッキービットを1の値にセットする、請求項15に記載の多入力ハードウェア加算器。
- 前記加算器回路は、さらに、
前記所与のオペランドを表すビットのセットと各シフトされたビットのセットとの和を表す合計のビットのセットを決定し、
前記合計のビットのセットの仮数の隠れビットが0であるときはいつでも、前記合計のビットのセットの仮数を前記隠れビットが1になるまでシフトさせることによって、前記合計のビットのセットの仮数を正規化し、
前記合計のビットのセットの仮数および前記全体的なスティッキービット値に基づいて、前記合計のビットのセットによって表される浮動小数点値を丸めるべきかどうかを判断するよう構成される、請求項15または16に記載の多入力ハードウェア加算器。 - 前記合計のビットのセットによって表される浮動小数点値を丸めるかどうかを判断することは、
前記合計のビットのセットの仮数を正規化するために前記合計のビットのセットの仮数をシフトさせたビット位置の数を決定することと、
前記ビット位置の数が、前記スティッキービット以外の前記多入力ハードウェア加算器の精度ビット数を超えるときはいつでも、前記合計のビットのセットによって表される浮動小数点値と前記全体的なスティッキービット値とに基づいて、前記合計のビットのセットによって表される浮動小数点値を丸めるよう決定することとを含む、請求項17に記載の多入力ハードウェア加算器。 - 前記加算器回路は、前記全体的なスティッキービット値が、非0でありかつ正規化中に前記合計のビットのセットの仮数にシフトされるときはいつでも、前記全体的なスティッキービット値を表すであろう前記合計のビットのセットの仮数のビットを0に割り当てることによって、前記全体的なスティッキービット値が正規化中に前記合計のビットのセットの仮数に含まれないようにすることを含む、請求項17または18に記載の多入力ハードウェア加算器。
- 前記オペランドの仮数ビットを0以上のビット位置だけシフトすることは、前記オペランドの指数と前記所与のオペランドの指数との差に基づいて前記仮数ビットをシフトすることを含む、請求項15~19のいずれか1項に記載の多入力ハードウェア加算器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962852796P | 2019-05-24 | 2019-05-24 | |
US62/852,796 | 2019-05-24 | ||
US16/435,075 US10514891B1 (en) | 2019-05-24 | 2019-06-07 | Multi-input floating-point adder |
US16/435,075 | 2019-06-07 | ||
PCT/US2019/065956 WO2020242526A1 (en) | 2019-05-24 | 2019-12-12 | Multi-input floating-point adder |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022533850A JP2022533850A (ja) | 2022-07-26 |
JP7285966B2 true JP7285966B2 (ja) | 2023-06-02 |
Family
ID=68979699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021569502A Active JP7285966B2 (ja) | 2019-05-24 | 2019-12-12 | 多入力浮動小数点加算器 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10514891B1 (ja) |
EP (1) | EP3977259A1 (ja) |
JP (1) | JP7285966B2 (ja) |
KR (1) | KR102639646B1 (ja) |
CN (1) | CN113874833A (ja) |
BR (1) | BR112021023433A2 (ja) |
TW (1) | TWI723681B (ja) |
WO (1) | WO2020242526A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2598107B (en) * | 2020-08-17 | 2022-08-17 | Imagination Tech Ltd | Method and system for processing floating point numbers |
WO2023113445A1 (ko) * | 2021-12-14 | 2023-06-22 | 서울대학교산학협력단 | 부동 소수점 연산 방법 및 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156748A (ja) | 2005-12-02 | 2007-06-21 | Fujitsu Ltd | 演算処理装置,情報処理装置,及び演算処理方法 |
JP2017530445A (ja) | 2014-08-18 | 2017-10-12 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 融合された乗算−加算演算のエミュレーション |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502401A (en) * | 1995-04-26 | 1996-03-26 | Texas Instruments Incorporated | Controllable width or gate |
JP2747267B2 (ja) * | 1996-01-29 | 1998-05-06 | 甲府日本電気株式会社 | 3入力浮動小数点加算装置 |
JP3695820B2 (ja) * | 1996-02-02 | 2005-09-14 | 株式会社東芝 | 浮動小数点積和演算器 |
JP2919386B2 (ja) * | 1996-09-19 | 1999-07-12 | 甲府日本電気株式会社 | 浮動小数点数検出装置および浮動小数点数検出回路 |
JP2002215384A (ja) * | 2001-01-16 | 2002-08-02 | Toshiba Corp | 多入力加減算回路 |
JP4388543B2 (ja) | 2006-12-14 | 2009-12-24 | 株式会社日立製作所 | 3項入力の浮動小数点加減算器 |
US8650231B1 (en) * | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
WO2013095601A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction for element offset calculation in a multi-dimensional array |
US9405728B2 (en) * | 2013-09-05 | 2016-08-02 | Altera Corporation | Floating-point adder circuitry |
US9904513B2 (en) * | 2015-06-25 | 2018-02-27 | Intel Corporation | Handling instructions that require adding results of a plurality of multiplications |
US10037189B2 (en) * | 2016-09-20 | 2018-07-31 | Altera Corporation | Distributed double-precision floating-point multiplication |
US10078512B2 (en) * | 2016-10-03 | 2018-09-18 | Via Alliance Semiconductor Co., Ltd. | Processing denormal numbers in FMA hardware |
-
2019
- 2019-06-07 US US16/435,075 patent/US10514891B1/en active Active
- 2019-12-12 WO PCT/US2019/065956 patent/WO2020242526A1/en unknown
- 2019-12-12 BR BR112021023433A patent/BR112021023433A2/pt unknown
- 2019-12-12 KR KR1020217036592A patent/KR102639646B1/ko active IP Right Grant
- 2019-12-12 JP JP2021569502A patent/JP7285966B2/ja active Active
- 2019-12-12 CN CN201980096720.3A patent/CN113874833A/zh active Pending
- 2019-12-12 EP EP19836334.3A patent/EP3977259A1/en active Pending
- 2019-12-16 TW TW108146039A patent/TWI723681B/zh active
- 2019-12-18 US US16/719,954 patent/US20200371748A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156748A (ja) | 2005-12-02 | 2007-06-21 | Fujitsu Ltd | 演算処理装置,情報処理装置,及び演算処理方法 |
JP2017530445A (ja) | 2014-08-18 | 2017-10-12 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 融合された乗算−加算演算のエミュレーション |
Also Published As
Publication number | Publication date |
---|---|
BR112021023433A2 (pt) | 2022-01-11 |
KR102639646B1 (ko) | 2024-02-21 |
JP2022533850A (ja) | 2022-07-26 |
TWI723681B (zh) | 2021-04-01 |
KR20210147070A (ko) | 2021-12-06 |
US10514891B1 (en) | 2019-12-24 |
EP3977259A1 (en) | 2022-04-06 |
WO2020242526A1 (en) | 2020-12-03 |
CN113874833A (zh) | 2021-12-31 |
TW202044017A (zh) | 2020-12-01 |
US20200371748A1 (en) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046399B1 (en) | Fused multiply-add rounding and unfused multiply-add rounding in a single multiply-add module | |
US9483232B2 (en) | Data processing apparatus and method for multiplying floating point operands | |
US8185570B2 (en) | Three-term input floating-point adder-subtractor | |
US5677861A (en) | Arithmetic apparatus for floating-point numbers | |
JP7285966B2 (ja) | 多入力浮動小数点加算器 | |
WO1999040508A1 (en) | Fast adder/subtractor for signed floating point numbers | |
US5260889A (en) | Computation of sticky-bit in parallel with partial products in a floating point multiplier unit | |
US6941335B2 (en) | Random carry-in for floating-point operations | |
US10489115B2 (en) | Shift amount correction for multiply-add | |
US5623435A (en) | Arithmetic unit capable of performing concurrent operations for high speed operation | |
KR20020063058A (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
US5278782A (en) | Square root operation device | |
US7054898B1 (en) | Elimination of end-around-carry critical path in floating point add/subtract execution unit | |
Schwarz | Binary Floating-Point Unit Design: the fused multiply-add dataflow | |
CN112783470A (zh) | 一种用于执行浮点对数运算的装置和方法 | |
Wires et al. | Reciprocal and reciprocal square root units with operand modification and multiplication | |
KR100974190B1 (ko) | 부동 소수점을 이용한 복소수 곱셈방법 | |
JP2002023997A (ja) | 浮動小数点演算のための選択ベースの丸め方法 | |
US20040049528A1 (en) | Apparatus and method for adding multiple-bit binary-strings | |
JP2761145B2 (ja) | 開平演算装置 | |
JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 | |
Chittaluri | Implementation of area efficient IEEE-754 double precision floating point arithmetic unit using Verilog | |
Balasaraswathi et al. | IMPLEMENTATION OF FLOATING POINT FFT PROCESSOR WITH SINGLE PRECISION FOR REDUCTION IN POWER | |
Jaiswal et al. | Dual-mode double precision division architecture | |
JPH08212192A (ja) | 積和演算器及びデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230105 |
|
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: 20230425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7285966 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |