Multiplication Patents (Class 708/503)
  • Patent number: 6697833
    Abstract: 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.
    Type: Grant
    Filed: January 18, 2001
    Date of Patent: February 24, 2004
    Assignee: International Business Machines Corporation
    Inventors: Christopher A. Krygowski, Eric M. Schwarz
  • Publication number: 20040010531
    Abstract: An apparatus for calculating an exponential calculating result for a base 2 floating-point number comprises a transforming device, K exponential tables and a multiplier. The transforming device receives the floating-point number, transforms the floating-point number to an integer part and a fractional part and outputs the integer part and the fractional part. The fractional part is an N-bit number and divided into K parts which have N1, N2, . . . , NK bits respectively, wherein N=N1+N2+ . . . +NK. Each of the exponential tables receives one of the K parts divided from the fractional part and outputs a result. The multiplier receives all results from the exponential tables and outputs a mantissa. The integer part outputted form the transforming device is an exponent.
    Type: Application
    Filed: July 9, 2002
    Publication date: January 15, 2004
    Applicant: Silicon Integrated Systems Corp.
    Inventors: Chung-Yen Lu, Kuo-Wei Yeh
  • Patent number: 6647404
    Abstract: A double-precision multiplier for use in the floating point pipeline of a processor has an array multiplier and a carry-save partial-product accumulator. Double precision multiplication is accomplished by generating a plurality of partial products and summing these in the carry-save partial-product accumulator. The partial-product accumulator has a carry-save adder, a sum register, a carry-out counter and an extender. The carry-out counter receives a carry outputs of the carry-save adder and array multiplier, and the extender is coupled to extend the sum register dependent upon the contents of the carry-out counter. The extension occurs during addition of the most significant partial product to the sum of less significant partial products.
    Type: Grant
    Filed: August 12, 2002
    Date of Patent: November 11, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Tzungren Allan Tzeng, Choon Ping Chng
  • Patent number: 6629120
    Abstract: One embodiment of the present invention provides a system that facilitates performing a mask-driven multiplication operation between arithmetic intervals within a computer system. The system first receives interval operands, including a first interval and a second interval, to be multiplied together to produce a resulting interval. Next, the system uses the operand values to create a mask. The system uses this mask to perform a multi-way branch to the code for the interval operands. In one embodiment of the present invention, creating the mask additionally involves: determining whether the first interval and/or second intervals are empty, and modifying the mask so the multi-way branch directs the execution flow of the program to appropriate code for this case. In one embodiment of the present invention, if the first interval is empty or if the second interval is empty, the multi-way branch directs the execution flow of the program to code that sets the resulting interval to be empty.
    Type: Grant
    Filed: November 9, 2000
    Date of Patent: September 30, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: G. William Walster, Dmitri Chiriaev
  • Patent number: 6606700
    Abstract: The invention is a digital signal processor architecture that is designed to speed up frequently-used signal processing computations, such as FIR filters, correlations, FFTs, and DFTs. The architecture uses a coupled dual-MAC architecture (MAC1), (MAC2) and attaches a dual-MAC coprocessor (MAC3), (MAC4) onto it in a unique way to achieve a significant increase in processing capability.
    Type: Grant
    Filed: February 26, 2000
    Date of Patent: August 12, 2003
    Assignee: Qualcomm, Incorporated
    Inventors: Gilbert C. Sih, Hemant Kumar, Way-Shing Lee
  • Publication number: 20030041081
    Abstract: An extended exponent floating point unit performs an extended exponent floating point operation on a plurality of operands to produce a product of the plurality of operands. The extended exponent floating point unit groups the plurality of operands into at least one group, determines a plurality of scale factors for the plurality of operands, respectively, and provides a running sum of the plurality of scale factors. The extended exponent floating point unit further scales the plurality of operands to obtain a plurality of scaled operands, multiplies the plurality of scaled operands to obtain a group product, and scales the group product to obtain a scaled group product. The scaled group product is adjusted based on the running sum. The plurality of operands are grouped such that when all the plurality of scaled operands in the at least one group are multiplied an overflow or underflow will not occur.
    Type: Application
    Filed: December 28, 2001
    Publication date: February 27, 2003
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele,
  • Publication number: 20030014455
    Abstract: A system for providing a floating point product comprises an analyzer circuit configured to determine a first status of a first floating point operand and a second status of a second floating point operand based upon data within the first floating point operand and data within the second floating point operand respectively. In addition, the system comprises a results circuit coupled to the analyzer circuit. The results circuit is configured to assert a resulting floating point operand containing the product of the first floating point operand and the second floating point operand. Additionally, the results circuit provides a resulting status embedded within the resulting floating point operand.
    Type: Application
    Filed: December 28, 2001
    Publication date: January 16, 2003
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele
  • Publication number: 20020194240
    Abstract: A multiply-accumulate circuit includes a compressor tree to generate a product with a binary exponent and a mantissa in carry-save format. The product is converted into a number having a three bit exponent and a fifty-seven bit mantissa in carry-save format for accumulation. An adder circuit accumulates the converted products in carry-save format. Because the products being summed are in carry-save format, post-normalization is avoided within the adder feedback loop. The adder operates on floating point number representations having exponents with a least significant bit weight of thirty-two, and exponent comparisons within the adder exponent path are limited in size. Variable shifters are avoided in the adder mantissa path. A single mantissa shift of thirty-two bits is provided by a conditional shifter.
    Type: Application
    Filed: June 4, 2001
    Publication date: December 19, 2002
    Applicant: Intel Corporation
    Inventors: Amaresh Pangal, Dinesh Somasekhar, Shekhar Y. Borkar, Sriram R. Vangal
  • Patent number: 6490607
    Abstract: A multiplier configured to perform multiplication of both scalar floating point values (X×Y) and packed floating point values (i.e., X1×Y1 and X2×Y2). In addition, the multiplier may be configured to calculate X×Y−Z. The multiplier comprises selection logic for selecting source operands, a partial product generator, an adder tree, and two or more adders configured to sum the results from the adder tree to achieve a final result. The multiplier may also be configured to perform iterative multiplication operations to implement such arithmetical operations such as division and square root. The multiplier may be configured to generate two versions of the final result, one assuming there is an overflow, and another assuming there is not an overflow. A computer system and method for performing multiplication are also disclosed.
    Type: Grant
    Filed: October 12, 1999
    Date of Patent: December 3, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Stuart F. Oberman
  • Publication number: 20020178202
    Abstract: A method for providing a floating point product consistent with the present invention includes multiplying a subprecise operand and a non-subprecise operand using a plurality of intermediate stages. The method further includes correcting an error introduced by the subprecise operand by performing an operation in conjunction with a one of the plurality of intermediate stages utilizing a compensating summand.
    Type: Application
    Filed: December 28, 2001
    Publication date: November 28, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: Guy L. Steele
  • Publication number: 20020124037
    Abstract: 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.
    Type: Application
    Filed: January 18, 2001
    Publication date: September 5, 2002
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher A. Krygowski, Eric M. Schwarz
  • Patent number: 6446104
    Abstract: A double-precision multiplier for use in the floating point pipeline of a processor has an array multiplier and a carry-save partial-product accumulator. Double precision multiplication is accomplished by generating a plurality of partial products and summing these in the carry-save partial-product accumulator. The partial-product accumulator has a carry-save adder, a sum register, a carry-out counter and an extender. The carry-out counter receives a carry outputs of the carry-save adder and array multiplier, and the extender is coupled to extend the sum register dependent upon the contents of the carry-out counter. The extension occurs during addition of the most significant partial product to the sum of less significant partial products.
    Type: Grant
    Filed: September 15, 1999
    Date of Patent: September 3, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Tzungren Allan Tzeng, Choon Ping Chng
  • Patent number: 6370247
    Abstract: Hash values, keys and cipher text which have a high degree of data scrambling are generated rapidly. When a message is sent, divisional data of the message are input, and injection extension processing is performed so that the data length of output data is longer than the data length of input data. Further, hash values are generated by a hash function containing multiplication processing, cyclic shift processing, etc.
    Type: Grant
    Filed: September 5, 2000
    Date of Patent: April 9, 2002
    Assignee: Hitachi, Ltd.
    Inventors: Kazuo Takaragi, Hiroyuki Kurumatani
  • Publication number: 20020002573
    Abstract: A reconfigurable processor includes at least three (3) MacroSequencers (10)-(16) which are configured in an array. Each of the MacroSequencers is operable to receive on a separate one of four buses (18) an input from the other three MacroSequencers and from itself in a feedback manner. In addition, a control bus (20) is operable to provide control signals to all of the MacroSequencers for the purpose of controlling the instruction sequence associated therewith and also for inputting instructions thereto. Each of the MacroSequencers includes a plurality of executable units having inputs and outputs and each for providing an associated execution algorithm. The outputs of the execution units are input to an output selector which selects the outputs for outputs on at least one external output and on at least one feedback path. An input selector (66) is provided having an input for receiving at least one external output and at least the feedback path.
    Type: Application
    Filed: March 1, 2001
    Publication date: January 3, 2002
    Applicant: Infinite Technology Corporation.
    Inventors: George Landers, Earle Jennings, Tim B. Smith, Glen Haas
  • Patent number: 6269384
    Abstract: A multiplier capable of performing signed and unsigned scalar and vector multiplication is disclosed. The multiplier is configured to receive signed or unsigned multiplier and multiplicand operands in scalar or packed vector form. An effective sign for the multiplier and multiplicand operands may be calculated based upon each operand's most significant bit and a control signal. The effective signs may then be used to create and select a number of partial products according to Booth's algorithm. Once the partial products have been created and selected, they may be summed and the results may be output. The results may be signed or unsigned, and may represent vector or scalar quantities. When a vector multiplication is performed, the multiplier may be configured to generate and select partial products so as to effectively isolate the multiplication process for each pair of vector components.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: July 31, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Stuart Oberman
  • Patent number: 6269385
    Abstract: An apparatus and a method for performing rounding and addition in parallel in a floating point multiplier are disclosed, in which operation time and the size of a chip can be reduced.
    Type: Grant
    Filed: July 30, 1998
    Date of Patent: July 31, 2001
    Assignee: Hyundai Electronics Industries Co., Ltd.
    Inventors: Tack Don Han, Woo Chan Park
  • Patent number: 6233595
    Abstract: A method for performing fast multiplication in a microprocessor is disclosed. The method comprises detecting multiplication operations that have a floating point operand and an integer operand, wherein the integer operand is an integer power of two. Once detected, a multiplication operation meeting these criteria may be executed by using an integer adder to sum the integer power and the floating point operand's exponent to from a product exponent. The bias of the integer operand's exponent may also be subtracted. A product mantissa is simply copied from the floating point operand's mantissa. The floating point operand's sign bit may be inverted to form the product's sign bit if the integer operand is negative. Advantageously, the product is generated using integer addition which is faster than floating point multiplication. The method may be implemented in hardware or software.
    Type: Grant
    Filed: May 8, 1998
    Date of Patent: May 15, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Lei Cheng, Frank J. Gorishek, IV, Yi Liu
  • Patent number: 6226737
    Abstract: An apparatus and method for performing single precision multiplication in a microprocessor are provided. The apparatus includes translation logic and extended precision floating point execution logic. The translation logic decodes a single precision multiply instruction into an associated micro instruction sequence directing the microprocessor to fetch a single precision operand from memory and convert it to extended precision format. In addition, the associated micro instruction sequence directs floating point execution logic employing a dual pass multiplication unit to skip a pass associated with computing an insignificant partial product. This insignificant partial product would otherwise result from multiplication of a multiplicand by zeros which are appended to the significand of the fetched operand when it is converted to extended precision format.
    Type: Grant
    Filed: July 15, 1998
    Date of Patent: May 1, 2001
    Assignee: IP-First, L.L.C.
    Inventors: Timothy A. Elliott, G. Glenn Henry
  • Patent number: 6205462
    Abstract: Disclosed is a Multiply-Accumulate circuit that includes an exponent adder circuit, a mantissa multiplier circuit, a shifter, a full adder, and an accumulator. The product adder circuit receives two operands in a special combined data format which prescribes a mantissa and an exponent for both integer and floating point operands. The exponent adder circuit adds the exponents of the two operands. But if before the addition the exponent adder circuit detects an integer as an operand, it replaces the exponent of the integer by a substitute value in that addition. This substitute value is related to the number of bits of the mantissa of the integer. The mantissa multiplier circuit multiplies the two mantissas of the two operands. The shifter shifts the resultant product of multiplication into a pre-defined fixed point format according to the resultant sum of the addition generated by the exponent adder circuit. The full adder adds this shifted product to the current content of the accumulator.
    Type: Grant
    Filed: October 6, 1999
    Date of Patent: March 20, 2001
    Assignee: Cradle Technologies
    Inventors: David C. Wyland, David A. Harrison
  • Patent number: 6175907
    Abstract: An apparatus and method for calculating a square root of an operand in a microprocessor are provided. The microprocessor has a plurality of square root instructions, each of which specifies a square root calculation precision. The apparatus includes translation logic and execution logic. The translation logic decodes the square root macro instruction into a plurality of prescribed-precision machine instructions according to the square root calculation precision specified by the plurality of square root instructions. The execution logic, coupled to the translation logic, receives the plurality of prescribed-precision machine instructions and calculates the square root of the operand according to the specified square root calculation precision. At least one of the plurality of square root instructions specifies the square root calculation precision such that less significant bits are calculated in the square root than are provided in the operand.
    Type: Grant
    Filed: July 17, 1998
    Date of Patent: January 16, 2001
    Assignee: IP First, L.L.C
    Inventors: Timothy A. Elliott, G. Glenn Henry
  • Patent number: 6055554
    Abstract: An IEEE 754 standard floating point multiply instruction for binary extended precision format can be executed with a quad word format on an S/390 process. The multiplication calculation multiplies each partition by each other. In the multiplication calculation process dataflow process of either operand is a denormalized number, they are normalized at a stage which creates an expanded exponent range of one more bit, and the calculation continues to a parallel path multiplexor stage, but if neither operand is denormalized then the exponent of the number is expended and the calculation splits into four parallel paths, wherein two operand's sign bits are processed in a sign calculation block stage, the operands' two 16 bit binary exponents are processed by an exponent conversion block stage, and a partition multiplicand significand block stage receives a 113 bit multiplicand significand input for a fourth path.
    Type: Grant
    Filed: March 4, 1998
    Date of Patent: April 25, 2000
    Assignee: Internatinal Business Machines Corporation
    Inventor: Eric Mark Schwarz
  • Patent number: 6032168
    Abstract: In a parallel computer system having N parallel computing units a data pipeline connects all the computing units. In addition the computing units are coupled to a random access memory so that each computing unit is assigned to one column of the memory array. To perform a digital signal processing filter operation the required coefficients are stored in the memory so that one or more different filter operations can be carried out in an interleaved way.
    Type: Grant
    Filed: August 15, 1997
    Date of Patent: February 29, 2000
    Assignee: Motorola, Inc.
    Inventors: Yaron Ben-Arie, Effi Orian, Itzhak Barak, Jacob Kirschenbaum, Doron Kolton, Shay-Ping Thomas Wang, Shao-Wei Pan, Stephen-Chih-Hung Ma
  • Patent number: 6026483
    Abstract: A multiplier capable of performing both signed and unsigned scalar and vector multiplication is disclosed. The multiplier is configured for use in a microprocessor and comprises a partial product generator, a selection logic unit, and an adder. The multiplier is configured to receive signed or unsigned multiplier and multiplicand operands in scalar or packed vector form. The multiplier is also configured to receive a first control signal indicative of whether signed or unsigned multiplication is to be performed and a second control signal indicative of whether vector multiplication is to be performed. The multiplier is configured to calculate an effective sign for the multiplier and multiplicand operands based upon each operand's most significant bit and the control signal. The effective signs may then be used by the partial product generation unit and the selection logic to create and select a number of partial products according to Booth's algorithm.
    Type: Grant
    Filed: January 28, 1998
    Date of Patent: February 15, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stuart F. Oberman, Ravikrishna Cherukuri, Ming Siu
  • Patent number: 6021422
    Abstract: There is a unique partitioning problem in determining how to execute the floating point multiply instruction defined by IEEE 754 standard for the quad word format on a S/390 processor. Several manufacturers including IBM and HP define the binary quad word format to have a 113 bit significand. IBM S/390 hexadecimal long floating point format has a 56 bit significand and most S/390 floating point units only contain a long format multiplier. Quad word format multiplication must be executed as a series of several long precision multiplications and extended precision or long precision additions. The S/390 hexadecimal quad word format is easier to implement than binary format since it has a 112 bit significand and can easily be partitioned into two 56 bit parts. But a 113 bit significand would just exceed two partitions and require a third.
    Type: Grant
    Filed: March 5, 1998
    Date of Patent: February 1, 2000
    Assignee: International Business Machines Corporation
    Inventor: Eric Mark Schwarz
  • Patent number: 5999961
    Abstract: A circuit for performing prefix computation in an asynchronous digital processor by implementing a serial process and a tree process for the same prefix computation in parallel. The first output from either processes is selected and used for the subsequent operation. For a prefix computation with N inputs, an average-case latency of O(loglog N) can be achieved. Buffering can be used for a full-throughout operation.
    Type: Grant
    Filed: September 15, 1997
    Date of Patent: December 7, 1999
    Assignee: California Institute of Technology
    Inventors: Rajit Manohar, Alain J. Martin
  • Patent number: 5991784
    Abstract: A circuit for applying a predetermined algorithm to an input signal, has an input for receiving the input signal, a signal processing device for processing the input signal in accordance with the predetermined algorithm, and a device for outputting the processed signal. The signal processing device incorporates distributed bit-serial logic circuits to implement the predetermined algorithm.
    Type: Grant
    Filed: April 24, 1997
    Date of Patent: November 23, 1999
    Assignee: Mitel Corporation
    Inventor: Gordon J. Reesor
  • Patent number: 5909385
    Abstract: A multiplying apparatus includes a Booth decoder for performing a second-order Booth decode on a multiplier, a Booth selector for generating a partial product except the two high-order digits from the output of the decoder and a multiplicand, a partial product corrector for correcting the two high-order digits of the partial product based on the multiplier and the multiplicand and outputting the corrected result, for cancelling a sign corrected portion of the negative partial product, and a carry save adder for being inputted with the outputs of the Booth selector and the outputs of the corrector and adding them.
    Type: Grant
    Filed: April 1, 1997
    Date of Patent: June 1, 1999
    Assignee: Hitachi, Ltd.
    Inventors: Takahiro Nishiyama, Hiromichi Yamada