Patents by Inventor Daniel L. Leibholz

Daniel L. Leibholz 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: 7493615
    Abstract: The present invention generally relates to synchronization of multiple threads in an out-of-order microprocessor utilizing the insertion of a trap. In one embodiment, while synchronizing multiple running threads, an instruction within a first running thread is identified. Upon identification of this instruction, a trap is inserted into a second running thread. All instructions within the instructional pipeline that are scheduled for execution prior to this trapped instruction must retire before the subsequent execution of the synchronizing instruction. Following the execution of the synchronizing instruction, all instructions within the instruction pipeline slated for execution after the trapped instruction in the remaining threads are flushed and refetched.
    Type: Grant
    Filed: May 1, 2003
    Date of Patent: February 17, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Evan H. Gewirtz, Todd D. Basso, Daniel L. Leibholz, Benjamin C. Cordes
  • Publication number: 20040230975
    Abstract: The present invention generally relates to synchronization of multiple threads in an out-of-order microprocessor utilizing the insertion of a trap. In one embodiment, while synchronizing multiple running threads, an instruction within a first running thread is identified. Upon identification of this instruction, a trap is inserted into a second running thread. All instructions within the instructional pipeline that are scheduled for execution prior to this trapped instruction must retire before the subsequent execution of the synchronizing instruction. Following the execution of the synchronizing instruction, all instructions within the instruction pipeline slated for execution after the trapped instruction in the remaining threads are flushed and refetched.
    Type: Application
    Filed: May 1, 2003
    Publication date: November 18, 2004
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Evan H. Gewirtz, Todd D. Basso, Daniel L. Leibholz, Benjamin C. Cordes
  • Publication number: 20040098566
    Abstract: A method of compacting an instruction queue in an out of order processor includes determining the number of invalid instructions below and including each row in the queue, by counting invalid bits or validity indicators associated with rows below and up to the current row. For each row, multiplexor select signals are generated from the flat vector counts for the N rows above and including the present row, and from the validity indicators associated with the N rows, where N is a predetermined value. A multiplexor associated with a particular row selects one of the N rows according to the select value, and moves or passes the instruction held in the selected row to the present row. A row's select value is determined by forming a diagonal from the N count vectors corresponding to the N rows above and including the present row, and logically ANDing, each diagonal bit with the valid bit associated with the same row. Each row's count vector is determined in two stages.
    Type: Application
    Filed: November 7, 2003
    Publication date: May 20, 2004
    Inventors: James A. Farrell, Timothy C. Fischer, Daniel L. Leibholz, Bruce A. Gieseke
  • Patent number: 6704856
    Abstract: A method of compacting an instruction queue in an out of order processor includes determining the number of invalid instructions below and including each row in the queue, by counting invalid bits or validity indicators associated with rows below and up to the current row. For each row, multiplexor select signals are generated from the flat vector counts for the N rows above and including the present row, and from the validity indicators associated with the N rows, where N is a predetermined value. A multiplexor associated with a particular row selects one of the N rows according to the select value, and moves or passes the instruction held in the selected row to the present row. A row's select value is determined by forming a diagonal from the N count vectors corresponding to the N rows above and including the present row, and logically ANDing, each diagonal bit with the valid bit associated with the same row. Each row's count vector is determined in two stages.
    Type: Grant
    Filed: December 17, 1999
    Date of Patent: March 9, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James A. Farrell, Timothy C. Fischer, Daniel L. Leibholz, Bruce A. Gieseke
  • Patent number: 6662293
    Abstract: One embodiment of the present invention provides a system that selects instructions to be executed in a computer system that supports out-of-order execution of program instructions. The system receives dependency information for a first instruction. This dependency information identifies preceding instructions in the execution stream of a program that need to complete before the first instruction can be executed. The system divides this dependency information into a recent set and a less recent set. The recent set includes dependency information for a block of instructions immediately preceding the first instruction that need to complete before the first instruction can be executed. The less recent set includes dependency information for instructions not in the block of instructions immediately preceding the first instruction that need to complete before the first instruction can be executed.
    Type: Grant
    Filed: May 23, 2000
    Date of Patent: December 9, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Richard H. Larson, Sanjay Patel, Poonacha P. Kongetira, Daniel L. Leibholz
  • Patent number: 6195748
    Abstract: An apparatus is provided for sampling instructions in a processor pipeline of a computer system. The pipeline has a plurality of processing stages. Instructions are fetched into a first stage of the pipeline. A subset of the fetched instructions are identified as selected instructions. Event, latency, and state information of the system is sampled while any of the selected instructions are in any stage of the pipeline. Software is informed whenever any of the selected instructions leaves the pipeline to read the event and latency information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: February 27, 2001
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl, Daniel L. Leibholz, Edward J. McLellan
  • Patent number: 6163840
    Abstract: An apparatus is provided for sampling multiple concurretly executing instructions in a processor pipeline of a system. The pipeline has a plurality of processing stages. The apparatus identifies multiple selected when the instructions are fetched into a first stage of the pipeline. A subset of the the multiple selected instructions to execute concurrently in the pipeline. State information of the system is sampled while any of the multiple selected instructions are in any stage of the pipeline. Software is informed whenever all of the selected instructions leave the pipeline so that the software can read any of the state information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: December 19, 2000
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Daniel L. Leibholz, Edward J. McLellan, Carl A. Waldspurger, William E. Weihl
  • Patent number: 6000044
    Abstract: An apparatus is provided for sampling instructions in a processor pipeline of a system. The pipeline has a plurality of processing stages. The apparatus includes a fetch unit for fetching instructions into a first stage of the pipeline. Certain randomly selected instructions are identified, and state information of the system is sampled while a particular selected instruction is in any stage of the pipeline. Software is informed when the particular selected instruction leaves the pipeline so that the software can read any of the sampled state information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: December 7, 1999
    Assignee: Digital Equipment Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Daniel L. Leibholz, Edward J. McLellan, Carl A. Waldspurger, William E. Weihl