PREDICTION OF NEXT TAKEN BRANCHES IN A PROCESSOR

    公开(公告)号:US20230100693A1

    公开(公告)日:2023-03-30

    申请号:US17448795

    申请日:2021-09-24

    Abstract: In an embodiment, a processor may include an execution circuit to execute a plurality of instructions. The processor may also include a prediction circuit to: in response to a detection of a first target instruction in a program, identify a prediction data entry associated with a path history for the first target instruction, the identified prediction data entry to indicate an offset distance from the first target instruction to a predicted next taken branch of the program; and determine the predicted next taken branch of the program based on the offset distance indicated by the identified prediction data entry. Other embodiments are described and claimed.

    DYNAMIC DETECTION AND PREDICTION FOR STORE-DEPENDENT BRANCHES

    公开(公告)号:US20190220284A1

    公开(公告)日:2019-07-18

    申请号:US15870595

    申请日:2018-01-12

    CPC classification number: G06F9/3844 G06F9/3806 G06F9/3859 G06F9/3861

    Abstract: One embodiment provides an apparatus. The apparatus includes a store direct dependent (SDD) branch prediction circuitry and an SDD management circuitry. The store direct dependent (SDD) branch prediction circuitry is to store an SDD branch table. The SDD branch table is to store at least one record. Each record includes a branch instruction pointer (IP) field, a load IP field, a store IP field, a comparison info field and at least one of a store value field and/or a predicted outcome field. The SDD management circuitry is to populate the SDD branch table at runtime and to override a baseline branch prediction associated with an incoming branch IP with an SDD branch prediction, if the SDD branch table contains a first record populated with the incoming branch IP and at least one of a store value and/or an SDD predicted outcome.

    Apparatuses and methods for dynamic asymmetric scaling of branch predictor tables

    公开(公告)号:US10664281B2

    公开(公告)日:2020-05-26

    申请号:US16147670

    申请日:2018-09-29

    Abstract: Methods and apparatuses relating to dynamic asymmetric scaling of branch predictor tables are described. Branch predictor circuits to perform dynamic asymmetric scaling of branch predictor tables are also described. In one embodiment, a processor includes an execution unit to execute a branch instruction; and a branch predictor to generate a prediction for the branch instruction from either of a plurality of global history prediction tables of differing history lengths and a floating global history prediction table, wherein the branch predictor is to: for each of the plurality of global history prediction tables, track a total number of unique entries that provide a correct prediction which is not available in a global history prediction table of lower history length within a monitoring period that includes execution of a plurality of instances of the branch instruction, and assign the floating global history prediction table as an extension to a global history prediction table of the plurality of global history prediction tables having a greatest total number of unique useful entries in the monitoring period.

    APPARATUSES AND METHODS FOR DYNAMIC ASYMMETRIC SCALING OF BRANCH PREDICTOR TABLES

    公开(公告)号:US20200104137A1

    公开(公告)日:2020-04-02

    申请号:US16147670

    申请日:2018-09-29

    Abstract: Methods and apparatuses relating to dynamic asymmetric scaling of branch predictor tables are described. Branch predictor circuits to perform dynamic asymmetric scaling of branch predictor tables are also described. In one embodiment, a processor includes an execution unit to execute a branch instruction; and a branch predictor to generate a prediction for the branch instruction from either of a plurality of global history prediction tables of differing history lengths and a floating global history prediction table, wherein the branch predictor is to: for each of the plurality of global history prediction tables, track a total number of unique entries that provide a correct prediction which is not available in a global history prediction table of lower history length within a monitoring period that includes execution of a plurality of instances of the branch instruction, and assign the floating global history prediction table as an extension to a global history prediction table of the plurality of global history prediction tables having a greatest total number of unique useful entries in the monitoring period.

    Instruction set architecture based and automatic load tracking for opportunistic re-steer of data-dependent flaky branches

    公开(公告)号:US11321089B2

    公开(公告)日:2022-05-03

    申请号:US16914338

    申请日:2020-06-27

    Abstract: Methods and apparatuses relating to instruction set architecture (ISA) based and automatic load tracking hardware for opportunistic re-steer of data-dependent flaky branches are described. In one embodiment, a processor includes a pipeline circuit comprising a decoder to decode instructions into decoded instructions and an execution circuit to execute the decoded instructions, a branch predictor circuit to generate a predicted path for a branch instruction, and a branch re-steer circuit to, for the branch instruction dependent on a result from a load instruction, check if an instruction received by the pipeline circuit is the load instruction, and when the instruction received by the pipeline circuit is the load instruction, check for a write back of the result from the load instruction between a decode of the branch instruction with the decoder and an execution of the branch instruction with the execution circuit, and when the predicted path differs from a path based on the result from the load instruction, re-steer the branch instruction in the pipeline circuit to the path and cause execution of the branch instruction for the path based on the result from the load instruction.

    Dynamic detection and prediction for store-dependent branches

    公开(公告)号:US10430198B2

    公开(公告)日:2019-10-01

    申请号:US15870595

    申请日:2018-01-12

    Abstract: One embodiment provides an apparatus. The apparatus includes a store direct dependent (SDD) branch prediction circuitry and an SDD management circuitry. The store direct dependent (SDD) branch prediction circuitry is to store an SDD branch table. The SDD branch table is to store at least one record. Each record includes a branch instruction pointer (IP) field, a load IP field, a store IP field, a comparison info field and at least one of a store value field and/or a predicted outcome field. The SDD management circuitry is to populate the SDD branch table at runtime and to override a baseline branch prediction associated with an incoming branch IP with an SDD branch prediction, if the SDD branch table contains a first record populated with the incoming branch IP and at least one of a store value and/or an SDD predicted outcome.

    Firmware block dispatch based on fusing

    公开(公告)号:US09836307B2

    公开(公告)日:2017-12-05

    申请号:US14748656

    申请日:2015-06-24

    Abstract: The present disclosure is directed to firmware block dispatch based on fusing. A device may determine firmware blocks to load during initialization of the device based on fuses set in a processing module in the device. A firmware module may comprise at least a nonvolatile (NV) memory including boot code and a firmware information table (FIT). During initialization the boot code may cause the processing module to read fuse information from a fuse module and to determine at least one firmware block to load based on the fuse information. For example, the fuse information may comprise a fuse string and the processing module may compare the fuse string to the FIT table, determine at least one pointer in the FIT table associated with the fuse string and load at least one firmware block based on a location (e.g., offset) in the NV memory identified by the at least one pointer.

Patent Agency Ranking