GB2339936B - Data processing apparatus and method for performing multiply-accumulate operations - Google Patents

Data processing apparatus and method for performing multiply-accumulate operations

Info

Publication number
GB2339936B
GB2339936B GB9908542A GB9908542A GB2339936B GB 2339936 B GB2339936 B GB 2339936B GB 9908542 A GB9908542 A GB 9908542A GB 9908542 A GB9908542 A GB 9908542A GB 2339936 B GB2339936 B GB 2339936B
Authority
GB
United Kingdom
Prior art keywords
rounding
multiplying
accumulating
unrounded
individual
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 - Lifetime
Application number
GB9908542A
Other versions
GB2339936A (en
GB9908542D0 (en
Inventor
Christopher Neal Hinds
David Vivian Jaggar
David Terrence Matheny
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
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
Priority claimed from US09/084,304 external-priority patent/US6282634B1/en
Application filed by ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of GB9908542D0 publication Critical patent/GB9908542D0/en
Publication of GB2339936A publication Critical patent/GB2339936A/en
Application granted granted Critical
Publication of GB2339936B publication Critical patent/GB2339936B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49957Implementation of IEEE-754 Standard

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform fast multiplying and accumulating matching the IEEE 754-1985 standards by determining a rounded value needed to generate a final multiplying and accumulating result equivalent to individual multiplication instructions in which rounding is embedded and individual addition instructions in which following rounding is embedded. SOLUTION: The processor is equipped with a multiplier 120 which generates an unrounded multiplication result by multiplying two values by each other and further generates 1st data needed to determine rounding. Similarly, the processor is equipped with an adder which generates an unrounded multiplying and accumulating operation result by adding a specific value to the unrounded result and further generates 2nd data needed to determine rounding. The decision logic 150 uses the 1st and 2nd data to determine a rounding value needed to generate the final multiplying and accumulating operation result equivalent to the execution of individual multiplication instructions wherein rounding is incorporated and individual addition instructions wherein following rounding is incorporated.
GB9908542A 1998-05-27 1999-04-14 Data processing apparatus and method for performing multiply-accumulate operations Expired - Lifetime GB2339936B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/084,304 US6282634B1 (en) 1998-05-27 1998-05-27 Apparatus and method for processing data having a mixed vector/scalar register file
US09/144,264 US6360189B1 (en) 1998-05-27 1998-08-31 Data processing apparatus and method for performing multiply-accumulate operations

Publications (3)

Publication Number Publication Date
GB9908542D0 GB9908542D0 (en) 1999-06-09
GB2339936A GB2339936A (en) 2000-02-09
GB2339936B true GB2339936B (en) 2002-09-25

Family

ID=26770832

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9908542A Expired - Lifetime GB2339936B (en) 1998-05-27 1999-04-14 Data processing apparatus and method for performing multiply-accumulate operations

Country Status (2)

Country Link
JP (1) JP4166367B2 (en)
GB (1) GB2339936B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149402A (en) * 2000-11-14 2002-05-24 Pacific Design Kk Data processor and method for controlling the same
US7730117B2 (en) * 2005-02-09 2010-06-01 International Business Machines Corporation System and method for a floating point unit with feedback prior to normalization and rounding
JP5515601B2 (en) * 2009-10-16 2014-06-11 富士通株式会社 Floating point adder

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377837A2 (en) * 1989-01-13 1990-07-18 International Business Machines Corporation Floating point unit having simultaneous multiply and add
EP0472148A2 (en) * 1990-08-24 1992-02-26 Matsushita Electric Industrial Co., Ltd. Method and apparatus for computing floating point data
GB2291515A (en) * 1994-07-14 1996-01-24 Advanced Risc Mach Ltd Data processing using multiply-accumulate instructions.

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377837A2 (en) * 1989-01-13 1990-07-18 International Business Machines Corporation Floating point unit having simultaneous multiply and add
EP0472148A2 (en) * 1990-08-24 1992-02-26 Matsushita Electric Industrial Co., Ltd. Method and apparatus for computing floating point data
GB2291515A (en) * 1994-07-14 1996-01-24 Advanced Risc Mach Ltd Data processing using multiply-accumulate instructions.

Also Published As

Publication number Publication date
GB2339936A (en) 2000-02-09
GB9908542D0 (en) 1999-06-09
JP2000010959A (en) 2000-01-14
JP4166367B2 (en) 2008-10-15

Similar Documents

Publication Publication Date Title
CN107291419B (en) Floating-point multiplier and floating-point multiplication for neural network processor
CN107273090B (en) Approximate floating-point multiplier and floating-point multiplication oriented to neural network processor
CN115344237B (en) Data processing method combining Karatsuba and Montgomery modular multiplication
US20130282778A1 (en) System and Method for Signal Processing in Digital Signal Processors
Kasliwal et al. Performance evaluation of squaring operation by Vedic mathematics
CN108196822A (en) A kind of method and system of double-precision floating point extracting operation
JP2012528391A5 (en)
US8930433B2 (en) Systems and methods for a floating-point multiplication and accumulation unit using a partial-product multiplier in digital signal processors
TW200519732A (en) Arithmetic unit for addition or subtraction with preliminary saturation detection
Agrawal et al. ASIC based logarithmic multiplier using iterative pipelined architecture
Tolba et al. FPGA realization of ALU for mobile GPU
GB2339936B (en) Data processing apparatus and method for performing multiply-accumulate operations
CN110727412B (en) Mask-based hybrid floating-point multiplication low-power-consumption control method and device
Ahish et al. Design of high performance Multiply-Accumulate Computation unit
WO2004059515A3 (en) Modular multiplication with parallel calculation of look-ahead parameters
EP0512686B1 (en) Circuitry for rounding in a floating point multiplier
Murali et al. An optimized implementation of vedic multiplier using barrel shifter in FPGA technology
US6182105B1 (en) Multiple-operand addition with intermediate saturation
CN102646033A (en) Modular multiplication operation realizing method and device
Raghav et al. Implementation of fast and efficient mac unit on FPGA
Saeed et al. Implementation of low-power multiply-accumulate (MAC) unit for IoT processors
Sathish et al. VLSI architecture of parallel multiplier-accumulator based on radix-2 modified booth algorithm
JPH0578049B2 (en)
CN106802783B (en) A kind of addition of decimal result rounding method and apparatus
Sravanthi et al. Design and Performance Analysis of Rounding Approximate Multiplier for Signal Processing Applications

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20190413