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: 12153927Abstract: 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: GrantFiled: June 1, 2020Date of Patent: November 26, 2024Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Thomas Clouqueur, Marius Evers, Aparna Mandke, Steven R. Havlir, Robert Cohen, Anthony Jarvis
-
Patent number: 11782897Abstract: 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: GrantFiled: April 15, 2022Date of Patent: October 10, 2023Assignee: Advanced Micro Devices, Inc.Inventors: Steven R. Havlir, Patrick J. Shyvers
-
Patent number: 11579884Abstract: 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: GrantFiled: June 26, 2020Date of Patent: February 14, 2023Assignee: Advanced Micro Devices, Inc.Inventors: Ashok Tirupathy Venkatachar, Steven R. Havlir, Robert B. Cohen
-
Publication number: 20220237164Abstract: 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: ApplicationFiled: April 15, 2022Publication date: July 28, 2022Applicant: Advanced Micro Devices, Inc.Inventors: Steven R. Havlir, Patrick J. Shyvers
-
Patent number: 11308057Abstract: 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: GrantFiled: November 28, 2017Date of Patent: April 19, 2022Assignee: Advanced Micro Devices, Inc.Inventors: Steven R. Havlir, Patrick J. Shyvers
-
Publication number: 20220075624Abstract: 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: ApplicationFiled: September 4, 2020Publication date: March 10, 2022Inventors: Ashok T. VENKATACHAR, Robert COHEN, Steven R. HAVLIR, Aparna Chandrashekhar MANDKE, Tzu-Wei LIN, Bhawna NAYAK
-
Publication number: 20210406024Abstract: 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: ApplicationFiled: June 26, 2020Publication date: December 30, 2021Applicant: Advanced Micro Devices, Inc.Inventors: Ashok Tirupathy Venkatachar, Steven R. Havlir, Robert B. Cohen
-
Publication number: 20210373896Abstract: 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: ApplicationFiled: June 1, 2020Publication date: December 2, 2021Inventors: THOMAS CLOUQUEUR, MARIUS EVERS, APARNA MANDKE, STEVEN R. HAVLIR, ROBERT COHEN, ANTHONY JARVIS
-
Patent number: 10698691Abstract: 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: GrantFiled: August 30, 2016Date of Patent: June 30, 2020Assignee: Advanced Micro Devices, Inc.Inventor: Steven R. Havlir
-
Patent number: 10592248Abstract: 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: GrantFiled: August 30, 2016Date of Patent: March 17, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventor: Steven R. Havlir
-
Publication number: 20180165314Abstract: 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: ApplicationFiled: November 28, 2017Publication date: June 14, 2018Applicant: Advanced Micro Devices, Inc.Inventors: Steven R. Havlir, Patrick J. Shyvers
-
Publication number: 20180060074Abstract: 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: ApplicationFiled: August 30, 2016Publication date: March 1, 2018Applicant: Advanced Micro Devices, Inc.Inventor: Steven R. Havlir
-
Publication number: 20180060073Abstract: 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: ApplicationFiled: August 30, 2016Publication date: March 1, 2018Applicant: Advanced Micro Devices, Inc.Inventor: Steven R. Havlir