Patents by Inventor Fred G. Gustavson

Fred G. Gustavson has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6842765
    Abstract: A processor for performing a multiply-add instruction on a multiplicand A, a multiplier B, and an addend C, to calculate a result D. The operands are double-precision floating point numbers and the result D is a canonical-form extended-precision floating point number having a high order component and a low order component. The processor is a fused multiply-add processor with a multiplier, an adder, a normalizer and a rounder. The post-adder data path, the normalizer and the rounder each have a data width sufficient to represent post-adder intermediate results to permit the high and low order words of a correctly-rounded result D to be computed. The mantissas of the extended-precision result D are provided such that the high order word mantissa is stored to double precision registers.
    Type: Grant
    Filed: July 31, 2001
    Date of Patent: January 11, 2005
    Assignee: International Business Machines Corporation
    Inventors: Robert F. Enenkel, Fred G. Gustavson, Bruce M. Fleischer, Jose E. Moreira
  • Publication number: 20020107900
    Abstract: A processor for performing a multiply-add instruction on a multiplicand A, a multiplier B, and an addend C, to calculate a result D. The operands are double-precision floating point numbers and the result D is a canonical-form extended-precision floating point number having a high order component and a low order component. The processor is a fused multiply-add processor with a multiplier, an adder, a normalizer and a rounder. The post-adder data path, the normalizer and the rounder each have a data width sufficient to represent post-adder intermediate results to permit the high and low order words of a correctly-rounded result D to be computed. The mantissas of the extended-precision result D are provided such that the high order word mantissa is stored to double precision registers.
    Type: Application
    Filed: July 31, 2001
    Publication date: August 8, 2002
    Applicant: International Business Machines Corporation
    Inventors: Robert F. Enenkel, Fred G. Gustavson, Bruce M. Fleischer, Jose E. Moreira
  • Patent number: 5887183
    Abstract: A vector having a plurality of elements is stored in an input storage area, wherein the vector elements are stored in a first pattern. Thereafter, the elements are transferred, in a first order, from the input storage area into a vector register interface unit. From the vector register interface unit, the elements are transferred to an output storage area and stored in addressable locations in one of a plurality of preselected patterns. The input storage area may be implemented with cache memory or a register array. The output storage area may be implemented with a cache memory or a register array. The first pattern in the input storage area may include alternating real and imaginary elements. The plurality of preselected patterns may include a reversed order pattern, or a separation of real and imaginary elements into two vector registers.
    Type: Grant
    Filed: January 4, 1995
    Date of Patent: March 23, 1999
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Agarwal, Randall Dean Groves, Fred G. Gustavson, Mark A. Johnson, Terry L. Lyon, Brett Olsson, James B. Shearer
  • Patent number: 5832533
    Abstract: In a data processing unit having a plurality of general purpose registers, an instruction is loaded. Such an instruction includes an operation, and at least one operand field, where the operand field specifies one of a plurality of base registers and a displacement value. To calculate a general purpose register address specified by such an operand field, the displacement value is added to a base value stored in a base register that is specified by a portion of the operand field. Finally, the data processing unit addresses a selected one of the general purpose registers, utilizing the calculated general purpose register address, for execution of the specified operation. Thus, the data processing unit is capable of addressing a larger number of general purpose registers than may be directly addressed utilizing a value represented by a limited number of bits within the operand field.
    Type: Grant
    Filed: July 26, 1996
    Date of Patent: November 3, 1998
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Agarwal, Fred G. Gustavson, Mark A. Johnson, Brett Olsson
  • Patent number: 5680338
    Abstract: In a vector processing system for processing vector calculations utilizing a portion of a vector comprising a plurality of elements, means for receiving a vector and a vector processing command are provided. The vector processing system also includes means for receiving and storing a start-element value and an end-element value. An arithmetic logic unit is coupled to the means for receiving the vector, the means for receiving the vector processing command, and the means for receiving the start-element and end-element values. The arithmetic logic unit also includes means for executing the vector processing command utilizing only one or more of the elements in the vector, which are selected by the start-element value and the end-element value.
    Type: Grant
    Filed: January 4, 1995
    Date of Patent: October 21, 1997
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Agarwal, Randall Dean Groves, Fred G. Gustavson, Mark A. Johnson, Brett Olsson, James B. Shearer
  • Patent number: 5513366
    Abstract: A controller is coupled to a plurality of registers arranged in an array having a physical configuration of N rows of registers and M columns of registers. A size register within the controller is provided for receiving a selected vector size parameter, which specifies a number of registers comprising a vector register. In response to the vector size parameter, columns in the register array are selected and concatenated to form a vector register having at least a number of registers equal to the vector size parameter. An offset parameter may be utilized to select columns that form a vector register from the M number of columns in the array. Multiple arithmetic logic units, where one arithmetic logic unit is coupled to each row of registers are utilized to perform vector operations. Any register in the array may be utilized to store a vector element or a scalar expression.
    Type: Grant
    Filed: September 28, 1994
    Date of Patent: April 30, 1996
    Assignee: International Business Machines Corporation
    Inventors: Ramesh C. Agarwal, Randall D. Groves, Fred G. Gustavson, Mark A. Johnson, Brett Olsson