Patents by Inventor Ramesh Chandra Agarwal

Ramesh Chandra Agarwal 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: 7487169
    Abstract: A differential compression method and computer program product combines hash value techniques and suffix array techniques. The invention finds the best matches for every offset of the version file, with respect to a certain granularity and above a certain length threshold. The invention has two variations depending on block size choice. If the block size is kept fixed, the compression performance of the invention is similar to that of the greedy algorithm, without the expensive space and time requirements. If the block size is varied linearly with the reference file size, the invention can run in linear-time and constant-space. It has been shown empirically that the invention performs better than certain known differential compression algorithms in terms of compression and speed.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: February 3, 2009
    Assignee: International Business Machines Corporation
    Inventor: Ramesh Chandra Agarwal
  • 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: 5825677
    Abstract: A matrix processing unit is described which permits high speed numerical computation. The processing unit is a vector processing unit which is formed from a plurality of processing elements. The Ith processing unit has a set of N registers within which the Ith elements or words of N vectors of data are stored. Each processing element has an arithmetic unit which is capable of performing arithmetic operations on the N elements in the set of N registers. Each vector of data has K elements. Therefore, there are K processing elements. A vector operation of the matrix processing unit simultaneously performs the same operation on all elements of two vectors or more. A subsequent vector operation can be performed within one machine cycle time after the preceding vector operation.
    Type: Grant
    Filed: March 20, 1996
    Date of Patent: October 20, 1998
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Agarwal, Randall Dean Groves, Fred Gehrung Gustavson, Mark Alan Johnson, Brett Olsson
  • Patent number: 5770894
    Abstract: A computer implemented method performed by a processor having multiple functional units avoids branches in decision support codes by doing arithmetic instructions incorporating condition codes generated by compare instructions. The method comprising the steps of analyzing operations in code to be performed by said processors to identify branch operations, substituting for identified branch operations arithmetic condition codes, decoding and dispatching multiple instructions in one processor cycle, and executing multiple functions in parallel per cycle using each of the functional units of said processor.
    Type: Grant
    Filed: July 10, 1996
    Date of Patent: June 23, 1998
    Assignee: International Business Machines Corporation
    Inventor: Ramesh Chandra Agarwal
  • Patent number: 5758176
    Abstract: A single-instruction, multiple-data (SIMD) execution unit for use in conjunction with a superscalar data processing system is provided. The SIMD execution unit is coupled to a branch execution unit within a superscalar processor. The branch execution unit fetches instructions from memory and dispatches vector processing instructions to the SIMD execution unit via the instruction bus. The SIMD execution unit includes a control unit and a plurality of processing elements for performing arithmetic operations. The processing elements further include a register file having multiple registers and an arithmetic logic unit coupled to the register file. The arithmetic logic unit may include a fixed-point unit for performing fixed-point vector calculations and a floating-point unit for performing floating-point vector calculations.
    Type: Grant
    Filed: September 28, 1994
    Date of Patent: May 26, 1998
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Agarwal, Randall Dean Groves, Fred Gehrung Gustavson, Mark Alan Johnson, Brett Olsson
  • Patent number: 5751619
    Abstract: An arithmetic unit keeps a result in carry-save form and uses this form of the result as an input to the next iteration in recurrent computations. The full adder in the recurrent path is eliminated by implementing multiplication by Y(i), where Y(i) is available only in carry-save form. The carry-save arithmetic unit generates a plurality of partial products whose sum is the product AXB, where A is one binary input and B is either a second binary input B' or the sum C'+S' of two binary inputs C' and S'. A selection is made as to whether B is equal to B' or C'+S'. The plurality of partial products and an addition input Z are compressed to two partial products C and S whose sum C+S equals the sum of the plurality of partial products and Z. The partial products C and S are added to produce a binary result X equal to A.times.B+Z. The full adder in the recurrent path is eliminated by a feedback path which returns the partial products C and S to the inputs C' and S' for a next iteration.
    Type: Grant
    Filed: January 22, 1996
    Date of Patent: May 12, 1998
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Agarwal, Bruce Martin Fleischer, Fred Gehrung Gustavson
  • Patent number: 5752072
    Abstract: A sorting scheme which does not require any compare or branch instructions is particularly useful for computers with multiple parallel functional units. Sorting two numbers or binary strings is performed using arithmetic instructions instead of conventional compare and branch instructions, thereby improving the performance of superscalar and very large instruction word (VLIW) computers. When applied to reduced instruction set computers (RISC), the sorting scheme provides better utilization of floating-point units. The sorting scheme allows floating point representation of data and floating-point instructions to sort binary strings.
    Type: Grant
    Filed: May 9, 1996
    Date of Patent: May 12, 1998
    Assignee: International Business Machines Corporation
    Inventor: Ramesh Chandra Agarwal
  • 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