JP2011248904A - 予め飽和させる固定小数点乗算器 - Google Patents
予め飽和させる固定小数点乗算器 Download PDFInfo
- Publication number
- JP2011248904A JP2011248904A JP2011128153A JP2011128153A JP2011248904A JP 2011248904 A JP2011248904 A JP 2011248904A JP 2011128153 A JP2011128153 A JP 2011128153A JP 2011128153 A JP2011128153 A JP 2011128153A JP 2011248904 A JP2011248904 A JP 2011248904A
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- overflow
- operands
- value
- operand
- 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
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
-
- 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/49921—Saturation, i.e. clipping the result to a minimum or maximum value
-
- 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
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Picture Signal Circuits (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
【解決手段】予め飽和させる乗算器は、任意の乗算を実行する前に、乗算演算のためのオペランドを検査する。オペランドが飽和を必要とするオーバフローを生じさせる場合、乗算器は元のオペランドを乗算せずに飽和した値を出力する。一実施形態では、オペランドから得られたパラメータは、乗算演算が変更されたパラメータに関して実行されると、乗算器が飽和した結果を生成するように変更される。これは、部分積としてゼロの代わりに負のゼロを選択するためにブースリコードされたビットグループを変更すること、および部分積への値1の加算を抑制すること(したがって、値1を効果的に減算すること)を備えることができる。
【選択図】図3
Description
・0は全てゼロで被乗数ビットを置換する;
・x1は該被乗数ビットを直接パスする(passes);
・x2は該被乗数ビットを1ビット位置、左シフトする(left-shifts);
・否定は該被乗数、シフトされた被乗数、またはゼロ値に関してビット単位の反転(bit-wise invert)(1の補数)を実行する。
Claims (15)
- 乗数および被乗数を備える、オペランドの少なくとも1つの既知のセットが、飽和を必要とするオーバフローを生じさせる、固定小数点の飽和させる乗算演算を実行する方法であって、
任意の乗算演算を実行する前に、オーバフローを生じさせる前記オペランドを検出すること、および
前記オペランドを乗算せずに飽和した結果を出力すること
を備える方法。 - オーバフローを生じさせる前記オペランドは、前記オペランドのビットフィールドにおいて表されることができる最大の負の数である、請求項1に記載の方法。
- 乗算演算が前記飽和した結果を生成するように、前記オペランドから得られた1つまたはそれより多くのパラメータを調整すること、および
前記調整されたパラメータを用いて乗算演算を実行することをさらに備える、請求項1に記載の方法。 - 前記オペランドから得られた1つまたはそれより多くのパラメータを調整することは、前記乗数から得られた1つまたはそれより多くのブースリコードされたビットグループを変更することを備える、請求項3に記載の方法。
- ブースリコードされたビットグループは、ブースリコードされたビットグループの選択をゼロから負のゼロに変更すること、および被乗数から得られた部分積への値1の加算を抑制することを備える、請求項4に記載の方法。
- 前記オペランドから得られた1つまたはそれより多くのパラメータを調整することが、前記オペランドから得られた部分積に値負の1を加算することを備える、請求項3に記載の方法。
- 前記飽和した結果を出力することは、乗算演算の積にかかわらず、乗算演算の該出力を強制的に飽和した結果にすることを備える、請求項1に記載の方法。
- 乗算演算の前記出力を強制的に飽和した結果にすることは、オーバフローを生じさせる前記オペランドを検出することに応答して、前記乗算演算の出力と前記飽和した結果との間で選択することを備える、請求項7に記載の方法。
- 乗数および被乗数を備える2つのオペランドを乗算し、それらの積を出力するように動作可能な乗算器回路、および
前記乗算器回路においてオーバフローを生じさせるオペランドを検出するように動作可能なオーバフロー事前検出回路
を備える予め飽和させる乗算器。 - 前記オーバフロー事前検出回路が、前記オペランドのビットフィールドにおいて表されることができる最大の負の値を検出する、請求項9に記載の乗算器。
- 前記乗算器回路は、前記乗数を複数のビットグループにリコードするように動作可能なブースリコーダを備え、各ビットグループは部分積として前記被乗数の正または負の倍数を選択し、前記ブースリコーダは、前記オーバフロー事前検出回路に応答して、前記乗数において飽和した結果を生成するために1つまたはそれより多くのビットグループを変更するようにさらに動作可能である、請求項9に記載の乗算器。
- 前記ブースリコーダは、前記オーバフロー事前検出回路に応答して、最下位のリコードされたビットグループに、負のゼロを強制的に選択させるように動作可能である、請求項11に記載の乗算器。
- 前記部分積を加算し、前記ブースリコードされたビットグループによって選択された負の部分積のために前記値1を加算するように動作可能な並列加算器をさらに備え、前記並列加算器が、前記オーバフロー事前検出回路に応答して負のゼロのための前記値1の前記加算を抑制するようにさらに動作可能である、請求項11に記載の乗算器。
- 前記乗算器回路は、前記オーバフロー事前検出回路に応答して前記積から前記値1を減算するように動作可能である、請求項9に記載の乗算器。
- 前記オーバフロー事前検出回路に応答して前記乗算器回路からの前記積かまたは予め決められた飽和した結果のどちらかを出力するように動作可能な出力選択器をさらに備える、請求項9に記載の乗算器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/336,358 US8082287B2 (en) | 2006-01-20 | 2006-01-20 | Pre-saturating fixed-point multiplier |
US11/336,358 | 2006-01-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008551565A Division JP5203972B2 (ja) | 2006-01-20 | 2007-01-22 | 予め飽和させる固定小数点乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011248904A true JP2011248904A (ja) | 2011-12-08 |
JP5086466B2 JP5086466B2 (ja) | 2012-11-28 |
Family
ID=38015402
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008551565A Active JP5203972B2 (ja) | 2006-01-20 | 2007-01-22 | 予め飽和させる固定小数点乗算器 |
JP2011128153A Active JP5086466B2 (ja) | 2006-01-20 | 2011-06-08 | 予め飽和させる固定小数点乗算器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008551565A Active JP5203972B2 (ja) | 2006-01-20 | 2007-01-22 | 予め飽和させる固定小数点乗算器 |
Country Status (10)
Country | Link |
---|---|
US (1) | US8082287B2 (ja) |
EP (1) | EP1974253A2 (ja) |
JP (2) | JP5203972B2 (ja) |
KR (1) | KR100958224B1 (ja) |
CN (1) | CN101371221B (ja) |
BR (1) | BRPI0707147A2 (ja) |
CA (1) | CA2635119C (ja) |
RU (1) | RU2408057C2 (ja) |
TW (1) | TWI396130B (ja) |
WO (1) | WO2007085012A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381426B2 (ja) | 2020-03-19 | 2023-11-15 | 株式会社東芝 | 演算回路 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316071B2 (en) * | 2009-05-27 | 2012-11-20 | Advanced Micro Devices, Inc. | Arithmetic processing unit that performs multiply and multiply-add operations with saturation and method therefor |
US8892621B2 (en) * | 2011-12-19 | 2014-11-18 | Lsi Corporation | Implementation of negation in a multiplication operation without post-incrementation |
KR20130111721A (ko) * | 2012-04-02 | 2013-10-11 | 삼성전자주식회사 | 부분 곱 생성기의 부스코드 생성방법, 컴퓨터 시스템 및 그 매체와 디지털 신호프로세서 |
US9323498B2 (en) * | 2013-03-13 | 2016-04-26 | Wisconsin Alumni Research Foundation | Multiplier circuit with dynamic energy consumption adjustment |
US9747074B2 (en) | 2014-02-25 | 2017-08-29 | Kabushiki Kaisha Toshiba | Division circuit and microprocessor |
KR101644039B1 (ko) * | 2015-06-11 | 2016-07-29 | 에스케이텔레콤 주식회사 | 고정소수점 연산 방법 및 고정소수점 연산 장치 |
US11327718B2 (en) * | 2020-03-19 | 2022-05-10 | Kabushiki Kaisha Toshiba | Arithmetic circuitry for power-efficient multiply-add operations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6162937A (ja) * | 1984-09-04 | 1986-03-31 | Toshiba Corp | 乗算器 |
JPH01267728A (ja) * | 1988-04-19 | 1989-10-25 | Ricoh Co Ltd | 乗算器 |
JPH10149277A (ja) * | 1996-11-20 | 1998-06-02 | Ricoh Co Ltd | 乗算装置 |
JPH11126157A (ja) * | 1997-10-24 | 1999-05-11 | Matsushita Electric Ind Co Ltd | 乗算方法および乗算回路 |
JP2000215028A (ja) * | 1998-10-06 | 2000-08-04 | Texas Instr Inc <Ti> | 乗算器/アキュムレ―タ・ユニット |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220525A (en) | 1991-11-04 | 1993-06-15 | Motorola, Inc. | Recoded iterative multiplier |
US5793315A (en) * | 1996-05-31 | 1998-08-11 | Motorola, Inc. | Bit-serial digital expandor |
EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
JP3530418B2 (ja) | 1999-05-13 | 2004-05-24 | Necエレクトロニクス株式会社 | 乗算装置 |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US7058830B2 (en) | 2003-03-19 | 2006-06-06 | International Business Machines Corporation | Power saving in a floating point unit using a multiplier and aligner bypass |
US7689641B2 (en) | 2003-06-30 | 2010-03-30 | Intel Corporation | SIMD integer multiply high with round and shift |
US20080098057A1 (en) * | 2004-08-26 | 2008-04-24 | Daisuke Takeuchi | Multiplication Apparatus |
-
2006
- 2006-01-20 US US11/336,358 patent/US8082287B2/en active Active
-
2007
- 2007-01-22 CA CA2635119A patent/CA2635119C/en active Active
- 2007-01-22 BR BRPI0707147-7A patent/BRPI0707147A2/pt not_active Application Discontinuation
- 2007-01-22 KR KR1020087020038A patent/KR100958224B1/ko active IP Right Grant
- 2007-01-22 JP JP2008551565A patent/JP5203972B2/ja active Active
- 2007-01-22 EP EP07710246A patent/EP1974253A2/en not_active Ceased
- 2007-01-22 WO PCT/US2007/060816 patent/WO2007085012A2/en active Application Filing
- 2007-01-22 TW TW096102331A patent/TWI396130B/zh active
- 2007-01-22 RU RU2008134127/08A patent/RU2408057C2/ru active
- 2007-01-22 CN CN2007800026442A patent/CN101371221B/zh active Active
-
2011
- 2011-06-08 JP JP2011128153A patent/JP5086466B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6162937A (ja) * | 1984-09-04 | 1986-03-31 | Toshiba Corp | 乗算器 |
JPH01267728A (ja) * | 1988-04-19 | 1989-10-25 | Ricoh Co Ltd | 乗算器 |
JPH10149277A (ja) * | 1996-11-20 | 1998-06-02 | Ricoh Co Ltd | 乗算装置 |
JPH11126157A (ja) * | 1997-10-24 | 1999-05-11 | Matsushita Electric Ind Co Ltd | 乗算方法および乗算回路 |
JP2000215028A (ja) * | 1998-10-06 | 2000-08-04 | Texas Instr Inc <Ti> | 乗算器/アキュムレ―タ・ユニット |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381426B2 (ja) | 2020-03-19 | 2023-11-15 | 株式会社東芝 | 演算回路 |
Also Published As
Publication number | Publication date |
---|---|
WO2007085012A2 (en) | 2007-07-26 |
CN101371221B (zh) | 2012-05-30 |
TW200736989A (en) | 2007-10-01 |
KR20080089640A (ko) | 2008-10-07 |
RU2408057C2 (ru) | 2010-12-27 |
CA2635119A1 (en) | 2007-07-26 |
CN101371221A (zh) | 2009-02-18 |
BRPI0707147A2 (pt) | 2011-04-19 |
TWI396130B (zh) | 2013-05-11 |
JP5203972B2 (ja) | 2013-06-05 |
CA2635119C (en) | 2013-07-30 |
RU2008134127A (ru) | 2010-02-27 |
US8082287B2 (en) | 2011-12-20 |
EP1974253A2 (en) | 2008-10-01 |
US20070174379A1 (en) | 2007-07-26 |
WO2007085012A3 (en) | 2008-01-24 |
JP2009524169A (ja) | 2009-06-25 |
JP5086466B2 (ja) | 2012-11-28 |
KR100958224B1 (ko) | 2010-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5086466B2 (ja) | 予め飽和させる固定小数点乗算器 | |
US8965945B2 (en) | Apparatus and method for performing floating point addition | |
Sohn et al. | Improved architectures for a fused floating-point add-subtract unit | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
US9712185B2 (en) | System and method for improved fractional binary to fractional residue converter and multipler | |
JP6309196B2 (ja) | 多項式演算のための部分積発生装置及び方法 | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
Kaivani et al. | Floating-point butterfly architecture based on binary signed-digit representation | |
KR20060057574A (ko) | 예비 포화 검사로 가산 또는 감산을 위한 산술 유닛 및 그방법 | |
JP4273071B2 (ja) | 除算・開平演算器 | |
Krishnan | A comparative study on the performance of FPGA implementations of high-speed single-precision binary floating-point multipliers | |
US10275218B1 (en) | Apparatus and method for subtracting significand values of floating-point operands | |
Sathish et al. | VLSI architecture of parallel multiplier-accumulator based on radix-2 modified booth algorithm | |
Dave et al. | Multiplication by complements | |
CN113434115B (zh) | 一种浮点数尾数域余数运算电路及方法 | |
MX2008009315A (en) | Pre-saturating fixed-point multiplier | |
Ganesh et al. | RGB-to-Grayscale Conversion Using Truncated Floating-Point Multiplier | |
Hojati et al. | A Low-Cost Combinational Approximate Multiplier | |
Kumar et al. | An Efficient System Design for a 32 Bit Sum-Product Operator in Modified Booth form Using Fusion Technique | |
Ab et al. | An Efficient VLSI Architecture for Analysis of Area, Delay and Power Consumption-A Review | |
US20190155573A1 (en) | Handling floating-point operations | |
Gopal | A novel low power multi path double precision fused multiplier accumulator architecture | |
CN116382628A (zh) | 具有减少1求补延迟的浮点融合乘加 | |
Duvvuru et al. | A High Speed Floating Point Multiplier using Vedic Mathematics | |
Duarte et al. | Double Precision Floating-Point Multiplier using Coarse-Grain Units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20120807 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120906 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5086466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |