Back to results
US 12,657,026 B2Granted
Automatic fusion of arithmetic in-flight instructions
AssigneeIntel Corporation
InventorsKristof Du Bois, Wim Heirman, Stijn Eyerman, Ibrahim Hur, Jason Agron
Life of this patent
Estimating the term…
Abstract
Techniques for automatic fusion of arithmetic in-flight instructions are described. An example apparatus comprises a buffer to store instructions to be issued to a functional unit for execution, and circuitry coupled to the buffer to combine two or more instructions from the buffer into a single combined instruction. Other examples are disclosed and claimed.
Claims22
An apparatus comprising:
- a buffer to store instructions to be issued to a functional unit for execution;
- and
- circuitry coupled to the buffer, the circuitry to:
- maintain multiple records which are each to correspond to a different respective instruction type of multiple instruction types, wherein the multiple records are each to indicate a respective one or more most recent instructions of the corresponding instruction type, wherein the circuitry to maintain the multiple records comprises the circuitry to perform a first update of a first record of the multiple records;
- maintain multiple lists which are each to correspond to a different respective entry of multiple entries of a reservation station, wherein the multiple entries are each to correspond to a different respective instruction, wherein each list of the multiple lists is to comprise one or more identifiers each of a respective instruction which is classified as a potential candidate to be combined with the instruction which corresponds to the entry, wherein the circuitry to maintain the multiple lists comprises the circuitry to perform, after the first update, a second update of one or more of the multiple lists based on the first record;
- perform an access of the one or more of the multiple lists;
- and
- based on the access, combine two or more instructions from the buffer into a single combined instruction.
5 more elements
A method comprising:
- storing instructions in a buffer to be issued to a functional unit for execution;
- maintaining multiple records which each correspond to a different respective instruction type of multiple instruction types, wherein the multiple records each indicate a respective one or more most recent instructions of the corresponding instruction type, wherein maintaining the multiple records comprises performing a first update of a first record of the multiple records;
- maintaining multiple lists which each correspond to a different respective entry of multiple entries of a reservation station, wherein the multiple entries each correspond to a different respective instruction, wherein each list of the multiple lists comprises one or more identifiers each of a respective instruction which is classified as a potential candidate to be fused with an instruction which corresponds to the entry, wherein maintaining the multiple lists comprises performing, after the first update, a second update of one or more of the multiple lists based on the first record;
- performing an access of the one or more of the multiple lists;
- and
- based on the access, fusing two or more instructions from the buffer into a single fused instruction.
3 more elements
An apparatus comprising:
- first circuitry to decode one or more instructions into microinstructions that correspond to the decoded one or more instructions;
- and
- second circuitry coupled to a front-end unit to execute the microinstructions, the second circuitry including:
- an out-of-order processor,
- a reservation station to store two or more microinstructions that are ready to be executed by the out-of-order processor, and
- third circuitry coupled to the reservation station and the out-of-order processor, the third circuitry to:
- maintain multiple records which are each to correspond to a different respective instruction type of multiple instruction types, wherein the multiple records are each to indicate a respective one or more most recent instructions of the corresponding instruction type, wherein the third circuitry to maintain the multiple records comprises the third circuitry to perform a first update of a first record of the multiple records;
- maintain multiple lists which are each to correspond to a different respective entry of multiple entries of the reservation station, wherein the multiple entries are each to correspond to a different respective microinstruction, wherein each list of the multiple lists is to comprise one or more identifiers each of a respective microinstruction which is classified as a potential candidate to be fused with the microinstruction which corresponds to the entry, wherein the third circuitry to maintain the multiple lists comprises the third circuitry to perform, after the first update, a second update of one or more of the multiple lists based on the first record;
- perform an access of the one or more of the multiple lists;
- and
- based on the access, fuse two or more arithmetic microinstructions from the reservation station into a single vector instruction.
8 more elements
Dependencies are inferred from the claim text.