Multiplication Patents (Class 708/620)
  • Patent number: 6523055
    Abstract: A multiplication accumulation circuit (abbreviated as “MAC”) has five input buses that carry signals for operands A, B, C, D and E, a control bus that carries signals for controlling the operations performed on the received operands, and an output bus that carries a signal generated by the MAC. Each of operands A, B, C and D can be four different operands that are used as follows by the MAC: (1) to perform two multiplications simultaneously, and (2) to perform an addition of the products of the two multiplications and the fifth operand E, e.g. generate on the output bus a signal of value A*C+B*D+E. Alternatively, operands A and B can be, respectively, the upper and lower halves of a first double word to be used as a multiplicand. Similarly, operands C and D can be the upper and lower halves of a second double word to be used as a multiplier.
    Type: Grant
    Filed: January 20, 1999
    Date of Patent: February 18, 2003
    Assignee: LSI Logic Corporation
    Inventors: Robert K. Yu, Satish Padmanabhan, Chakra R. Srivatsa, Shailesh I. Shah
  • Patent number: 6513054
    Abstract: Sets of coefficient polynomials are used to design embedded-component architectures that have capability for asynchronous parallel execution at an advantageous arithmetic level where algebraic merging is realized with other operations, algorithms or applications. Because of the particular hardware structures made possible by the use of CPA, higher computational granularities and complex modules are more easily feasible than by using conventional arithmetic and, additionally, increased efficiency is obtained for algorithmic computations involving single and multiple operations. This is achieved by the merging of operations and the integration of algorithms, and thereby avoiding the necessity of performing the entire basic arithmetic separately for each operation or algorithm.
    Type: Grant
    Filed: February 22, 2000
    Date of Patent: January 28, 2003
    Assignee: The United States of America as represented by the Secretary of the Army
    Inventor: Chester C. Carroll
  • Publication number: 20030018678
    Abstract: A method and apparatus for improving the efficiency of hardware-based binary multiplication. By using radix-32 and radix-256 multipliers where each radix-32 digit is represented by two radix-7 digits and each radix-256 digit is represented by three radix-11 digits, the digit magnitudes are in power of two, which simplifies the implementation of the partial product generation. The partial products depending on multiples of the radices 7 or 11 can be separately accumulated, with multiplication by the radix a pre- or post-computation option.
    Type: Application
    Filed: February 25, 2002
    Publication date: January 23, 2003
    Inventors: David William Matula, Peter-Michael Seidel, Lee D. McFearin
  • Publication number: 20020184286
    Abstract: A method and processor for multiplying two maximally negative fractional numbers to produce a 32-bit result are provided. Operands are fetched from a source location for operation of a multiplication operation. Result outputs corresponding to a maximally negative result are detected. The detection of a maximally negative result indicates that the operands are two maximally negative fractional numbers. Maximally negative results are corrected to produce a maximally positive result. Result output are fractionally aligned and sign extended for accumulation in an accumulator.
    Type: Application
    Filed: June 1, 2001
    Publication date: December 5, 2002
    Inventor: Michael I. Catherwood
  • 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
  • Patent number: 6484194
    Abstract: This application describes a method of multiplying numbers represented in multiple-word chains. The multiplication scheme allows for the multiplication of both signed and unsigned numbers of varying lengths. The multiplier block 30 executes a 17-bit by 17-bit two's complement multiply and multiply-accumulate in a single instruction cycle. A 4-bit shift value register with a 4 to 16 bit decoder 35 allows the multiplier to do a 1-16 bit barrel shift on either a 16-bit operand or an (N×16)-bit chain operand.
    Type: Grant
    Filed: June 17, 1999
    Date of Patent: November 19, 2002
    Assignee: Texas Instruments Incorporated
    Inventors: Alva Henderson, Francesco Cavaliere
  • Patent number: 6477203
    Abstract: An apparatus computes an inner product vector of a matrix and a vector. The matrix has a first set of coefficients and the vector has a second set of coefficients. At least one input register is used to store the second set of coefficients. A plurality of storage elements are used to store partial sums that are pre-calculated from the first set of coefficients of the matrix. The outputs of the at least one input register are used as the address inputs to the plurality of storage elements to select a subset of the partial sums. In addition, a select circuit is coupled to the storage elements' address lines to determine which row in the matrix the vector forms one element of the resultant inner product for that row. The subset of partial sums from the outputs of the storage elements are added in an adder circuit to create a summation output that presents the element of the inner product vector of the matrix multiplied by the vector.
    Type: Grant
    Filed: October 30, 1998
    Date of Patent: November 5, 2002
    Assignee: Agilent Technologies, Inc.
    Inventors: Dwight Poplin, Jonathan S. Gibson
  • Publication number: 20020138537
    Abstract: A computer-based method and system comprising three data structures: partially ordered data structure (or simply ordered data structure), contiguous list v, and vector p, is used for solving a large sparse triangular system of linear equations which utilizes only the non-zero components of a matrix to solve large sparse triangular linear equations and generates explicitly only the non-zero entries of the solution. A list of the row indices of the known non-zero values of x which require further processing is stored in the ordered data structure. Actual non-zero values of x are stored in the contiguous list v and the corresponding pointers to the location of these values are stored in the vector p. The computer-based method manipulates these three matrices to find a solution to an upper or lower sparse triangular system of linear equations.
    Type: Application
    Filed: February 8, 2001
    Publication date: September 26, 2002
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Joseph Forrest, Nimrod Megiddo, John Anthony Tomlin
  • Patent number: 6453332
    Abstract: In a method and apparatus for performing plural matrix multiplication operations that involve a variable (X) and two coefficients (a), (b), each entry of a look-up table is constructed to correspond to a value of the variable (X) and to have first and second data fields that store coded products associated with the coefficients (a), (b). When the variable (X) is used to address the look-up table, the coded products in the first and second data fields of an addressed one of the entries are generated at first and second outputs of the look-up table, respectively. A decoder processes the coded products from the first and second outputs of the look-up tables, such as by performing arithmetic combining operations, to obtain the results of the matrix multiplication operations.
    Type: Grant
    Filed: August 20, 1999
    Date of Patent: September 17, 2002
    Assignee: Winbond Electronics Corp.
    Inventor: Rong-Fuh Shyu
  • Patent number: 6446106
    Abstract: A method and apparatus for performing a divide operation in a computer are described. The apparatus includes a first memory containing estimated reciprocal terms, and a second memory containing reciprocal error terms. An adder adds a selected estimated reciprocal term from the first memory and a selected reciprocal error term from the second memory to provide the reciprocal. The selected estimated reciprocal term and the selected reciprocal error term correspond to at least a portion of a divisor. The apparatus includes a multiplier for multiplying a dividend by the reciprocal to generate a quotient. The method includes the step of looking up an estimated reciprocal term in a first lookup table stored in a first computer memory wherein the estimated reciprocal term corresponds to at least a portion of a given divisor. A reciprocal error term is looked up in a second lookup table stored in a second computer memory, the error term corresponds to at least a portion of the divisor.
    Type: Grant
    Filed: May 29, 2001
    Date of Patent: September 3, 2002
    Assignee: Micron Technology, Inc.
    Inventor: James R. Peterson
  • Patent number: 6430589
    Abstract: A device for performing single precision floating point arithmetic. The device includes a shared operand generator that receives an operand and outputs a result that is a fixed function of the operand. It also includes an arithmetic circuit comprising a plurality of multiply circuits that calculate partial products of a first and second operand and the result of the shared operand generator. It also includes circuitry to calculate the sum of the partial products and a third operand to produce the arithmetic result.
    Type: Grant
    Filed: June 19, 1998
    Date of Patent: August 6, 2002
    Assignee: Hynix Semiconductor, Inc.
    Inventor: Earle W. Jennings, III
  • Publication number: 20020103840
    Abstract: A digital multiplication apparatus and method adopting a redundant binary arithmetic is provided. In this digital multiplication apparatus, when two numbers X and Y are multiplied using a radix-2k number system, a data converter data-converts the m-bit number Y into m/k-digit data D(=Dm,k−1Dm/k−2 . . . Di . . . DiD0). A partial product calculator converts each of the digits Di of the number Y converted by the data converter into a combination of the coefficients of a fundamental multiple, multiplies the combination by the number X, and outputs the product as a redundant binary partial product. A redundant binary adder sums the partial products for all of the digits of the converted number Y. A redundant binary (RB)-normal binary (NB) converter converts the redundant binary sum into a normal binary number and outputs the converted normal binary sum as the product of the two numbers. Therefore, even when the radix extends, the burden upon hardware can be minimized.
    Type: Application
    Filed: April 12, 2001
    Publication date: August 1, 2002
    Inventors: Hong-June Park, Sang-Hoon Lee
  • Publication number: 20020103843
    Abstract: A computationally efficient multiplication method and apparatus for modular exponentiation. The apparatus uses a preload register, coupled to a multiplier at a second input port via a KN bit bus to load the value of the “a” multiplicand in the multiplier in a single clock pulse. The “b” multiplicand (which is also KN bits long) is supplied to the multiplier N bits at a time from a memory output port via an N bit bus coupled to a multiplier first input port. The multiplier multiplies the N bits of the “b” multiplicand by the KN bits of the “a” multiplicand and provides that product at a multiplier output N bits at a time, where it can be supplied to the memory via a memory input port.
    Type: Application
    Filed: January 11, 2002
    Publication date: August 1, 2002
    Inventors: Matthew Scott McGregor, Thuan P. Le
  • Publication number: 20020103841
    Abstract: A data processor, such as a DSP, includes a multiplier block having a multiplier front end for generating partial products from input operands, and further includes a plurality of ALUs having inputs that are switchably or programmably coupled, in a first mode of operation, to first data sources representing outputs of the multiplier front end. In the first mode of operation the ALUs add together partial products received from the multiplier front end to arrive at a multiplication result. In a second mode of operation the inputs of the plurality of ALUs are switchably or programmably coupled to second data sources for performing at least one of arithmetic and logical operations on data received from the second data sources. In this case the plurality of ALUs can operate together in parallel. In general, the partial products have a width of n-bits, and a width of the ALUs is one of n-bits or less than n-bits.
    Type: Application
    Filed: February 1, 2001
    Publication date: August 1, 2002
    Inventor: Jari A. Parviainen
  • Patent number: 6427159
    Abstract: An arithmetic unit configured to perform multiply and add operations on three operands A, B and C, where A is the multiplicand, B is the multiplier and C is the addend. The arithmetic unit includes a multiplier unit having an input stage configured to receive operands A and B from a data pump and includes an output to provide a product AB. The arithmetic unit also includes a register having an input coupled to the multiplier unit output and an output and a multiplexer having a first data input coupled to the multiplier unit output, a second data input coupled to the register output, a toggle command input and a data output. A bypass decision block in the arithmetic unit includes an input stage configured to receive the operands A and B and includes an output coupled to a scheduler and to the toggle command input.
    Type: Grant
    Filed: August 3, 1999
    Date of Patent: July 30, 2002
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Olivier Giaume
  • Publication number: 20020099751
    Abstract: An energy saving multiplication device and its method is disclosed. The multiplication device comprises a dynamic range determination unit, a Booth encoding/decoding unit and a counter array. The dynamic range determination unit determines dynamic ranges of the numerical values to be multiplied together and outputs after processing according to the dynamic-range size relation of the input data. The Booth encoding/decoding unit couples to the dynamic range determination unit. The counter array couples to the Booth encoding/decoding unit for accumulating the partial products to obtain the products of the input data.
    Type: Application
    Filed: May 22, 2001
    Publication date: July 25, 2002
    Applicant: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE
    Inventors: Oscal T.-C. Chen, Kuo-Hua Chen, Ruey-Liang Ma
  • Publication number: 20020078110
    Abstract: A logic circuit such as a parallel counter comprises logic for generating output bits as elementary symmetric functions of the input bits. The parallel counter can be used in a multiplication circuit. A multiplication circuit is also provided in which an array of combinations of each bit of a binary number with each other bit of another binary number is generated having a reduced form in order to reduce the steps required in array reduction.
    Type: Application
    Filed: July 27, 2001
    Publication date: June 20, 2002
    Inventors: Dmitriy Rumynin, Sunil Talwar, Peter Meulemans
  • Publication number: 20010044816
    Abstract: Upon execution of four sets of m/2 bit×n/2 bit multiplication, four multiplicand selectors select m/2-bit multiplicands respectively and four multiplicator selectors select corresponding n/2-bit multiplicators respectively, then the selected m/2-bit multiplicands and n/2-bit multiplicators are input into four multipliers, and then four sets of m/2 bit×n/2 bit multiplication are executed in parallel.
    Type: Application
    Filed: July 17, 2001
    Publication date: November 22, 2001
    Inventors: Naoka Yano, Naoyuki Tamura
  • Patent number: 6298369
    Abstract: The high speed multiplier takes advantage of results from previous calculations by recognizing that in many cases the multiplicand between a first and second multiplication differs only slightly. Thus, the present system divides the multiplicand into a cache lookup bit (CLB) and a table lookup bit (TLB). The results of a first multiplication are stored in a cache. The CLB of a of the multiplicand in the second multiplication is then compared to the CLB of the multiplicand in the second multiplication. If the CLB matches, the product of the first multiplication is retrieved. The product of the TLB of the multiplicand and the multiplier is then retrieved from a lookup table and either added or subtracted from the retrieved product.
    Type: Grant
    Filed: September 30, 1998
    Date of Patent: October 2, 2001
    Assignee: STMicroelectronics, Inc.
    Inventor: Thi N. Nguyen
  • Publication number: 20010023425
    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 and 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. The multiplier may also be configured to sum the products of the vector components to form the vector dot product. The final product may be output in segments so as to require fewer bus lines.
    Type: Application
    Filed: February 12, 2001
    Publication date: September 20, 2001
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Stuart Oberman, Norbert Juffa, Ming Siu, Frederick D. Weber, Ravikrishna Cherukuri
  • Patent number: 6286023
    Abstract: An adder tree is partitioned into two parts. One multiplexer provides a first bit group to the first part of the tree. A second multiplexer provides a second bit group to the second part of the tree. The two multiplexers provide the same bits groups to the respective parts in response to a first instruction, and provide different bit groups in response to a second instruction. Therefore, the first instruction allows for the single multiplication of the number represented by the first bit group by another number provided to collectively represented to both parts of the tree. The second instruction causes the multiplication of the first bit group by the third bit group in the first part of the adder tree, and causes another multiplication of the second bit group by the fourth bit group in the second part of the adder tree.
    Type: Grant
    Filed: June 19, 1998
    Date of Patent: September 4, 2001
    Assignee: ATI International SRL
    Inventors: Stephen C. Purcell, Nital P. Patwa
  • Patent number: 6282556
    Abstract: A pipelined data path architecture for use, in one embodiment, in a multimedia processor. The data path architecture requires a maximum of two execution pipestages to perform all instructions including wide data format multiply instructions and specially adapted multimedia instructions, such as the sum of absolute differences (SABD) instruction and other multiply with add (MADD) instructions. The data path architecture includes two wide data format input registers that feed four partitioned 32×32 multiplier circuits. Within two pipestages, the multiply circuit can perform one 128×128 multiply operation, four 32×32 multiply operations, eight 16×16 multiply operations or sixteen 8×8 multiply operations in parallel. The multiply circuit contains a compressor tree which generates a 256-bit sum and a 256-bit carry vector. These vectors are supplied to four 64-bit carry propagate adder circuits which generate the multiply results.
    Type: Grant
    Filed: November 30, 1999
    Date of Patent: August 28, 2001
    Assignees: Sony Corporation of Japan, Sony Electronics, Inc.
    Inventors: Farzad Chehrazi, Vojin G. Oklobdzija
  • Publication number: 20010016864
    Abstract: A computer unit for a first (z) and a second (k, k*) number comprising at least one place shifting device (3, 4), whose shift position is controlled by an associated shift instruction (s1, s2) in dependence on the second number (k, k*), and to whose position inputs are conducted the value-ordered places of the first number (z), which generally is a binary coded dual number. The input or output of each place shifting device (s1, s2) has associated with it a sign inverter (5, 6), which is controlled by an associated sign instruction (n1, n2), in dependence on the second number (k, k*), which generally is a binary coded dual number using the canonical form, and on the output side, each place of the place shifting device (3, 4) is connected respectively to a place input of a four-place adder (7).
    Type: Application
    Filed: January 31, 2001
    Publication date: August 23, 2001
    Inventor: Carsten Noeske
  • Patent number: 6275842
    Abstract: The NEG output of the Booth encoding circuit and the multiplicand input are gated so as to minimize switching activity in the multiplier without adding any delay to the critical path thereof. Advantageously, power consumption in the multiplier is significantly reduced, e.g., on the order of 90%, when multiplication is in fact not being performed. Additionally, by changing the structure of the last XOR gate of the partial product generation circuit, the need to gate the multiplicand input can be eliminated. Advantageously, this eliminates the extra circuitry which would otherwise be required to gate the multiplicand input, thus reducing cost. Furthermore, additional power savings may be achieved by efficiently resynchronizing the multiplicand input with the Booth encoded input to the partial product circuit.
    Type: Grant
    Filed: November 2, 1999
    Date of Patent: August 14, 2001
    Assignee: Agere Systems Guardian Corp.
    Inventor: Christopher John Nicol
  • Patent number: 6275841
    Abstract: The described multiplier provides the signed or unsigned product of a multiplicand and multiplier represented in preferably 1-of-4 N-NARY signals by performing a preferably radix-four Booth recoding of the multiplier, producing partial products using a plurality of Booth multiplexers, summing the partial productsto produce two intermediate partial products using a six-level Wallace tree, and summing the two intermediate partial products using a carry lookahead adder. The Booth encoding is performed at the dit level using encoding circuitry implemented in N-NARY logic.
    Type: Grant
    Filed: November 5, 1998
    Date of Patent: August 14, 2001
    Assignee: Intrinsity, Inc.
    Inventors: Terence M. Potter, James S. Blomgren, Anthony M. Petro
  • Patent number: 6240437
    Abstract: A data processing apparatus including a multiplier unit forming a product from L bits of each two data buses of N bits each N is greater than L. The multiplier forms a N bit output having a first portion which is the L most significant bits of the of product and a second portion which is M other bits not including the L least significant bits of the product, where N is the sum of M and L. In the preferred embodiment the M other bits are derived from other bits of the two input data busses, such as the M other bits of the first input data bus. An arithmetic logic unit performs parallel operations (addition, subtraction, Boolean functions) controlled by the same instructions. This arithmetic logic unit is divisible into a selected number of sections for performing identical operations on independent sections of its inputs. The multiplier unit may form dual products from separate parts of the input data.
    Type: Grant
    Filed: November 10, 1997
    Date of Patent: May 29, 2001
    Assignee: Texas Instruments Incorporated
    Inventors: Karl M. Guttag, Christopher J. Read, Keith Balmer
  • Publication number: 20010001860
    Abstract: A circuit and method for deriving an adder output bit from adder input bits, a multiplier circuit, a method of multiplying, a microprocessor and digital signal processor (DSP) employing the circuit or the method and a method of selecting weights and thresholds for logic gates. In one embodiment, the circuit includes: (1) first, second and third logic gates that generate intermediate bits based on threshold comparisons of concatenations of ones of the adder input bits and (2) combinatorial logic that generates the adder output bit from the intermediate bits. In one embodiment, the multiplier includes a summer having at least two inputs with corresponding weights, the inputs corresponding to bits of a multiplicand, the weights based on a multiplier, the summer generating a weighted sum of the multiplicand that represents a multiplication of the multiplicand and the multiplier that is a function of the weighted sum.
    Type: Application
    Filed: January 10, 2001
    Publication date: May 24, 2001
    Inventor: Valeriu Beiu
  • Publication number: 20010001861
    Abstract: A circuit and method for deriving an adder output bit from adder input bits, a multiplier circuit, a method of multiplying, a microprocessor and digital signal processor (DSP) employing the circuit or the method and a method of selecting weights and thresholds for logic gates. In one embodiment, the circuit includes: (1) first, second and third logic gates that generate intermediate bits based on threshold comparisons of concatenations of ones of the adder input bits and (2) combinatorial logic that generates the adder output bit from the intermediate bits. In one embodiment, the multiplier includes a summer having at least two inputs with corresponding weights, the inputs corresponding to bits of a multiplicand, the weights based on a multiplier, the summer generating a weighted sum of the multiplicand that represents a multiplication of the multiplicand and the multiplier that is a function of the weighted sum.
    Type: Application
    Filed: January 10, 2001
    Publication date: May 24, 2001
    Inventor: Valeriu Beiu
  • Patent number: 6223197
    Abstract: A constant multiplier reduces the number of partial products and thereby reduces the number of adding stages for a constant. By reducing the number of partial products, the constant multiplier reduces circuit area and operation delay. The constant multiplier is optionally incorporated into a corresponding method and a device which automatically provides the constant multiplier. The constant multiplier includes an adding/subtracting circuit, which has an adder and inverter, for performing addition and subtraction of partial products. Each of the partial products is obtained by multiplying each of “add” and “subtract” terms of a power of two having a smallest term number obtained by decomposing the constant by a signal. The constant multiplier is suitably used for designing a large scale integrated circuit (ASIC) having functions of a moving picture expert group (MPEG).
    Type: Grant
    Filed: August 22, 1997
    Date of Patent: April 24, 2001
    Assignee: Fujitsu Limited
    Inventor: Kazuyuki Kosugi
  • Patent number: 6223198
    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 and 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. The multiplier may also be configured to sum the products of the vector components to form the vector dot product. The final product may be output in segments so as to require fewer bus lines.
    Type: Grant
    Filed: August 14, 1998
    Date of Patent: April 24, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stuart Oberman, Norbert Juffa, Ming Siu, Frederick D Weber, Ravikrishna Cherukuri
  • Patent number: 6219375
    Abstract: A digital beamforming network for transmitting a first number of digital information signal using a second number of antenna array elements is disclosed. Assemblers are used for assembling one information bit selected from each of the information signals into a bit vector. Digital processors have an input for the bit vector and a number of outputs equal to the second number of antenna elements and process the bit vector. Finally, modulation waveform generators coupled to each of the second number of outputs generate a signal for transmission by each antenna element.
    Type: Grant
    Filed: January 19, 1999
    Date of Patent: April 17, 2001
    Assignee: Ericsson Inc.
    Inventor: Paul W. Dent
  • Patent number: 6173303
    Abstract: Multiplication circuitry performs a multiply operation to multiply a multiplicand operand and a multiplier operand to form a total product of the multiplication operation, where the multiplier operand includes a plurality of multiplier operand portions. The multiplication circuitry includes multiplier circuitry configured to multiply each of the multiplier operand portions and the multiplicand operand, in a sequence, to form a sequence of partial products corresponding to the sequence of multiplier operand portions. The multiplier circuitry further includes combining circuitry configured, for each multiplier operand portion, to combine the partial product corresponding to that multiplier operand portion with a previous partial result, to generate a new partial result corresponding to that multiplier operand portion.
    Type: Grant
    Filed: November 6, 1998
    Date of Patent: January 9, 2001
    Assignee: National Semiconductor Corp.
    Inventors: Yoram Avigdor, Limor Levy
  • Patent number: 6173305
    Abstract: A data processing apparatus iteratively forms quotient, includes data registers (200) for storing various initial and intermediate quantities, a multiplexer (215) for selecting data from one of two data registers, a barrel rotator (235) and an arithmetic logic unit (230). A first register (200a) stores the numerator, which is left shifted each iteration. A second register (200c) stores the difference formed by the prior trial subtractions. A status register (210) set by the prior arithmetic logic unit (230) result controls the selection made by the multiplexer (215). A barrel rotator (235) rotates the data selected by multiplexer (215). The arithmetic logic unit (230) subtracts the divisor from the rotated quantity this result controls the iterative division process. If the difference is less than zero, then the rotated data is selected and the quotient bit is “0”. Otherwise, the prior difference is selected and the quotient bit is “1”.
    Type: Grant
    Filed: November 30, 1993
    Date of Patent: January 9, 2001
    Assignee: Texas Instruments Incorporated
    Inventor: Sydney W. Poland
  • Patent number: 6167420
    Abstract: A multiplication method and a multiplication circuit, wherein a multiplicand is multiplied by a multiplier by using a multiplication means, the result of the multiplication is added by an addition means to a rounding signal to be output from a rounding signal generation means, and the result of the addition, i.e., a multiplication result obtained after rounding, is stored in a register. By a barrel shifter, the multiplication result obtained after rounding stored in the register is shifted by a bit count indicated by a shift bit count signal. The shift bit count signal output from an instruction control means is input to the barrel shifter and a rounding signal generation means. The rounding signal generation means generates a rounding signal on the basis of the shift bit count signal indicating the bit count used to shift the multiplication result after rounding.
    Type: Grant
    Filed: March 6, 2000
    Date of Patent: December 26, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Mana Saishi, Shunichi Kurohmaru
  • Patent number: 6167419
    Abstract: A multiplication method and a multiplication circuit, wherein a multiplicand is multiplied by a multiplier using a multiplication process, the result of the multiplication is added by an addition process to a rounding signal to be output from a rounding signal generation process, and the result of the addition, i.e., a multiplication result obtained after rounding, is stored in a register. By a barrel shifter, the multiplication result obtained after rounding stored in the register is shifted by a bit count indicated by a shift bit count signal. The shift bit count signal output from an instruction control process is input to the barrel shifter and a rounding signal generation process. The rounding signal generation process generates a rounding signal on the basis of the shift bit count signal indicating the bit count used to shift the multiplication result after rounding.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: December 26, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Mana Saishi, Shunichi Kurohmaru
  • Patent number: 6161119
    Abstract: A scaling multiplier circuit in accordance with the invention includes a multiplier circuit, a carry calculation circuit, a logic circuit, and an adder circuit. The multiplier circuit produces a 16-bit product of two 8-bit input numbers. The 16-bit product has bits m(15:0). The carry calculation circuit produces a first carryout bit from a sum of a first number consisting of bits m(6:0), a second number consisting of bits m(14:8), and a third number consisting of bit m(7). The logic circuit produces intermediate carryout bits from a sum of bit m(7m), m(15), the first carryout bit, and a constant bit having a value of "1". The adder circuit produces the actual scaled product by summing the intermediate carryout bits and a fourth number consisting of bits m(15:8).
    Type: Grant
    Filed: November 5, 1998
    Date of Patent: December 12, 2000
    Assignee: Microsoft Corporation
    Inventors: Steven Allen Gabriel, James F. Blinn
  • Patent number: 6151616
    Abstract: Disclosed is a method and circuit for detecting overflow when multiplying operands. The disclosed method and circuit is configured to operate in parallel with a multiplier configured to multiply first and second n bit operands. In general, the multiplier circuit generates result operand which represents a multiplication of the first and second n bit operands. An overflow detection circuit is coupled to the multiplier circuit and configured to generate an overflow signal which indicates that the multiplication of the first and second n bit operands results in an overflow condition. The multiplier circuit comprises a compression circuit configured to generate the first and second 2n bit partial product operands as a function of the first and second n bit operands. An addition of the first and second 2n bit partial product operands produces the result operand.
    Type: Grant
    Filed: April 8, 1999
    Date of Patent: November 21, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Eric W. Mahurin
  • Patent number: 6144979
    Abstract: The present invention provides a method and an apparatus for performing multiply operation of floating point data in 2-cycle pipeline scheme, which can be applied to pipelined data path so that it is always capable of processing floating point data as long as the data is not contiguous, for reducing the area of the multiplier by reducing the number of basic cells used to 1/3 of that of basic cells used in conventional techniques.
    Type: Grant
    Filed: April 21, 1998
    Date of Patent: November 7, 2000
    Assignee: Hyundai Electronics Industries Co., Ltd.
    Inventors: Yoon Seok Song, Dong Bum Koh
  • Patent number: 6131107
    Abstract: A multiplier in a floating point processor includes a circuit to determine for each bit of the multiplier operand a 3 times booth recode and a booth recode multiplier array which implements a 3 times booth recode multiplication. The multiplier includes logic to determine a fast sign extend to replace bit positions shifted in the array as well as a rounding adder to provide a rounded result while determining the final result from the booth recode multiplier. The multiplier also includes a circuit to determine a contribution to the final multiplication result from a lower order product with out forming the entire product.
    Type: Grant
    Filed: December 9, 1998
    Date of Patent: October 10, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Gilbert M. Wolrich, Sribalan Santhanam, Andrew S. Olesin
  • Patent number: 6101522
    Abstract: There is provided is a product-sum calculation circuit which can be constructed of a ROM having a small capacity. In this product-sum calculation circuit, when multiplier selection signals A0 through A2 select X as a multiplier, a second selector circuit 103 selects a product Ck.times.X obtained by multiplying a multiplicand Ck by the multiplier X and outputs the same to an output control circuit 104. In this case, the output control circuit 104 outputs the product Ck.times.X without shifting the same. When the multiplier selection signals A0 through A2 select (2.sup.n)X as the multiplier, the second selector circuit 103 selects the product Ck.times.X obtained by multiplying the multiplicand Ck by the multiplier X and outputs the same to the output control circuit 104 similar to the case where the multiplier X is selected. In this case, the output control circuit 104 outputs (2.sup.n)-fold value of (Ck.times.X) by shifting leftward the product Ck.times.X by n bits. Therefore, merely by storing (Ck.times.
    Type: Grant
    Filed: May 29, 1998
    Date of Patent: August 8, 2000
    Assignee: Sharp Kabushiki Kaisha
    Inventor: Yuichi Sato
  • Patent number: 6038583
    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. The multiplier may also be configured to sum the products of the vector components to form the vector dot product.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: March 14, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stuart Oberman, Ming Siu
  • Patent number: 6035317
    Abstract: A coprocessor including a first multiplication circuit and a second multiplication circuit with a series input to receive n bits and a series output to give n+k bits. The coprocesser also includes addition and multiplexing circuits enabling the data elements produced by the multiplication circuits to be added up with one another and with other data elements encoded on n bits. The invention makes parallel use of the multiplication circuits to carry out modular or non-modular operations on pieces of binary data having n bits or more.
    Type: Grant
    Filed: January 8, 1998
    Date of Patent: March 7, 2000
    Assignee: SGS-Thomson Microelectronics S.A.
    Inventor: Monier Guy
  • Patent number: 6032170
    Abstract: A data processing apparatus including a multiplier unit forming a product from L bits of each two data buses of N bits each N is greater than L. The multiplier forms a N bit output having a first portion which is the L most significant bits of the of product and a second portion which is M other bits not including the L least significant bits of the product, where N is the sum of M and L. In the preferred embodiment the M other bits are derived from other bits of the two input data busses, such as the M other bits of the first input data bus.
    Type: Grant
    Filed: April 20, 1998
    Date of Patent: February 29, 2000
    Assignee: Texas Instruments Incorporated
    Inventors: Karl M. Guttag, Christopher J. Read, Keith Balmer
  • 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: 6014684
    Abstract: A method and apparatus for performing N bit by 2*N (or 2*N-1) bit signed multiplication using two N bit multiply instructions. According to one aspect of the invention, a method for performing signed multiplication of A times B (where B has N bits and A has N*2 bits) is described. In this method, A.sub.high and A.sub.low respectively represent the most and least significant halves of A. According to this method, A.sub.low is logically shifted right by one bit to generate A.sub.low >>1. Then, A.sub.low >>1 is multiplied by B using signed multiplication to generate a first partial result. In addition, a second partial result is generated by performing signed multiplication of A.sub.high times B. One or both of the first and second partial results is shifted to align the first and second partial results for addition, and then the addition is performed to generate a final result representing A multiplied by B.
    Type: Grant
    Filed: March 24, 1997
    Date of Patent: January 11, 2000
    Assignee: Intel Corporation
    Inventor: Nathaniel Hoffman
  • Patent number: 6012078
    Abstract: A multiplier uses squaring units to find the product of two binary numbers A and B by exploiting the algebraic expansion of (A-B).sup.2 or (A+B).sup.2. The squaring units may be look-up memories. However, to multiply extremely large numbers, each squaring unit may itself have look-up memories and additional components. A divider may be formed by using the multiplier to multiply trial quotients by a divisor and by comparing the product with a dividend. The trial quotient is formed by shifting a one through a sequence of bit positions and latching the one at bit positions such that the trial quotient times the divisor does not exceed the dividend.
    Type: Grant
    Filed: June 23, 1997
    Date of Patent: January 4, 2000
    Inventor: Lawson A. Wood
  • Patent number: 5983257
    Abstract: A computer system which includes a multimedia input device which generates an audio or video input signal and a processor coupled to the multimedia input device. The system further includes a storage device coupled to the processor and having stored therein a signal processing routine for multiplying and accumulating input values representative of the audio or video input signal. The signal processing routine, when executed by the processor, causes the processor to perform several steps. These steps include performing a packed multiply add on a first set of values packed into a first source and a second set of values packed into a second source each representing input signals to generate a packed intermediate result. The packed intermediate result is added to an accumulator to generate a packed accumulated result in the accumulator. These steps may be iterated with the first set of values and portions of the second set of values to the accumulator to generate the packed accumulated result.
    Type: Grant
    Filed: December 26, 1995
    Date of Patent: November 9, 1999
    Assignee: Intel Corporation
    Inventors: Carole Dulong, Larry M. Mennemeier, Tuan H. Bui, Eiichi Kowashi, Alexander D. Peleg, Benny Eitan, Stephen A. Fischer, Benny Maytal, Millind Mittal
  • Patent number: 5935197
    Abstract: The present invention provides a data processing circuit and method for performing arithmetic processing on data signals input to the circuit, comprising: a plurality of input terminals for receiving a plurality of data signals to be processed; a plurality of interconnected arithmetic processing units, one corresponding to each input terminal, for processing the data signals received at the corresponding input terminal; and a selector for routing the data signals at said input terminals to the corresponding arithmetic processing units in a first mode of operation, or for routing a selected one of said data signals to said plurality of arithmetic processing units in a second mode of operation; whereby, in said first mode of operation, data signals arriving at said input terminals are processed in parallel by said corresponding arithmetic processing units, and, in said second mode of operation, at any point in time, one of said data signals is processed by said plurality of arithmetic processing units.
    Type: Grant
    Filed: March 21, 1997
    Date of Patent: August 10, 1999
    Assignee: Arm Limited
    Inventor: Peter James Aldworth