Patents by Inventor Richard Eickemeyer

Richard Eickemeyer 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: 20080091928
    Abstract: A method of handling program instructions in a microprocessor which reduces delays associated with mispredicted branch instructions, by detecting the occurrence of a stall condition during execution of the program instructions, speculatively executing one or more pending instructions which include at least one branch instruction during the stall condition, and determining the validity of data utilized by the speculative execution. Dispatch logic determines the validity of the data by marking one or more registers of an instruction dispatch unit to indicate which results of the pending instructions are invalid. The speculative execution of instructions can occur across multiple pipeline stages of the microprocessor, and the validity of the data is tracked during their execution in the multiple pipeline stages while monitoring a dependency of the speculatively executed instructions relative to one another during their execution in the multiple pipeline stages.
    Type: Application
    Filed: December 10, 2007
    Publication date: April 17, 2008
    Inventors: Richard Eickemeyer, Hung Le, Dung Nguyen, Benjamin Stolt, Brian Thompto
  • Publication number: 20080077776
    Abstract: The present invention allows a microprocessor to identify and speculatively execute future load instructions during a stall condition. This allows forward progress to be made through the instruction stream during the stall condition which would otherwise cause the microprocessor or thread of execution to be idle. The data for such future load instructions can be prefetched from a distant cache or main memory such that when the load instruction is re-executed (non speculative executed) after the stall condition expires, its data will reside either in the L1 cache, or will be enroute to the processor, resulting in a reduced execution latency. When an extended stall condition is detected, load lookahead prefetch is started allowing speculative execution of instructions that would normally have been stalled.
    Type: Application
    Filed: December 5, 2007
    Publication date: March 27, 2008
    Inventors: Richard Eickemeyer, Hung Le, Dung Nguyen, Benjamin Stolt, Brian Thompto
  • Publication number: 20070083711
    Abstract: In a method of using a cache in a computer, the computer is monitored to detect an event that indicates that the cache is to be reconfigured into a metadata state. When the event is detected, the cache is reconfigured so that a predetermined portion of the cache stores metadata. A computational circuit employed in association with a computer includes a cache, a cache event detector circuit, and a cache reconfiguration circuit. The cache event detector circuit detects an event relative to the cache. The cache reconfiguration circuit reconfigures the cache so that a predetermined portion of the cache stores metadata when the cache event detector circuit detects the event.
    Type: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Applicant: International Business Machines Corporation
    Inventors: Jeffrey Bradford, Richard Eickemeyer, Timothy Heil, Harold Kossman, Timothy Mullins
  • Publication number: 20070083712
    Abstract: A method, apparatus and computer program product are provided for implementing polymorphic reconfiguration of a cache size. A cache includes a plurality of physical sub-banks. A first cache configuration is provided. Then checking is provided to identify improved performance with another cache configuration. The cache size is reconfigured to provide improved performance based upon the current workload.
    Type: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Applicant: International Business Machines Corporation
    Inventors: Jeffrey Bradford, Todd Christensen, Richard Eickemeyer, Timothy Heil, Harold Kossman, Timothy Mullins
  • Publication number: 20070083740
    Abstract: A method, apparatus and computer program product are provided for implementing polymorphic branch history table (BHT) reconfiguration. A BHT includes a plurality of predetermined configurations corresponding predetermined operational modes. A first BHT configuration is provided. Checking is provided to identify improved performance with another BHT configuration. The BHT is reconfigured to provide improved performance based upon the current workload.
    Type: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Applicant: International Business Machines Corporation
    Inventors: Jeffrey Bradford, Richard Eickemeyer, Timothy Heil, Harold Kossman, Timothy Mullins
  • Publication number: 20060149935
    Abstract: The present invention allows a microprocessor to identify and speculatively execute future load instructions during a stall condition. This allows forward progress to be made through the instruction stream during the stall condition which would otherwise cause the microprocessor or thread of execution to be idle. The data for such future load instructions can be prefetched from a distant cache or main memory such that when the load instruction is re-executed (non speculative executed) after the stall condition expires, its data will reside either in the L1 cache, or will be enroute to the processor, resulting in a reduced execution latency. When an extended stall condition is detected, load lookahead prefetch is started allowing speculative execution of instructions that would normally have been stalled.
    Type: Application
    Filed: December 17, 2004
    Publication date: July 6, 2006
    Applicant: International Business Machines Corporation
    Inventors: Richard Eickemeyer, Hung Le, Dung Nguyen, Benjamin Stolt, Brian Thompto
  • Publication number: 20060149933
    Abstract: A method of handling program instructions in a microprocessor which reduces delays associated with mispredicted branch instructions, by detecting the occurrence of a stall condition during execution of the program instructions, speculatively executing one or more pending instructions which include at least one branch instruction during the stall condition, and determining the validity of data utilized by the speculative execution. In particular, the method can detect a load instruction miss which results in the stall condition. Dispatch logic determines the validity of the data by marking one or more registers of an instruction dispatch unit to indicate which results of the pending instructions are invalid.
    Type: Application
    Filed: December 17, 2004
    Publication date: July 6, 2006
    Inventors: Richard Eickemeyer, Hung Le, Dung Nguyen, Benjamin Stolt, Brian Thompto
  • Publication number: 20060101238
    Abstract: A multithreaded processor, fetch control for a multithreaded processor and a method of fetching in the multithreaded processor. Processor event and use (EU) signs are monitored for downstream pipeline conditions indicating pipeline execution thread states. Instruction cache fetches are skipped for any thread that is incapable of receiving fetched cache contents, e.g., because the thread is full or stalled. Also, consecutive fetches may be selected for the same thread, e.g., on a branch mis-predict. Thus, the processor avoids wasting power on unnecessary or place keeper fetches.
    Type: Application
    Filed: September 16, 2005
    Publication date: May 11, 2006
    Inventors: Pradip Bose, Alper Buyuktosunoglu, Richard Eickemeyer, Lee Eisen, Philip Emma, John Griswell, Zhigang Hu, Hung Le, Douglas Logan, Balaram Sinharoy
  • Publication number: 20050114856
    Abstract: A processor includes primary threads of execution that may simultaneously issue instructions, and one or more backup threads. When a primary thread stalls, the contents of its instruction buffer may be switched with the instruction buffer for a backup thread, thereby allowing the backup thread to begin execution. This design allows two primary threads to issue simultaneously, which allows for overlap of instruction pipeline latencies. This design further allows a fast switch to a backup thread when a primary thread stalls, thereby providing significantly improved throughput in executing instructions by the processor.
    Type: Application
    Filed: November 20, 2003
    Publication date: May 26, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Richard Eickemeyer, David Luick