JP4388543B2 - 3項入力の浮動小数点加減算器 - Google Patents
3項入力の浮動小数点加減算器 Download PDFInfo
- Publication number
- JP4388543B2 JP4388543B2 JP2006337252A JP2006337252A JP4388543B2 JP 4388543 B2 JP4388543 B2 JP 4388543B2 JP 2006337252 A JP2006337252 A JP 2006337252A JP 2006337252 A JP2006337252 A JP 2006337252A JP 4388543 B2 JP4388543 B2 JP 4388543B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- terms
- rounding
- mantissa
- cancellation
- 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.)
- Expired - Fee Related
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/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/49963—Rounding to nearest
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
この場合、相殺が起きるケース(a=−b、a=−c、b=−c)を加算前に比較器を用いてチェックすることにより、a=−bの場合に結果をc、a=−cの場合に結果をb、b=−cの場合に結果をaとなるようにすることにより解決することができる。
図1は3項のうち絶対値の大きい2項の演算で桁落ちが発生する場合(図16)の解決策を説明する図である。
この場合の解決策は3つ考えられ、それぞれ解決策A、B、Cとして以下に説明する。
図2は3項のうち2項がシフトによりビットあふれをする場合の解決策Aを説明する図である。
解決策Bは、シフトによりビットあふれを起こす2項の絶対値の大小関係を出し、正しく丸めが行えるようにするという解決策である。演算する前述の記3項のうち絶対値の大きい2項で桁落ちが発生する場合の解決策で加減算のビット幅が2n+3ビットあった場合には、3項のうち2項がシフトによりビットあふれをする場合であふれたビットの情報は中間結果の仮数には影響を与えず、丸めに必要な情報のみが失われることになる。そのため、正しい結果を得るには、ビットあふれを起こす2項の絶対値の大小関係(2項の和の符号)を比較器により求め、それをもとに丸めを行えば解決することができる。これが、解決策Bである。
解決策Cは、絶対値の小さい2項を加算前に検出し、その2項について前記3項のうち2項の演算で桁落ちが発生する場合の解決策である2n+3ビット幅でシフトして加減算を行い、その結果に対しては丸めを行わず、残りの1項との加算を2n+3ビット幅で加算を行い、最後に丸めを行うという解決策である。
11、201、207、210、506、601、901 セレクタ
12、203、603、903 相殺検出器
13、213、610、910 符号比較器
14〜16、205、209、212、605〜608、905、906、908 インバータ
17、18、206、200、607、609 シフタ
100、150、500、800 前処理回路
101、151、501 桁上げ保存加算器(CSA)
102、152、502、802、805 桁上げ先見加算器(CLA)
103、153、503、803、806 正規化回路
104、154、504、613、807 丸め処理回路
105、155、506、808〜809 指数演算器
204 加算器
208、611、612 比較器
614 符号決定回路
801、804 桁合わせ回路
Claims (4)
- 3項入力の浮動小数点加減算器において、3項のうち2項の演算で相殺を起こすことを検出する相殺検出手段と、該相殺検出手段により2項の演算で相殺を起こすことが検出されたとき残りの1項を結果として出力する選択手段と、仮数のビット幅をnとすると、2n+3ビット幅で桁合わせシフトを行い、最下位ビットをStickyビットとする桁合わせ手段と、そのビット幅で3項の加減算を行う加減算手段と、その結果を正規化し、上位からn+3ビット目を新たなStickyビットとして、RN(最近値)モードによる丸めを行う丸め処理手段とを有すること特徴とする3項入力の浮動小数点加減算器。
- 3項入力の浮動小数点加減算器において、3項のうち2項の演算で相殺を起こすことを検出する相殺検出手段と、該相殺検出手段により2項の演算で相殺を起こすことが検出されたとき残りの1項を結果として出力する選択手段と、仮数のビット幅をnとすると、2n+4ビット幅で桁合わせシフトを行い、最下位ビットをStickyビットとする桁合わせ手段と、桁合わせを行った結果、3項のうち2項でシフトによりビットあふれを起こす場合を検出するビットあふれ検出手段と、該ビットあふれ検出手段の出力によりビットあふれが検出されたとき、シフト量を指数の大きさが中間の仮数をn+4に、指数が最小の仮数をn+4とこれら2項の指数の差との和とする桁合わせ手段と、そのビット幅で3項の加減算を行う加減算手段と、その結果を正規化し、上位からn+3ビット目を新たなStickyビットとして、RN(最近値)、RZ(ゼロ方向)、RP(+無限大方向)、RM(−無限大方向)モードのいずれか1つの丸めモードによる丸めを行う丸め処理手段とを有することを特徴とする3項入力の浮動小数点加減算器。
- 3項入力の浮動小数点加減算器において、3項のうち2項の演算で相殺を起こすことを検出する相殺検出手段と、該相殺検出手段により2項の演算で相殺を起こすことが検出されたとき残りの1項を結果として出力する選択手段と、仮数のビット幅をnとすると、2n+3ビット幅で桁合わせシフトを行い、最下位ビットをStickyビットとする桁合わせ手段と、そのビット幅で3項の加減算を行う加減算手段と、その結果を正規化し、上位からn+3ビット目を新たなStickyビットとして、RN(最近値)、RZ(ゼロ方向)、RP(+無限大方向)、RM(−無限大方向)モードのいずれか1つの丸めモードによる丸めを行う第1の丸め処理手段と、3項のうち2項でシフトによりビットあふれを起こす場合を検出するビットあふれ検出手段と、該ビットあふれ検出手段の出力によりビットあふれが検出されたとき、その2項の絶対値の大小関係を検出する大小関係検出手段と、2項の和の符号を求める符号決定手段と、RN(最近値)、RZ(ゼロ方向)、RP(+無限大方向)、RM(−無限大方向)モードのいずれか1つの丸めモードによる丸めを行う第2の丸め処理手段と、前記第1、第2の丸め処理手段からの結果を選択する選択手段とを有することを特徴とする3項入力の浮動小数点加減算器。
- 3項入力の浮動小数点加減算器において、3項のうち2項の演算で相殺を起こすことを検出する相殺検出手段と、該相殺検出手段により2項の演算で相殺を起こすことが検出されたとき残りの1項を結果として出力する選択手段と、仮数のビット幅をnとすると、3項のうち指数の小さい2項について、2n+3ビット幅で桁合わせ、加減算、正規化を行い、丸めを行うことなく、残りの1項と2n+3ビット幅で桁合わせ、加減算を行う演算手段と、その結果を正規化し、上位からn+3ビット目を新たなStickyビットとして、RN(最近値)、RZ(ゼロ方向)、RP(+無限大方向)、RM(−無限大方向)モードのいずれか1つの丸めモードによる丸めを行う丸め処理手段とを有することを特徴とする3項入力の浮動小数点加減算器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006337252A JP4388543B2 (ja) | 2006-12-14 | 2006-12-14 | 3項入力の浮動小数点加減算器 |
US11/955,571 US8185570B2 (en) | 2006-12-14 | 2007-12-13 | Three-term input floating-point adder-subtractor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006337252A JP4388543B2 (ja) | 2006-12-14 | 2006-12-14 | 3項入力の浮動小数点加減算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008152360A JP2008152360A (ja) | 2008-07-03 |
JP4388543B2 true JP4388543B2 (ja) | 2009-12-24 |
Family
ID=39654500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006337252A Expired - Fee Related JP4388543B2 (ja) | 2006-12-14 | 2006-12-14 | 3項入力の浮動小数点加減算器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8185570B2 (ja) |
JP (1) | JP4388543B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405728B2 (en) | 2013-09-05 | 2016-08-02 | Altera Corporation | Floating-point adder circuitry |
CN106030510A (zh) * | 2014-03-26 | 2016-10-12 | 英特尔公司 | 三源操作数浮点加法处理器、方法、系统和指令 |
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 |
US20180121168A1 (en) * | 2016-10-27 | 2018-05-03 | Altera Corporation | Denormalization in multi-precision floating-point arithmetic circuitry |
US10534578B1 (en) | 2018-08-27 | 2020-01-14 | Google Llc | Multi-input floating-point adder |
US10514891B1 (en) | 2019-05-24 | 2019-12-24 | Google Llc | Multi-input floating-point adder |
GB2581542A (en) * | 2019-07-19 | 2020-08-26 | Imagination Tech Ltd | Apparatus and method for processing floating-point numbers |
GB2581543B (en) | 2019-07-19 | 2021-03-03 | Imagination Tech Ltd | Apparatus and method for processing floating-point numbers |
CN112463113B (zh) * | 2020-12-02 | 2021-11-23 | 中国电子科技集团公司第五十八研究所 | 浮点加法单元 |
RU2770798C1 (ru) * | 2021-04-02 | 2022-04-21 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | ВЫЧИТАТЕЛЬ ПО МОДУЛЮ q |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60140428A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 除算装置 |
JPS61166628A (ja) * | 1985-01-18 | 1986-07-28 | Hitachi Ltd | 除算装置 |
EP0478731A4 (en) * | 1990-04-04 | 1993-09-22 | International Business Machines Corporation | Early scism alu status determination apparatus |
US5359548A (en) * | 1992-04-15 | 1994-10-25 | Fujitsu Limited | Floating-point arithmetic system having multiple-input addition and subtraction means |
JP2747267B2 (ja) | 1996-01-29 | 1998-05-06 | 甲府日本電気株式会社 | 3入力浮動小数点加算装置 |
US5954790A (en) * | 1996-10-17 | 1999-09-21 | Samsung Electronics Company, Ltd. | Method and apparatus for parallel prediction and computation of massive cancellation in floating point subtraction |
US5880984A (en) * | 1997-01-13 | 1999-03-09 | International Business Machines Corporation | Method and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments |
JP3544846B2 (ja) * | 1997-02-13 | 2004-07-21 | 株式会社東芝 | 論理回路及び浮動小数点演算装置 |
US6298367B1 (en) * | 1998-04-06 | 2001-10-02 | Advanced Micro Devices, Inc. | Floating point addition pipeline including extreme value, comparison and accumulate functions |
US6571267B1 (en) * | 1999-03-10 | 2003-05-27 | Kabushiki Kaisha Toshiba | Floating point addition/subtraction execution unit |
US7228325B2 (en) * | 2000-08-25 | 2007-06-05 | Pentomics, Inc. | Bypassable adder |
KR100465371B1 (ko) * | 2001-01-26 | 2005-01-13 | 학교법인연세대학교 | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 |
US6963896B2 (en) * | 2001-07-31 | 2005-11-08 | Pasternak Solutions Llc | Method and system to implement an improved floating point adder with integrated adding and rounding |
JP3845009B2 (ja) * | 2001-12-28 | 2006-11-15 | 富士通株式会社 | 積和演算装置、及び積和演算方法 |
US7373369B2 (en) * | 2003-06-05 | 2008-05-13 | International Business Machines Corporation | Advanced execution of extended floating-point add operations in a narrow dataflow |
US7546328B2 (en) * | 2004-08-31 | 2009-06-09 | Wisconsin Alumni Research Foundation | Decimal floating-point adder |
US7428566B2 (en) * | 2004-11-10 | 2008-09-23 | Nvidia Corporation | Multipurpose functional unit with multiply-add and format conversion pipeline |
US7367001B2 (en) * | 2004-12-02 | 2008-04-29 | International Business Machines Corporation | Method, system and computer program product for verification of digital designs using case-splitting via constrained internal signals |
US7433911B2 (en) * | 2004-12-21 | 2008-10-07 | Arm Limited | Data processing apparatus and method for performing floating point addition |
-
2006
- 2006-12-14 JP JP2006337252A patent/JP4388543B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-13 US US11/955,571 patent/US8185570B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20080215660A1 (en) | 2008-09-04 |
US8185570B2 (en) | 2012-05-22 |
JP2008152360A (ja) | 2008-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4388543B2 (ja) | 3項入力の浮動小数点加減算器 | |
JP2508912B2 (ja) | 浮動小数点加算装置 | |
JP4500358B2 (ja) | 演算処理装置および演算処理方法 | |
US8626813B1 (en) | Dual-path fused floating-point two-term dot product unit | |
US5010508A (en) | Prenormalization for a floating-point adder | |
US5148386A (en) | Adder-subtracter for signed absolute values | |
KR100203468B1 (ko) | 부동소수점수를 위한 산술연산장치 | |
US10585972B2 (en) | Apparatus for performing modal interval calculations based on decoration configuration | |
US20070050434A1 (en) | Data processing apparatus and method for normalizing a data value | |
US6947962B2 (en) | Overflow prediction algorithm and logic for high speed arithmetic units | |
JPH10289096A (ja) | 論理回路及び浮動小数点演算装置 | |
JP4439060B2 (ja) | 浮動小数点加算器 | |
EP1282034A2 (en) | Elimination of rounding step in the short path of a floating point adder | |
JP2517064B2 (ja) | 非正規化数の処理方式 | |
JP3257278B2 (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
JPH0731591B2 (ja) | 先行1検出回路および浮動小数点加減算装置 | |
JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
JP2856792B2 (ja) | 浮動小数点数演算装置 | |
JP2555135B2 (ja) | 演算回路 | |
JP3174974B2 (ja) | 浮動小数点演算装置および方法 | |
JPH0635671A (ja) | 浮動小数点加減算装置 | |
JP3124286B2 (ja) | 浮動小数点数演算装置 | |
JPH113210A (ja) | 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法 | |
JPH1040078A (ja) | 先行0、1数予測回路、浮動小数点演算装置、マイクロプロセッサおよび情報処理装置 | |
JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090909 |
|
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: 20090915 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091002 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131009 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |