Patents by Inventor Rabin A. Sugumar

Rabin A. Sugumar 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: 7350053
    Abstract: A method to communicate data is disclosed which includes communicating a virtual address to a translation lookaside buffer (TLB) and translating the virtual address to a physical address of a computer memory. The method also includes loading the physical address translated by the TLB into a register within a processor and transmitting the data from the physical address to a destination computing device.
    Type: Grant
    Filed: January 11, 2005
    Date of Patent: March 25, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin A. Sugumar, Robert T. Golla, Paul J. Jordan
  • Publication number: 20080065835
    Abstract: Offloading data coherence operations from a primary processing unit(s) executing instantiated code responsible for data coherence in a shared-cache cluster to a data coherence offload engine reduces resource consumption and allows for efficient sharing of data in accordance with the data coherence protocol. Some of the data coherence operations, such as consulting and maintaining a directory, generating messages, and writing a data unit can be performed by a data coherence offload engine. The data coherence offload engine indicates availability of the data unit in the memory to the appropriate instantiated code. Hence, the instantiated code (the corresponding primary processing unit) is no longer burdened with some of the work load of data coherence operations. Migration of tasks from a primary processing unit(s) to data coherence offload engines allows for efficient retrieval and writing of a requested data unit.
    Type: Application
    Filed: September 11, 2006
    Publication date: March 13, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Sorin Iacobovici, Rabin A. Sugumar
  • Patent number: 7340590
    Abstract: The present application describes a method and a processor for handling register dependency conflicts between lesser and greater width instructions, colloquially referred to as “evil twins.” If there is a register dependency between a greater width producer instruction and a lesser width consumer instruction, a greater width source register is substituted for the source register specified by the lesser width producer. If there is a register dependency between a lesser width producer instruction and a greater width producer instruction, the greater width consumer instruction is replaced by multiple helper instructions. One or more of the helper instructions merge lesser width registers aliased onto the source registers specified by the greater width consumer instruction, into temporary registers. Another helper instruction executes the greater width consumer instruction using the temporary registers instead of the original source registers.
    Type: Grant
    Filed: December 11, 2003
    Date of Patent: March 4, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin Sugumar, Sorin Iacobovici, Chandra M. R. Thimmannagari
  • Patent number: 7219218
    Abstract: The present application describes a method and a system for executing instructions while reducing the logic required for execution in a processor. Instructions (e.g., atomic, integer-multiply, integer-divide, move on integer registers, graphics, floating point calculations or the like) are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Such instructions are treated as complex instructions. The functionality of a complex instruction is shared among multiple helpers so that by executing the helpers representing the complex instruction, the functionality of complex instruction is achieved. The expansion of complex instructions into helper instructions reduces the amount of hardware and complexity involved in supporting these individual complex instructions in various units in the processor.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Chandra M. R. Thimmannagari, Sorin Iacobovici, Rabin Sugumar
  • Publication number: 20070091104
    Abstract: This document discusses, among other things, a system and method for connecting a plurality of memory controllers to one or more memory modules. Each memory module includes an advanced memory buffer (AMB) connected to a plurality of memory devices. A switch is connected between the plurality of memory controllers and the one or more memory modules. A memory read request is routed from one of the plurality of memory controllers through the switch to a preselected memory module.
    Type: Application
    Filed: July 10, 2006
    Publication date: April 26, 2007
    Inventors: Gajendra Singh, Tzungren Tzeng, Rabin Sugumar
  • Patent number: 7191316
    Abstract: A system for handling a plurality of single precision floating point instructions and a plurality of double precision floating point instructions that both index a same set of registers is provided. The system comprises a decode unit arranged to decode, stall, and forward at least one of the plurality of single precision and at least one of the plurality of double precision floating point instructions in a fetch group. The decode unit includes a first counter arranged to increment for each of the plurality of single precision floating point instructions forwarded down a pipeline; a second counter arranged to increment for each of the plurality of double precision floating point instructions forwarded down the pipeline; a first mask register and a second mask register. The first mask register is updated by each of the single precision floating point instructions forwarded and the second mask register is updated by each of the double precision floating point instructions forwarded.
    Type: Grant
    Filed: January 29, 2003
    Date of Patent: March 13, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin A. Sugumar, Sorin Iacobovici, Robert Nuckolls, Chandra M. R. Thimmannagari
  • Patent number: 7124284
    Abstract: A method and apparatus to determine readiness of a complex instruction for retirement includes decoding a complex instruction into a plurality of helper instructions; executing the plurality of helper instructions using an execution unit; indicating the plurality of helper instructions that are alive using a live instruction register; and maintaining a complex instruction identification for the complex instruction using a complex instruction identification register.
    Type: Grant
    Filed: January 6, 2003
    Date of Patent: October 17, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin A. Sugumar, Sorin Iacobovici, Chandra M. R. Thimmannagari
  • Patent number: 7120915
    Abstract: A method and apparatus for implementing vertical multi-threading in a microprocessor without implementing additional signal wires in the processor has been developed. The method uses a pre-existing signal to serve as a multi-function signal such that the multi-function signal can be used for clock enable, clock disable, and scan enable functions. The single multi-function signal exhibits multiple functionalities as needed by a flip-flop to operate in a plurality of modes. The method allows for the use of a pre-existing signal wire to be used as a process thread switch signal that would otherwise have to be explicitly hard-wired in the absence of the multi-functioning signal. The method further includes allowing multiple-bit flip-flops to be placed at sequential stages in a pipeline in order to facilitate vertical multi-threading and, in effect, increase processor performance. The apparatus provides means for distinguishing between specific characteristics exhibited by the multi-function signal.
    Type: Grant
    Filed: November 20, 2000
    Date of Patent: October 10, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Gajendra P. Singh, Joseph I. Chamdani, Renu Raman, Rabin A. Sugumar
  • Patent number: 7080237
    Abstract: A technique for flattening architectural register windows into flattened space depending on a current window pointer to a register window is provided. The technique involves converting an n-bit value of a particular register in a register window to an x-bit value dependent on the current window pointer, where x is greater than n, and where the x-bit value is used for register dependency checking among a plurality of instructions.
    Type: Grant
    Filed: May 24, 2002
    Date of Patent: July 18, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Chandra M. R. Thimmannagari, Sorin Iacobovici, Rabin A. Sugumar, Robert Nuckolls
  • Patent number: 7065635
    Abstract: A technique for handling a condition code modifying instruction in an out-of-order multi-stranded processor involves providing a condition code architectural register file for each strand, providing a condition code working register file, and assigning condition code architectural register file identification information (CARF_ID) and condition code working register file identification information (CWRF_ID) to the condition code modifying instruction. CARF_ID is used to index a location in a condition code rename table to which the CWRF_ID is stored. Thereafter, upon an exception-free execution of the condition code modifying instruction, a result of the execution is copied from the condition code working register file to the condition code architectural register file dependent on CARF_ID, CWRF_ID, register type information, and strand identification information.
    Type: Grant
    Filed: December 17, 2003
    Date of Patent: June 20, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin A. Sugumar, Sorin Iacobovici, Chandra M. R. Thimmannagari
  • Patent number: 7035999
    Abstract: A register window fill technique for a retirement window having an entry size less than a number of fill instructions used in a fill condition is provided. The technique uses modified fill instructions that allow the retirement window to retire a portion of the fill instructions without having to determine whether a remaining portion of the fill instructions will execute without exceptions.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: April 25, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Chandra Thimmanagari, Sorin Iacobovici, Rabin Sugumar, Robert Nuckolls
  • Patent number: 7024541
    Abstract: A register window spill technique for an retirement window having an entry size less than a number of spill instructions used in a spill condition is provided. The technique uses modified spill instructions that allow the retirement window to retire a portion of the spill instructions without having to determine whether a remaining portion of the spill instructions will execute without exceptions.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: April 4, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Chandra Thimmanagari, Sorin Iacobovici, Rabin Sugumar, Robert Nuckolls
  • Patent number: 6848028
    Abstract: A microprocessor cache configuration for reducing database cache misses and improving the processing speed, comprising a level-1 data cache, and a page prefetch cache. The page prefetch cache is adjacent the level-1 data cache. The page prefetch cache is configured to receive and store one or more database pages. Additionally, a page prefetch instruction provides the database pages to the page prefetch cache. The page prefetch instructions are generated by a compiler or by developer software.
    Type: Grant
    Filed: January 5, 2000
    Date of Patent: January 25, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin Sugumar, Srikanth T. Srinivasan, Partha P. Tirumalai
  • Patent number: 6829680
    Abstract: A method for increasing the processing speed of database instructions using a page prefetch cache. More particularly, the method is executed on a microprocessor and reduces database cache misses and improves the processing speed. The method comprises enabling a page prefetch cache with a database application, issuing one or more page prefetch instructions, and determining whether the particular database page is in the page prefetch cache.
    Type: Grant
    Filed: January 5, 2000
    Date of Patent: December 7, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin Sugumar, Srikanth T Srinivasan, Partha P. Tirumalai
  • Publication number: 20040215941
    Abstract: A technique for handling window-fill and/or window-spill operations that improves the performance of a processor over traditional techniques is presented. The window-fill and window-spill operations can be handled in hardware using helper instructions (helpers) prior to the generation of a trap (exception). Fetched instructions are examined prior to forwarding for execution to detect a potential register window boundary condition necessitating, for example, a window-fill or window-spill operation. Vectors are generated for a helper storage within the processor to retrieve helpers for resolving the condition. The helpers are forwarded for execution prior to the instruction that would cause the condition. In some embodiments, to improve the processing, individual helper storages are implemented for every condition. The use of helpers to resolve a register window boundary condition eliminates the generation of a trap and the use of trap handler code.
    Type: Application
    Filed: April 24, 2003
    Publication date: October 28, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Chandra M.R. Thimmannagari, Sorin Iacobovici, Rabin Sugumar
  • Publication number: 20040199753
    Abstract: The present application describes a method and a system for executing instructions while reducing the logic required for execution in a processor. Instructions (e.g., atomic, integer-multiply, integer-divide, move on integer registers, graphics, floating point calculations or the like) are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Such instructions are treated as complex instructions. The functionality of a complex instruction is shared among multiple helpers so that by executing the helpers representing the complex instruction, the functionality of complex instruction is achieved. The expansion of complex instructions into helper instructions reduces the amount of hardware and complexity involved in supporting these individual complex instructions in various units in the processor.
    Type: Application
    Filed: March 31, 2003
    Publication date: October 7, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Chandra M.R. Thimmannagari, Sorin Iacobovici, Rabin Sugumar
  • Publication number: 20040199749
    Abstract: A method for limiting a number of register file read ports used to process a store instruction includes decoding the store instruction, where the decoding generates a decoded store instruction, identifying a store data register and source operand registers included in the decoded store instruction, and appending a set of attribute fields to the decoded store instruction. Further, dependent on a value of at least one of the attribute fields, source values corresponding to the source operand registers are read using the register file read ports at a time that the store instruction is issued, and a store data value corresponding to the store data register is read using one of the register file read ports at a time that the store instruction is committed.
    Type: Application
    Filed: April 3, 2003
    Publication date: October 7, 2004
    Inventors: Robert Golla, Chandra M. R. Thimmannagari, Sorin Iacobovici, Rabin A. Sugumar, Robert Nuckolls
  • Publication number: 20040193844
    Abstract: The present application describes a method and a system for facilitating the execution of helper sets corresponding to atomic complex instructions. The atomicity of complex instructions is maintained by emptying load and/or store queues and locking the addressed location. Complex atomic instructions are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Emptying the load and/or store queues before processing the helper load/store prevents any potential deadlock condition (or competition among other load/store) for corresponding memory locations and facilitates in maintaining atomicity of the complex instruction.
    Type: Application
    Filed: March 24, 2003
    Publication date: September 30, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Chandra M.R. Thimmannagari, Sorin Iacobovici, Rabin A. Sugumar
  • Publication number: 20040193845
    Abstract: The present application describes a method and a system for facilitating atomicity of complex instructions in processor execution of helper instruction. Atomic complex instructions are handled by stalling the fetching of instruction upon recognizing atomic instruction in a group of fetched instructions. Complex atomic instructions are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Stalling the fetching facilitates the execution and completion of corresponding helper instructions and maintains the atomicity of the complex instruction.
    Type: Application
    Filed: March 24, 2003
    Publication date: September 30, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Chandra M.R. Thimmannagari, Sorin Iacobovici, Rabin A. Sugumar
  • Publication number: 20040181651
    Abstract: A multi-issue microprocessor selectively assigns, with particular emphasis on an particular type of instruction, in a plurality of instructions to various pipelines. The microprocessor maintains counts of the number of instructions assigned to a first pipeline and a second pipeline. Depending on these counts, the processor assigns instructions of the particular type in the plurality of instructions to the first and second pipelines.
    Type: Application
    Filed: March 11, 2003
    Publication date: September 16, 2004
    Inventors: Rabin A. Sugumar, Chandra M.R. Thimmannagari, Sorin Lacobovici, Robert Nuckolls