Patents by Inventor Mayan Moudgill

Mayan Moudgill 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).

  • Publication number: 20090160518
    Abstract: A method for processing information is described. The method includes providing a phase reference, ?i, where the phase reference comprises N distinct values, expressed as ?i=?0 . . . ?N?1. A reset signal is received. The phase reference, ?0, is initialized in response to receipt of the reset signal. The phase reference values are repeatedly advanced from ?0 through ?N?1. The process then includes enabling at least one function at a predetermined phase reference value ?A, wherein ?A?{?0 . . . ?N?1}.
    Type: Application
    Filed: November 20, 2008
    Publication date: June 25, 2009
    Applicant: Sandbridge Technologies, Inc.
    Inventor: Mayan Moudgill
  • Patent number: 7475222
    Abstract: A processor comprises a memory, an instruction decoder coupled to the memory for decoding instructions retrieved therefrom, and a plurality of execution units for executing the decoded instructions. One or more of the instructions are in a compound instruction format in which a single instruction comprises multiple operation fields, with one or more of the operation fields each comprising at least an operation code field and a function field. The operation code field and the function field together specify a particular operation to be performed by one or more of the execution units.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: January 6, 2009
    Assignee: Sandbridge Technologies, Inc.
    Inventors: C. John Glossner, Erdem Hokenek, Mayan Moudgill, Michael J. Schulte
  • Patent number: 7467288
    Abstract: A system and method for processing operations that use data vectors each comprising a plurality of data elements, in accordance with the present invention, includes a vector data file comprising a plurality of storage elements for storing data elements of the data vectors. A pointer array is coupled by a bus to the vector data file. The pointer array includes a plurality of entries wherein each entry identifies at least one storage element in the vector data file. The at least one storage element stores at least one data element of the data vectors, wherein for at least one particular entry in the pointer array, the at least one storage element identified by the particular entry has an arbitrary starting address in the vector data file.
    Type: Grant
    Filed: November 15, 2003
    Date of Patent: December 16, 2008
    Assignee: International Business Machines Corporation
    Inventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Publication number: 20080209166
    Abstract: A microprocessor for processing instructions comprises multiple clusters for receiving the instructions, each of the clusters having a plurality of functional units for executing the instructions, multiple register sub-files each having multiple registers for storing data for executing the instructions, wherein each of the clusters is associated with corresponding one of the register sub-files so that an instruction dispatched to a cluster is executed by accessing registers in a register sub-file associated with the cluster to which the instruction is dispatched, a register-renaming unit for renaming target registers in an instruction with registers in a register sub-file associated with a cluster to which the instruction is dispatched, and issue-queue units each of which is associated with a corresponding one of the clusters, wherein an issue-queue unit holds instruction renamed by the register-renaming unit until the renamed instruction is issued to be executed in a cluster associated with the issue-queue u
    Type: Application
    Filed: May 15, 2008
    Publication date: August 28, 2008
    Inventor: Mayan Moudgill
  • Publication number: 20080127148
    Abstract: A method which determines by an optimizing compiler whether any variable in the given program equals to the given acyclic mathematical function f(x,y, . . . ) applied to the given variables x, y, . . . in the program. In one embodiment, the method includes expressing the bits of the value of the function f(x,y, . . . ) as a Boolean function of the bits of the inputs x, y, . . . ; expressing, for every variable v and program statement s, the value taken by v when s is executed as a Boolean function V(s,v)(x, y, . . . ) of the bits of x, y, . . . ; and expressing, for every statement s, the condition under which the statement is executed as a Boolean function C(s)(x, y, . . . ) of the bits of the inputs x, y, . . . . Finally, a determination is made using a Boolean satisfiability oracle of whether, for the given variable v and program statement s, the following Boolean expression holds: C(s)(x,y, . . . )=>V(s,v)(x,y . . . )=f(x,y, . . . ).
    Type: Application
    Filed: August 11, 2005
    Publication date: May 29, 2008
    Applicant: SANDBRIDGE TECHNOLOGIES, INC.
    Inventors: Mayan Moudgill, Vladimir Kotlyar
  • Patent number: 7356673
    Abstract: A system and method is provided for processing a first instruction set and a second instruction set in a single processor. The method includes storing a plurality of instructions of the second instruction set in a plurality of buffers proximate to a plurality of execution units, executing an instruction of the first instruction set in response to a first counter, and executing at least one instruction of the second instruction set in response to at least a second counter, wherein the second counter is invoked by a branch instruction of the first instruction set.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Erik R. Altman, Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Patent number: 7308559
    Abstract: A digital signal processor (DSP) includes dual SIMD units that are connected in cascade, and wherein results of a first SIMD stage of the cascade may be stored in a register file of a second SIMD stage in the cascade. Each SIMD stage contains its own resources for storing operands and intermediate results (e.g., its own register file), as well as for decoding the operations that may be executed in that stage. Within each stage, hardware resources are organized to operate in SIMD manner, so that independent SIMD operations can be executed simultaneously, one in each stage of the cascade. Intermediate operands and results flowing through the cascade are stored at the register files of the stages, and may be accessed from those register files. Data may also be brought from memory directly into the register files of the stages in the cascade.
    Type: Grant
    Filed: June 7, 2003
    Date of Patent: December 11, 2007
    Assignee: International Business Machines Corporation
    Inventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
  • Patent number: 7209529
    Abstract: A receiver includes a controller which receives A/D sampled input signals and shifts the sampled digital signal to compensate for Doppler effect in the input signal prior to demodulation. The controller compensates for a Doppler increased frequency by shifting the sampled digital signal so as to skip a sample period every n samples. This may be achieved by decreasing a cycle of m samples by one sample period every n samples. The controller compensates for a Doppler decreased frequency by shifting the sampled digital signal so as to add a sample period every n samples. This may be achieved by repeating a sample every n samples to shift the sampled digital signal. The compensation is performed in software on a multi-threaded processor.
    Type: Grant
    Filed: July 10, 2003
    Date of Patent: April 24, 2007
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Daniel Iancu, John Glossner, Erdem Hokenek, Mayan Moudgill, Vladimir Kotlyar
  • Patent number: 7171438
    Abstract: A method of formulating and solving equations that facilitate recognition of full word saturating addition and subtraction The method includes formulating, for each basis addition statement z=x+y or subtraction statement z=x?y, data flow equations that describe properties of the program statements being analyzed; and solving the data flow equations. The properties may include: (a) the values BITS of program variables as Boolean functions of the sign bits of x, y and z; (b) the condition COND under which program statements are executed as Boolean functions of the sign bits of x, y and z; and (c) the condition REACH of which values of variables reach any given use of z when overflow/underflow/neither occurs.
    Type: Grant
    Filed: March 7, 2003
    Date of Patent: January 30, 2007
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Mayan Moudgill, Vladimir Kotlyar
  • Publication number: 20060294342
    Abstract: A microprocessor for processing instructions comprises multiple clusters for receiving the instructions, each of the clusters having a plurality of functional units for executing the instructions, multiple register sub-files each having multiple registers for storing data for executing the instructions, wherein each of the clusters is associated with corresponding one of the register sub-files so that an instruction dispatched to a cluster is executed by accessing registers in a register sub-file associated with the cluster to which the instruction is dispatched, a register-renaming unit for renaming target registers in an instruction with registers in a register sub-file associated with a cluster to which the instruction is dispatched, and issue-queue units each of which is associated with a corresponding one of the clusters, wherein an issue-queue unit holds instruction renamed by the register-renaming unit until the renamed instruction is issued to be executed in a cluster associated with the issue-queue u
    Type: Application
    Filed: August 29, 2006
    Publication date: December 28, 2006
    Inventor: Mayan Moudgill
  • Patent number: 7120780
    Abstract: A microprocessor for processing instructions comprises multiple clusters for receiving the instructions, each of the clusters having a plurality of functional units for executing the instructions, multiple register sub-files each having multiple registers for storing data for executing the instructions, wherein each of the clusters is associated with corresponding one of the register sub-files so that an instruction dispatched to a cluster is executed by accessing registers in a register sub-file associated with the cluster to which the instruction is dispatched, a register-renaming unit for renaming target registers in an instruction with registers in a register sub-file associated with a cluster to which the instruction is dispatched, and issue-queue units each of which is associated with a corresponding one of the clusters, wherein an issue-queue unit holds instruction renamed by the register-renaming unit until the renamed instruction is issued to be executed in a cluster associated with the issue-queue u
    Type: Grant
    Filed: March 4, 2002
    Date of Patent: October 10, 2006
    Assignee: International Business Machines Corporation
    Inventor: Mayan Moudgill
  • Patent number: 7058117
    Abstract: A method of extracting data from a received signal including multi-path interference in a rake receiver. The method includes sampling and filtering the received signal; estimating a time delay ?l between paths for the filtered samples ?(?); and estimating channel complex coefficient cl for the filtered samples ?(?).
    Type: Grant
    Filed: July 26, 2004
    Date of Patent: June 6, 2006
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Daniel Iancu, John Glossner, Mayan Moudgill
  • Patent number: 7055102
    Abstract: A method of decoding using a log posterior probability ratio L(uk), which is a function of forward variable ? (.) and backward variable ? (.). The method comprises dividing the forward variable ? (.) and the backward variable ? (.) into, for example, two segments p and q, where p plus q equal the length of the code word U. The forward segments ? (.) are parallel calculated, and the backward segments ? (.) are parallel calculated. The ratio L(uk) is calculated using the parallel calculated segments of ? (.) and ? (.).
    Type: Grant
    Filed: December 6, 2002
    Date of Patent: May 30, 2006
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Jin Lu, Joon-Hwa Chun, Erdem Hokenek, Mayan Moudgill
  • Publication number: 20060104336
    Abstract: A method of extracting data from a received signal including multi-path interference in a rake receiver. The method includes sampling and filtering the received signal; estimating a time delay (a) between paths for the filtered samples ?(?); and estimating channel complex coefficient (b) for the filtered samples ?(?). Transmitted data x(?l) is extracted from the filtered samples ?(?) for each path l by solutions of simultaneous equations of the following filtered samples ?(?) equation (Formula I) wherein k is a particular path, Np is the number of visible paths, (c) is a a double convolution matrix of the filtering process and (d) is the pseudo inverse, Ass (?l)is the product of spreading and scrambling matrices and (e) is the inverse, and (f) is noise.
    Type: Application
    Filed: July 26, 2004
    Publication date: May 18, 2006
    Inventors: Daniel Iancu, John Glossner, Mayan Moudgill
  • Publication number: 20060095717
    Abstract: A processor comprises a memory, an instruction decoder coupled to the memory for decoding instructions retrieved therefrom, and a plurality of execution units for executing the decoded instructions. One or more of the instructions are in a compound instruction format in which a single instruction comprises multiple operation fields, with one or more of the operation fields each comprising at least an operation code field and a function field. The operation code field and the function field together specify a particular operation to be performed by one or more of the execution units.
    Type: Application
    Filed: April 1, 2005
    Publication date: May 4, 2006
    Inventors: C. Glossner, Erdem Hokenek, Mayan Moudgill, Michael Schulte
  • Publication number: 20060095729
    Abstract: A multithreaded processor comprises a plurality of hardware thread units, an instruction decoder coupled to the thread units for decoding instructions received therefrom, and a plurality of execution units for executing the decoded instructions. The multithreaded processor is configured for controlling an instruction issuance sequence for threads associated with respective ones of the hardware thread units. On a given processor clock cycle, only a designated one of the threads is permitted to issue one or more instructions, but the designated thread that is permitted to issue instructions varies over a plurality of clock cycles in accordance with the instruction issuance sequence. The instructions are pipelined in a manner which permits at least a given one of the threads to support multiple concurrent instruction pipelines.
    Type: Application
    Filed: April 1, 2005
    Publication date: May 4, 2006
    Inventors: Erdem Hokenek, Mayan Moudgill, Michael Schulte, C. Glossner
  • Publication number: 20060041610
    Abstract: A processor comprises a plurality of arithmetic units, an accumulator unit, and a reduction unit coupled between the plurality of arithmetic units and the accumulator unit. The reduction unit receives products of vector elements from the arithmetic units and a first accumulator value from the accumulator unit, and processes the products and the first accumulator value to generate a second accumulator value for delivery to the accumulator unit. The processor implements a plurality of vector multiply and reduce operations having guaranteed sequential semantics, that is, operations which guarantee that the computational result will be the same as that which would be produced using a corresponding sequence of individual instructions.
    Type: Application
    Filed: April 1, 2005
    Publication date: February 23, 2006
    Inventors: Erdem Hokenek, Michael Schulte, Mayan Moudgill, C. Glossner
  • Patent number: 6990509
    Abstract: An ultra low power adder with sum synchronization which provides a power reduction method in the binary carry propagate adders by using a carry skip technique. The invention eliminates glitches at the adder outputs by preventing signal transitions at the sum outputs until the corresponding carry signals have reached their final values, which is achieved by adding a synchronization circuitry to the sum calculation path.
    Type: Grant
    Filed: March 8, 2002
    Date of Patent: January 24, 2006
    Assignee: International Business Machines Corporation
    Inventors: Erdem Hokenek, Eko Lisuwandi, David Meltzer, Mayan Moudgill, Victor V. Zyuban
  • Patent number: 6990557
    Abstract: A cache memory for use in a multithreaded processor includes a number of set-associative thread caches, with one or more of the thread caches each implementing a thread-based eviction process that reduces the amount of replacement policy storage required in the cache memory. At least a given one of the thread caches in an illustrative embodiment includes a memory array having multiple sets of memory locations, and a directory for storing tags each corresponding to at least a portion of a particular address of one of the memory locations. The directory has multiple entries each storing multiple ones of the tags, such that if there are n sets of memory locations in the memory array, there are n tags associated with each directory entry. The directory is utilized in implementing a set-associative address mapping between access requests and memory locations of the memory array.
    Type: Grant
    Filed: June 4, 2002
    Date of Patent: January 24, 2006
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Erdem Hokenek, C. John Glossner, Arthur Joseph Hoane, Mayan Moudgill, Shenghong Wang
  • Patent number: 6971103
    Abstract: A multithreaded processor includes an interrupt controller for processing a cross-thread interrupt directed from a requesting thread to a destination thread. The interrupt controller in an illustrative embodiment receives a request for delivery of the cross-thread interrupt to the destination thread, determines whether the destination thread of the cross-thread interrupt is enabled for receipt of cross-thread interrupts, and utilizes a thread identifier to control delivery of the cross-thread interrupt to the destination thread if the destination thread is enabled for receipt of cross-thread interrupts. The requesting thread requests delivery of the cross-thread interrupt to the destination thread by setting a corresponding interrupt pending bit in a flag register of the multithreaded processor. The destination thread is enabled for receipt of cross-thread interrupts if a corresponding enable bit is set in an enable register of the multithreaded processor.
    Type: Grant
    Filed: April 1, 2003
    Date of Patent: November 29, 2005
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Erdem Hokenek, Mayan Moudgill, Sean M. Dorward