CN102804128B - 执行饱和乘法和饱和乘加运算的算术处理单元及方法 - Google Patents

执行饱和乘法和饱和乘加运算的算术处理单元及方法 Download PDF

Info

Publication number
CN102804128B
CN102804128B CN201080026278.6A CN201080026278A CN102804128B CN 102804128 B CN102804128 B CN 102804128B CN 201080026278 A CN201080026278 A CN 201080026278A CN 102804128 B CN102804128 B CN 102804128B
Authority
CN
China
Prior art keywords
operand
signal
deviation
input end
multiplier
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
Application number
CN201080026278.6A
Other languages
English (en)
Chinese (zh)
Other versions
CN102804128A (zh
Inventor
凯文·A·赫德
斯科特·A·希尔克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN102804128A publication Critical patent/CN102804128A/zh
Application granted granted Critical
Publication of CN102804128B publication Critical patent/CN102804128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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 for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products

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)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
CN201080026278.6A 2009-05-27 2010-05-24 执行饱和乘法和饱和乘加运算的算术处理单元及方法 Active CN102804128B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/472,715 US8316071B2 (en) 2009-05-27 2009-05-27 Arithmetic processing unit that performs multiply and multiply-add operations with saturation and method therefor
US12/472,715 2009-05-27
PCT/US2010/035900 WO2010138432A1 (en) 2009-05-27 2010-05-24 Integer multiply and multiply-add operations with saturation

Publications (2)

Publication Number Publication Date
CN102804128A CN102804128A (zh) 2012-11-28
CN102804128B true CN102804128B (zh) 2015-08-19

Family

ID=42299237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080026278.6A Active CN102804128B (zh) 2009-05-27 2010-05-24 执行饱和乘法和饱和乘加运算的算术处理单元及方法

Country Status (6)

Country Link
US (1) US8316071B2 (enExample)
EP (1) EP2435904B1 (enExample)
JP (1) JP5640081B2 (enExample)
KR (1) KR101560340B1 (enExample)
CN (1) CN102804128B (enExample)
WO (1) WO2010138432A1 (enExample)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838664B2 (en) * 2011-06-29 2014-09-16 Advanced Micro Devices, Inc. Methods and apparatus for compressing partial products during a fused multiply-and-accumulate (FMAC) operation on operands having a packed-single-precision format
US9489342B2 (en) 2012-12-24 2016-11-08 Intel Corporation Systems, methods, and computer program products for performing mathematical operations
US20160179530A1 (en) * 2014-12-23 2016-06-23 Elmoustapha Ould-Ahmed-Vall Instruction and logic to perform a vector saturated doubleword/quadword add
US9836278B2 (en) * 2015-05-29 2017-12-05 Huawei Technologies Co., Ltd. Floating point computation apparatus and method
EP4418136A3 (en) 2016-10-20 2024-11-20 INTEL Corporation Systems, apparatuses, and methods for fused multiply add
US11327718B2 (en) * 2020-03-19 2022-05-10 Kabushiki Kaisha Toshiba Arithmetic circuitry for power-efficient multiply-add operations
US11720328B2 (en) * 2020-06-26 2023-08-08 Advanced Micro Devices, Inc. Processing unit with small footprint arithmetic logic unit
CN111610955B (zh) * 2020-06-28 2022-06-03 中国人民解放军国防科技大学 一种数据饱和加打包处理部件、芯片及设备
KR102258566B1 (ko) * 2021-03-22 2021-06-01 리벨리온 주식회사 프로세싱 엘리먼트, 이의 동작 방법, 및 이를 포함하는 가속기
CN116257207B (zh) * 2022-09-08 2023-10-03 重庆位图信息技术有限公司 一种数据截位方法、模块、计算机设备及存储介质
CN116155481B (zh) * 2023-02-24 2025-05-13 长沙理工大学 一种sm3算法的数据加密实现方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0209049B1 (en) * 1985-07-09 1993-12-15 Nec Corporation Processing circuit capable of raising throughput of accumulation
US20060101244A1 (en) * 2004-11-10 2006-05-11 Nvidia Corporation Multipurpose functional unit with combined integer and floating-point multiply-add pipeline
CN1821954A (zh) * 2005-04-12 2006-08-23 威盛电子股份有限公司 分离饱和加减功能以改善处理器管线的关键执行阶段时程

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623434A (en) * 1994-07-27 1997-04-22 Chromatic Research, Inc. Structure and method of using an arithmetic and logic unit for carry propagation stage of a multiplier
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5953241A (en) * 1995-08-16 1999-09-14 Microunity Engeering Systems, Inc. Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
JP3710193B2 (ja) * 1996-03-11 2005-10-26 沖電気工業株式会社 積和演算回路
JPH1173408A (ja) * 1997-08-29 1999-03-16 Internatl Business Mach Corp <Ibm> 演算処理システム及び演算処理方法
US6223198B1 (en) * 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
US7882165B2 (en) * 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US7870182B2 (en) * 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US7428566B2 (en) * 2004-11-10 2008-09-23 Nvidia Corporation Multipurpose functional unit with multiply-add and format conversion pipeline
WO2006059267A2 (en) 2004-12-01 2006-06-08 Koninklijke Philips Electronics N.V. Electronic device having multi operand arithmetic circuitry
US7716266B2 (en) * 2005-02-01 2010-05-11 International Business Machines Corporation Common shift-amount calculation for binary and hex floating point
JP2006227939A (ja) * 2005-02-17 2006-08-31 Matsushita Electric Ind Co Ltd 演算装置
US8082287B2 (en) * 2006-01-20 2011-12-20 Qualcomm Incorporated Pre-saturating fixed-point multiplier

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0209049B1 (en) * 1985-07-09 1993-12-15 Nec Corporation Processing circuit capable of raising throughput of accumulation
US20060101244A1 (en) * 2004-11-10 2006-05-11 Nvidia Corporation Multipurpose functional unit with combined integer and floating-point multiply-add pipeline
CN1821954A (zh) * 2005-04-12 2006-08-23 威盛电子股份有限公司 分离饱和加减功能以改善处理器管线的关键执行阶段时程

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NAVINDRA YADAV ET.AL.PARALLEL SATURATING FRACTIONAL ARITHMETIC UNITS.《VLSI,1999.PROCEEDINGS.NINTH GREAT LAKES SYMPOSIUM ON》.1999, *

Also Published As

Publication number Publication date
KR101560340B1 (ko) 2015-10-14
WO2010138432A1 (en) 2010-12-02
US20100306301A1 (en) 2010-12-02
KR20120017457A (ko) 2012-02-28
EP2435904A1 (en) 2012-04-04
EP2435904B1 (en) 2016-05-04
JP2012528391A (ja) 2012-11-12
JP5640081B2 (ja) 2014-12-10
US8316071B2 (en) 2012-11-20
CN102804128A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102804128B (zh) 执行饱和乘法和饱和乘加运算的算术处理单元及方法
US11042360B1 (en) Multiplier circuitry for multiplying operands of multiple data types
US10949168B2 (en) Compressing like-magnitude partial products in multiply accumulation
US8078660B2 (en) Bridge fused multiply-adder circuit
CN112860220B (zh) 一种适用于多精度计算的可重构浮点乘加运算单元及方法
US6779013B2 (en) Floating point overflow and sign detection
JPH02196328A (ja) 浮動小数点演算装置
Mehta et al. Implementation of single precision floating point multiplier using karatsuba algorithm
CN106155627A (zh) 基于t_cordic算法的低开销迭代三角函数装置
JP2012528391A5 (enExample)
US20130282784A1 (en) Arithmetic processing device and methods thereof
US7519647B2 (en) System and method for providing a decimal multiply algorithm using a double adder
Lichtenau et al. Quad precision floating point on the IBM z13
US9904514B1 (en) Fused floating-point arithmetic circuitry
TWI776213B (zh) 用於將輸入集相乘之硬體電路及方法,以及非暫時性機器可讀儲存裝置
JPH04355827A (ja) 開平演算装置
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
Krishnan A comparative study on the performance of FPGA implementations of high-speed single-precision binary floating-point multipliers
US9804998B2 (en) Unified computation systems and methods for iterative multiplication and division, efficient overflow detection systems and methods for integer division, and tree-based addition systems and methods for single-cycle multiplication
US20050210093A1 (en) Data processing apparatus and method for comparing floating point operands
Dave et al. Multiplication by complements
Kumar et al. Simulation and synthesis of 32-bit multiplier using configurable devices
Pathak et al. Minimum Path Delay of SP and DP Floating Point Multiplier using Parallel Multiplier Technique
JPS6285333A (ja) 浮動小数点乗算器丸め処理方式
Esmaeildoust et al. High Speed Reverse Converter for the Five Moduli Set {2n, 2n-1, 2n+ 1, 2n-3, 2n-1-1}

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant