Patents by Inventor Tin-Fook Ngai

Tin-Fook Ngai 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: 7188234
    Abstract: A data processing apparatus, a computer, an article including a machine-accessible medium, and a method of processing data are disclosed. The data processing apparatus may include a pair of pipelines sharing an instruction cache, data cache, and a branch predictor with the second pipeline running ahead of the first pipeline using a data value prediction module. The pipelines may be included in one or more processors and coupled to a memory to form a computer. The method includes executing a plurality of instructions using the pipeline pair, such that when a cache miss is encountered by the second pipeline during execution of a LOAD instruction, the data value prediction module supplies a predicted load value in lieu of a cached value, enabling continued execution of the plurality of instructions by the second pipeline without waiting for the return of the cached value.
    Type: Grant
    Filed: December 12, 2001
    Date of Patent: March 6, 2007
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Tin-Fook Ngai
  • Patent number: 7181601
    Abstract: A method and apparatus for enabling the speculative forking of a speculative thread is disclosed. In one embodiment, a speculative fork instruction is conditioned by the results of a fork predictor. The fork predictor may issue predictions as to whether or not a speculative thread would execute desirably. The fork predictor may be implemented as a modified branch predictor circuit, and may have execution history updates entered by a determination of whether or not the execution of a speculative thread was or would have been desirable.
    Type: Grant
    Filed: December 8, 2003
    Date of Patent: February 20, 2007
    Assignee: Intel Corporation
    Inventors: Kevin W. Rudd, Tin-Fook Ngai
  • Publication number: 20070011684
    Abstract: A method to optimize speculative parallel thread execution comprises selecting a plurality of partition candidate pairs for speculative parallel thread execution, transforming each partition candidate pair of the plurality of partition candidate pairs to improve the expected performance gain of each pair, and selecting a set of one or more transformed partition candidate pairs that do not interfere with each other and produce a maximum expected performance gain.
    Type: Application
    Filed: June 27, 2005
    Publication date: January 11, 2007
    Inventors: Zhao Du, Tin-fook Ngai, Chu-cheow Lim
  • Publication number: 20050223199
    Abstract: A method and system to provide user-level multithreading are disclosed. The method according to the present techniques comprises receiving programming instructions to execute one or more shared resource threads (shreds) via an instruction set architecture (ISA). One or more instruction pointers are configured via the ISA; and the one or more shreds are executed simultaneously with a microprocessor, wherein the microprocessor includes multiple instruction sequencers.
    Type: Application
    Filed: March 31, 2004
    Publication date: October 6, 2005
    Inventors: Edward Grochowski, Hong Wang, John Shen, Perry Wang, Jamison Collins, James Held, Partha Kundu, Raya Leviathan, Tin-Fook Ngai
  • Publication number: 20050198627
    Abstract: Sequential loops in computer programs may be identified and transformed into speculative parallel threads based on partitioning dependence graphs of sequential loops into pre-fork and post-fork regions.
    Type: Application
    Filed: March 8, 2004
    Publication date: September 8, 2005
    Applicant: Intel Corporation
    Inventors: Zhao Du, Tin-Fook Ngai
  • Publication number: 20050182602
    Abstract: A Markov chain model of a software system may be used to compute all-pairs reaching probabilities to provide guidance in performing speculative operations with respect to the software system.
    Type: Application
    Filed: February 17, 2004
    Publication date: August 18, 2005
    Applicant: Intel Corporation
    Inventors: Chu-Cheow Lim, Zhao Du, Tin-Fook Ngai
  • Publication number: 20050144602
    Abstract: Methods and apparatus are disclosed to compile programs to use speculative parallel threads. An example method disclosed herein identifies a set of speculative parallel thread candidates; determines misspeculation cost values for at least some of the speculative parallel thread candidates; selects a set of speculative parallel threads from the set of speculative parallel thread candidates based on the cost values; and generates program code based on the set of speculative parallel threads.
    Type: Application
    Filed: December 12, 2003
    Publication date: June 30, 2005
    Inventors: Tin-Fook Ngai, Zhao Du
  • Publication number: 20050144604
    Abstract: Methods and apparatus to predict software values are disclosed. In one example, a method identifies a variable associated with one or more machine readable instructions, determines a predicted value of the variable based on a pattern, generates a value prediction instruction to predict a run-time value using the predicted value of the variable based on the pattern, and combines the value prediction instruction with the one or more machine readable instructions.
    Type: Application
    Filed: April 2, 2004
    Publication date: June 30, 2005
    Inventors: Xiao Li, Zhao Du, Tin-Fook Ngai
  • Publication number: 20050125645
    Abstract: A method and apparatus for enabling the speculative forking of a speculative thread is disclosed. In one embodiment, a speculative fork instruction is conditioned by the results of a fork predictor. The fork predictor may issue predictions as to whether or not a speculative thread would execute desirably. The fork predictor may be implemented as a modified branch predictor circuit, and may have execution history updates entered by a determination of whether or not the execution of a speculative thread was or would have been desirable.
    Type: Application
    Filed: December 8, 2003
    Publication date: June 9, 2005
    Inventors: Kevin Rudd, Tin-Fook Ngai
  • Publication number: 20030110366
    Abstract: A data processing apparatus, a computer, an article including a machine-accessible medium, and a method of processing data are disclosed. The data processing apparatus may include a pair of pipelines sharing an instruction cache, data cache, and a branch predictor with the second pipeline running ahead of the first pipeline using a data value prediction module. The pipelines may be included in one or more processors and coupled to a memory to form a computer. The method includes executing a plurality of instructions using the pipeline pair, such that when a cache miss is encountered by the second pipeline during execution of a LOAD instruction, the data value prediction module supplies a predicted load value in lieu of a cached value, enabling continued execution of the plurality of instructions by the second pipeline without waiting for the return of the cached value.
    Type: Application
    Filed: December 12, 2001
    Publication date: June 12, 2003
    Applicant: Intel Corporation
    Inventors: Youfeng Wu, Tin-Fook Ngai