or
Bookmark and Share
Block-normalization in multiply-add floating point sequence without wait cycles
   
Document Number
US Patent 5999960
Issued Date
December 7, 1999
Link
Inventors
Map
Abstract
Described is a floating point processor comprising a multiply section and an add section, for performing a multiplication-add operation comprised of a multiplication operation prior to an addition operation which is using the result of the multiplication operation. The floating point processor comprises a multiply add controller (MAC1) which receives signals representing the exponents of the operands for the multiplication-add operation and signals representing the leading zero digits of an un-normalized result of the multiplication operation. The floating point processor further comprises a pair of shift units, (AL1, BN1), one receiving the un-normalized result of the multiplication operation and the other the operand to be added thereto. The multiply add controller (MAC1) determines shift values (Block.sub.-- Norm.sub.-- Value, AL1.sub.-- Align.sub.-- Value) for shifting both the un-normalized result of the multiplication operation and the operand to be added thereto within the pair of shift units (AL1, BN1), so that both are aligned with respect to their corresponding digits and with respect to the data width of an adder (ADD-D) of the add section).
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
13
Comments:
no comments yet
Published
December 7, 1999
Application Number
08/765,420
Filed
December 16, 1996
US Classification
708/500   708/501
Int'l Classification
G06F   7/544   (20060101)   G06F   7/48   (20060101)   G06F   5/01   (20060101)  
Examiner
Assistant Examiner
Attorney/Law Firm
USPTO Field of Search
364/748.01   364/748.09   364/748.1   364/748.11   364/748.14   364/754.01   364/761   364/768   364/760.04   364/736.02   364/703   364/722  
Related Patents
6697833 - Floating-point multiplier for de-normalized inputs - Owned by International Business Machines Corporation (Armonk, NY)

A method is disclosed for efficiently multiplying de-normalized floating-point numbers without necessarily incurring additional delay over the multiplication of normalized numbers, wherein the de-normalized numbers are initially assumed to be normalized. The method includes providing multiplier and multiplicand floating-point numbers, each defining a fraction and an exponent; encoding the multiplier fraction; multiplexing the multiplier fraction; and multiplying the multiplier fraction by the multiplicand fraction to form a first set of partial products. The method further includes detecting a zero-value multiplier exponent characteristic indicative of de-normalization; computing a last partial product according to the value of the multiplier exponent characteristic; detecting a zero-value multiplicand exponent characteristic indicative of de-normalization; selecting a de-normalized multiplicand correction term according to the detected multiplicand exponent characteristic and the value of the multiplier fraction; and adding each of the first set and the last partial products to the de-normalized multiplicand correction term to form a final product.

6115729 - Floating point multiply-accumulate unit - Owned by Arm Limited (Cherry Hinton,GB)

A floating point unit 10 provides a multiply-accumulate operation to determine a result B+(A*C). The multiplier 20 takes several processing cycles to determine the product (A*C). Whilst the multiplier 20 and its subsequent carry-save-adder 26 operate, an aligned value B' of the addend B is generated by an alignment-shifter 34. The aligned-addend B' may only partially overlap with the product (A*C) to which it is to be added using an adder 44. Any high-order-portion HOP of the aligned-addend B' that does not overlap with the product (A*C) must be subsequently concatenated with the output of the adder 44 that sums the product (A*C) with the overlapping portion of the aligned-addend B'. If the sum performed by the adder 44 generates a carry then it is an incremented version IHOP of the high-order-portion that should be concatenated with the output of the adder 44. This incremented-high-order-portion is generated by the adder 44 during otherwise idle processing cycles present due to the multiplier 20 operating over multiple cycles.

7225216 - Method and system for a floating point multiply-accumulator - Owned by NVIDIA Corporation (Santa Clara, CA)

Aspects for performing a multiply-accumulate operation on floating point numbers in a single clock cycle are described. These aspects include mantissa logic for combining a mantissa portion of floating point inputs and exponent logic coupled to the mantissa logic. The exponent logic adjusts the combination of an exponent portion of the floating point inputs by a predetermined value to produce a shift amount and allows pipeline stages in the mantissa logic, wherein an unnormalized floating point result is produced from the mantissa logic on each clock cycle.

6275838 - Method and apparatus for an enhanced floating point unit with graphics and integer capabilities - Owned by Intrinsity, Inc. (Austin, TX)

An enhanced floating point unit that supports floating point, integer, and graphics operations by combining the units into a single functional unit is disclosed. The enhanced floating point unit comprises a register file coupled to a plurality of bypass multiplexers. Coupled to the bypass multiplexers are an aligner and a multiplier. And, coupled to the multiplier is an adder that further couples to a normalizer/rounder unit. The normalizer/rounder unit may comprise a normalizer and a rounder coupled in series and or a parallel normalizer/rounder. The enhanced floating point unit supports both integer operations and graphics operations with one functional unit.

6732259 - Processor having a conditional branch extension of an instruction set architecture - Owned by MIPS Technologies, Inc. (Mountain View, CA)

A processor having a conditional branch extension of an instruction set architecture which incorporates a set of high performance floating point operations. The instruction set architecture incorporates a variety of data formats including single precision and double precision data formats, as well as the paired-single data format that allows two simultaneous operations on a pair of operands. The extension includes instructions directed to branching if, for example, either one of two condition codes is false or true, if any of three condition codes are false or true, or if any one of four condition codes are false or true.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us