Patents by Inventor Steven R. Havlir

Steven R. Havlir 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: 12153927
    Abstract: Merging branch target buffer entries includes maintaining, in a branch target buffer, an entry corresponding to first branch instruction, where the entry identifies a first branch target address for the first branch instruction and a second branch target address for a second branch instruction; and accessing, based on the first branch instruction, the entry.
    Type: Grant
    Filed: June 1, 2020
    Date of Patent: November 26, 2024
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Thomas Clouqueur, Marius Evers, Aparna Mandke, Steven R. Havlir, Robert Cohen, Anthony Jarvis
  • Patent number: 11782897
    Abstract: Described herein is a system and method for multiplexer tree (muxtree) indexing. Muxtree indexing performs hashing and row reduction in parallel by use of at least one bit in a lookup address at least once in a particular path of the muxtree. The muxtree indexing generates a different final index as compared to conventional hashed indexing but still results in a fair hash, where all table entries get used with equal distribution with uniformly random selects.
    Type: Grant
    Filed: April 15, 2022
    Date of Patent: October 10, 2023
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Steven R. Havlir, Patrick J. Shyvers
  • Patent number: 11579884
    Abstract: Techniques for performing instruction fetch operations are provided. The techniques include determining instruction addresses for a primary branch prediction path; requesting that a level 0 translation lookaside buffer (“TLB”) caches address translations for the primary branch prediction path; determining either or both of alternate control flow path instruction addresses and lookahead control flow path instruction addresses; and requesting that either the level 0 TLB or an alternative level TLB caches address translations for either or both of the alternate control flow path instruction addresses and the lookahead control flow path instruction addresses.
    Type: Grant
    Filed: June 26, 2020
    Date of Patent: February 14, 2023
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ashok Tirupathy Venkatachar, Steven R. Havlir, Robert B. Cohen
  • Publication number: 20220237164
    Abstract: Described herein is a system and method for multiplexer tree (muxtree) indexing. Muxtree indexing performs hashing and row reduction in parallel by use of at least one bit in a lookup address at least once in a particular path of the muxtree. The muxtree indexing generates a different final index as compared to conventional hashed indexing but still results in a fair hash, where all table entries get used with equal distribution with uniformly random selects.
    Type: Application
    Filed: April 15, 2022
    Publication date: July 28, 2022
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Steven R. Havlir, Patrick J. Shyvers
  • Patent number: 11308057
    Abstract: Described herein is a system and method for multiplexer tree (muxtree) indexing. Muxtree indexing performs hashing and row reduction in parallel by use of each select bit only once in a particular path of the muxtree. The muxtree indexing generates a different final index as compared to conventional hashed indexing but still results in a fair hash, where all table entries get used with equal distribution with uniformly random selects.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: April 19, 2022
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Steven R. Havlir, Patrick J. Shyvers
  • Publication number: 20220075624
    Abstract: Branch prediction circuitry predicts an outcome of a branch instruction. A pipeline circuitry processes instructions along a first path from a predicted branch of the branch instruction. The instructions along the first path are processed concurrently with processing instructions along a second path from an unpredicted branch of the branch instruction. Information representing the state of the second portion while processing the second path is stored in one or more buffers. The instructions are processed along the second path using the information stored in the buffers in response to a misprediction of the outcome of the branch instruction. In some cases, the branch prediction circuitry determines a confidence level for the predicted outcome and the instructions along the second path from the unpredicted branch are processed in response to the confidence level being below a threshold confidence.
    Type: Application
    Filed: September 4, 2020
    Publication date: March 10, 2022
    Inventors: Ashok T. VENKATACHAR, Robert COHEN, Steven R. HAVLIR, Aparna Chandrashekhar MANDKE, Tzu-Wei LIN, Bhawna NAYAK
  • Publication number: 20210406024
    Abstract: Techniques for performing instruction fetch operations are provided. The techniques include determining instruction addresses for a primary branch prediction path; requesting that a level 0 translation lookaside buffer (“TLB”) caches address translations for the primary branch prediction path; determining either or both of alternate control flow path instruction addresses and lookahead control flow path instruction addresses; and requesting that either the level 0 TLB or an alternative level TLB caches address translations for either or both of the alternate control flow path instruction addresses and the lookahead control flow path instruction addresses.
    Type: Application
    Filed: June 26, 2020
    Publication date: December 30, 2021
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Ashok Tirupathy Venkatachar, Steven R. Havlir, Robert B. Cohen
  • Publication number: 20210373896
    Abstract: Merging branch target buffer entries includes maintaining, in a branch target buffer, an entry corresponding to first branch instruction, where the entry identifies a first branch target address for the first branch instruction and a second branch target address for a second branch instruction; and accessing, based on the first branch instruction, the entry.
    Type: Application
    Filed: June 1, 2020
    Publication date: December 2, 2021
    Inventors: THOMAS CLOUQUEUR, MARIUS EVERS, APARNA MANDKE, STEVEN R. HAVLIR, ROBERT COHEN, ANTHONY JARVIS
  • Patent number: 10698691
    Abstract: Disclosed are a method and a processing device directed to determining global branch history for branch prediction. The method includes shifting first bits of a branch signature into a current global branch history and performing a bitwise exclusive-or (XOR) function on second bits of the branch signature and shifted bits of the current global branch history. In this way, the current global branch history is updated. The processing device implements the method using a shift logic configured to store and shift bits representing a current global branch history, a register configured to store the current global branch history, decision circuitry configured to determine whether or not a branch is taken, and XOR gates.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: June 30, 2020
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Steven R. Havlir
  • Patent number: 10592248
    Abstract: Techniques for improving branch target buffer (“BTB”) operation. A compressed BTB is included within a branch prediction unit along with an uncompressed BTB. To support prediction of up to two branch instructions per cycle, the uncompressed BTB includes entries that each store data for up to two branch predictions. The compressed BTB includes entries that store data for only a single branch instruction for situations where storing that single branch instruction in the uncompressed BTB would waste space in that buffer. Space would be wasted in the uncompressed BTB due to the fact that, in order to support two branch lookups per cycle, prediction data for two branches must have certain features in common (such as cache line address) in order to be stored together in a single entry.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: March 17, 2020
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventor: Steven R. Havlir
  • Publication number: 20180165314
    Abstract: Described herein is a system and method for multiplexer tree (muxtree) indexing. Muxtree indexing performs hashing and row reduction in parallel by use of each select bit only once in a particular path of the muxtree. The muxtree indexing generates a different final index as compared to conventional hashed indexing but still results in a fair hash, where all table entries get used with equal distribution with uniformly random selects.
    Type: Application
    Filed: November 28, 2017
    Publication date: June 14, 2018
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Steven R. Havlir, Patrick J. Shyvers
  • Publication number: 20180060074
    Abstract: Disclosed are a method and a processing device directed to determining global branch history for branch prediction. The method includes shifting first bits of a branch signature into a current global branch history and performing a bitwise exclusive-or (XOR) function on second bits of the branch signature and shifted bits of the current global branch history. In this way, the current global branch history is updated. The processing device implements the method using a shift logic configured to store and shift bits representing a current global branch history, a register configured to store the current global branch history, decision circuitry configured to determine whether or not a branch is taken, and XOR gates.
    Type: Application
    Filed: August 30, 2016
    Publication date: March 1, 2018
    Applicant: Advanced Micro Devices, Inc.
    Inventor: Steven R. Havlir
  • Publication number: 20180060073
    Abstract: Techniques for improving branch target buffer (“BTB”) operation. A compressed BTB is included within a branch prediction unit along with an uncompressed BTB. To support prediction of up to two branch instructions per cycle, the uncompressed BTB includes entries that each store data for up to two branch predictions. The compressed BTB includes entries that store data for only a single branch instruction for situations where storing that single branch instruction in the uncompressed BTB would waste space in that buffer. Space would be wasted in the uncompressed BTB due to the fact that, in order to support two branch lookups per cycle, prediction data for two branches must have certain features in common (such as cache line address) in order to be stored together in a single entry.
    Type: Application
    Filed: August 30, 2016
    Publication date: March 1, 2018
    Applicant: Advanced Micro Devices, Inc.
    Inventor: Steven R. Havlir