Patents by Inventor Thomas CLOUQUEUR
Thomas CLOUQUEUR 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
-
Publication number: 20230315468Abstract: Enforcing consistency across redundant tagged geometric (TAGE) branch histories, including: determining, by a TAGE branch predictor, whether a predefined interval has occurred; and storing, in a retirement branch history, in response to the predefined interval occurring, a copy of a global branch history.Type: ApplicationFiled: March 30, 2022Publication date: October 5, 2023Inventors: ANTHONY JARVIS, THOMAS CLOUQUEUR, QIAN MA
-
Publication number: 20230315475Abstract: A tagged geometric (TAGE) branch predictor for managing large TAGE branch histories, including: logic that maintains a global branch history including a circular buffer; logic that maintains a plurality of TAGE tables; and logic that maintains a plurality of folded branch histories, wherein each folded branch history of the plurality of folded branch histories corresponds to a TAGE table of the plurality of TAGE tables, wherein the folded branch histories are each based on different length subsets of the global branch history.Type: ApplicationFiled: March 30, 2022Publication date: October 5, 2023Inventors: ANTHONY JARVIS, THOMAS CLOUQUEUR
-
Publication number: 20230315469Abstract: Hybrid parallelized tagged geometric (TAGE) branch prediction, including: selecting, based on a branch instruction, a first plurality of counts from at least one TAGE table; selecting, based on the branch instruction, a second plurality of counts from at least one non-TAGE branch prediction table; generating, based on the first plurality of counts and a second plurality of counts; and wherein selecting the first plurality of counts and selecting the second plurality of counts are performed during a same branch prediction pipeline stage.Type: ApplicationFiled: March 30, 2022Publication date: October 5, 2023Inventors: ANTHONY JARVIS, THOMAS CLOUQUEUR
-
Patent number: 11507380Abstract: A processing system includes a processor with a branch predictor including one or more branch target buffer tables. The processor also includes a branch prediction pipeline including a throttle unit and an uncertainty accumulator. The processor assigns an uncertainty value for each of a plurality of branch predictions generated by the branch predictor and adds the uncertainty value for each of the plurality of branch predictions to an accumulated uncertainty counter associated with the uncertainty accumulator. The throttle unit of the branch prediction pipeline throttles operations of the branch prediction pipeline based on the accumulated uncertainty counter.Type: GrantFiled: August 29, 2018Date of Patent: November 22, 2022Assignee: Advanced Micro Devices, Inc.Inventor: Thomas Clouqueur
-
Patent number: 11416253Abstract: A processor includes two or more branch target buffer (BTB) tables for branch prediction, each BTB table storing entries of a different target size or width or storing entries of a different branch type. Each BTB entry includes at least a tag and a target address. For certain branch types that only require a few target address bits, the respective BTB tables are narrower thereby allowing for more BTB entries in the processor separated into respective BTB tables by branch instruction type. An increased number of available BTB entries are stored in a same or a less space in the processor thereby increasing a speed of instruction processing. BTB tables can be defined that do not store any target address and rely on a decode unit to provide it. High value BTB entries have dedicated storage and are therefore less likely to be evicted than low value BTB entries.Type: GrantFiled: July 10, 2020Date of Patent: August 16, 2022Assignee: Advanced Micro Devices, Inc.Inventors: Thomas Clouqueur, Anthony Jarvis
-
Patent number: 11216279Abstract: A processor includes a prediction engine coupled to a training engine. The prediction engine includes a loop exit predictor. The training engine includes a loop exit branch monitor coupled to a loop detector. Based on at least one of a plurality of call return levels, the loop detector of the processor takes a snapshot of a retired predicted block during a first retirement time, compares the snapshot to a subsequent retired predicted block at a second retirement time, and based on the comparison, identifies a loop and loop exit branches within the loop for use by the loop exit branch monitor and the loop exit predictor to determine whether to override a general purpose conditional prediction.Type: GrantFiled: November 26, 2018Date of Patent: January 4, 2022Assignee: Advanced Micro Devices, Inc.Inventors: Anthony Jarvis, Thomas Clouqueur
-
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
-
Publication number: 20200341770Abstract: A processor includes two or more branch target buffer (BTB) tables for branch prediction, each BTB table storing entries of a different target size or width or storing entries of a different branch type. Each BTB entry includes at least a tag and a target address. For certain branch types that only require a few target address bits, the respective BTB tables are narrower thereby allowing for more BTB entries in the processor separated into respective BTB tables by branch instruction type. An increased number of available BTB entries are stored in a same or a less space in the processor thereby increasing a speed of instruction processing. BTB tables can be defined that do not store any target address and rely on a decode unit to provide it. High value BTB entries have dedicated storage and are therefore less likely to be evicted than low value BTB entries.Type: ApplicationFiled: July 10, 2020Publication date: October 29, 2020Inventors: Thomas CLOUQUEUR, Anthony JARVIS
-
Publication number: 20200167164Abstract: A processor includes a prediction engine coupled to a training engine. The prediction engine includes a loop exit predictor. The training engine includes a loop exit branch monitor coupled to a loop detector. Based on at least one of a plurality of call return levels, the loop detector of the processor takes a snapshot of a retired predicted block during a first retirement time, compares the snapshot to a subsequent retired predicted block at a second retirement time, and based on the comparison, identifies a loop and loop exit branches within the loop for use by the loop exit branch monitor and the loop exit predictor to determine whether to override a general purpose conditional prediction.Type: ApplicationFiled: November 26, 2018Publication date: May 28, 2020Inventors: Anthony JARVIS, Thomas CLOUQUEUR
-
Publication number: 20200073669Abstract: A processing system includes a processor with a branch predictor including one or more branch target buffer tables. The processor also includes a branch prediction pipeline including a throttle unit and an uncertainty accumulator. The processor assigns an uncertainty value for each of a plurality of branch predictions generated by the branch predictor and adds the uncertainty value for each of the plurality of branch predictions to an accumulated uncertainty counter associated with the uncertainty accumulator. The throttle unit of the branch prediction pipeline throttles operations of the branch prediction pipeline based on the accumulated uncertainty counter.Type: ApplicationFiled: August 29, 2018Publication date: March 5, 2020Inventor: Thomas CLOUQUEUR
-
Publication number: 20200012497Abstract: A processor includes two or more branch target buffer (BTB) tables for branch prediction, each BTB table storing entries of a different target size or width or storing entries of a different branch type. Each BTB entry includes at least a tag and a target address. For certain branch types that only require a few target address bits, the respective BTB tables are narrower thereby allowing for more BTB entries in the processor separated into respective BTB tables by branch instruction type. An increased number of available BTB entries are stored in a same or a less space in the processor thereby increasing a speed of instruction processing. BTB tables can be defined that do not store any target address and rely on a decode unit to provide it. High value BTB entries have dedicated storage and are therefore less likely to be evicted than low value BTB entries.Type: ApplicationFiled: July 9, 2018Publication date: January 9, 2020Inventors: Thomas CLOUQUEUR, Anthony JARVIS
-
Patent number: 10310015Abstract: An integrated circuit device includes a plurality of flip flops configured into a scan chain. The plurality of flip flops includes at least flip flop of a first type and at least one flip flop of a second type. A method includes generating a first scan clock signal for loading scan data into at least one flip flop of a first type, generating a second scan clock signal and a third scan clock signal for loading the scan data into at least one flip flop of a second type, and loading a test pattern into a scan chain defined by the at least flip flop of the first type and the at least one flip flop of the second type responsive to the first, second, and third scan clock signals.Type: GrantFiled: July 19, 2013Date of Patent: June 4, 2019Assignee: Advanced Micro Devices, Inc.Inventors: Thomas A. Clouqueur, Dwight K. Elvey, Kamran Zarrineh
-
Publication number: 20150026532Abstract: An integrated circuit device includes a plurality of flip flops configured into a scan chain. The plurality of flip flops includes at least flip flop of a first type and at least one flip flop of a second type. A method includes generating a first scan clock signal for loading scan data into at least one flip flop of a first type, generating a second scan clock signal and a third scan clock signal for loading the scan data into at least one flip flop of a second type, and loading a test pattern into a scan chain defined by the at least flip flop of the first type and the at least one flip flop of the second type responsive to the first, second, and third scan clock signals.Type: ApplicationFiled: July 19, 2013Publication date: January 22, 2015Applicant: Advanced Micro Devices, Inc.Inventors: Thomas A. Clouqueur, Dwight K. Elvey, Kamran Zarrineh