GB2339936B - Data processing apparatus and method for performing multiply-accumulate operations - Google Patents
Data processing apparatus and method for performing multiply-accumulate operationsInfo
- 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
Links
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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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
-
- 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/49957—Implementation 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.
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)
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)
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. |
-
1999
- 1999-04-14 GB GB9908542A patent/GB2339936B/en not_active Expired - Lifetime
- 1999-05-27 JP JP14866499A patent/JP4166367B2/en not_active Expired - Lifetime
Patent Citations (3)
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 |