-
公开(公告)号:US20230244494A1
公开(公告)日:2023-08-03
申请号:US17590719
申请日:2022-02-01
Applicant: Apple Inc.
Inventor: Ian D Kountanis , Douglas C Holman , Wei-Han Lien , Pruthivi Vuyyuru , Ethan R Schuchman , Niket K Choudhary , Kulin N Kothari , Haoyan Jia
CPC classification number: G06F9/3844 , G06F9/3806 , G06F9/30196 , G06F9/30058
Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
-
公开(公告)号:US20240362027A1
公开(公告)日:2024-10-31
申请号:US18764611
申请日:2024-07-05
Applicant: Apple Inc.
Inventor: Yuan C. Chou , Debasish Chandra , Mridul Agarwal , Haoyan Jia
IPC: G06F9/38
CPC classification number: G06F9/3842 , G06F9/383 , G06F9/3832
Abstract: Techniques are disclosed relating to load value prediction. In some embodiments, a processor includes load address prediction circuitry and load value prediction circuitry. Training circuitry may train loads in a given entry, and may include a first entry configured to store first predicted load address information and a confidence indication of confidence that the first predicted load address information is correct and a second entry configured to store first predicted load value information and a confidence indication of confidence that the first predicted load value information is correct (note a given entry may be configured to load or value prediction at different times). Control circuitry may, in response to an entry in the training circuitry reaching a threshold level of confidence, allocate a corresponding entry in either the load value prediction circuitry or the load address prediction circuitry.
-
公开(公告)号:US12067398B1
公开(公告)日:2024-08-20
申请号:US17661491
申请日:2022-04-29
Applicant: Apple Inc.
Inventor: Yuan C. Chou , Debasish Chandra , Mridul Agarwal , Haoyan Jia
IPC: G06F9/38
CPC classification number: G06F9/3842 , G06F9/383 , G06F9/3832
Abstract: Techniques are disclosed relating to load value prediction. In some embodiments, a processor includes learning table circuitry that is shared for both address and value prediction. Loads may be trained for value prediction when they are eligible for both value and address prediction. Entries in the learning table may be promoted to an address prediction table or a load value prediction table for prediction, e.g., when they reach a threshold confidence level in the training table. In some embodiments, the learning table stores a hash of a predicted load value and control circuitry uses a probing load to retrieve the actual predicted load value for the value prediction table.
-
公开(公告)号:US11379240B2
公开(公告)日:2022-07-05
申请号:US16778939
申请日:2020-01-31
Applicant: Apple Inc.
Inventor: Muawya M. Al-Otoom , Ian D. Kountanis , Conrado Blasco , Haoyan Jia , Amit Kumar
IPC: G06F9/38
Abstract: In an embodiment, an indirect branch predictor generates indirect branch predictions based on one or more register values. The register values may be the contents of registers on which the indirect branch instruction is directly or indirectly dependent for generating the branch target address, for example. In an embodiment, at least one of the registers may be a source for a load instruction, and the indirect branch may be dependent (directly or indirectly) on the target of the load. In an embodiment, the indirect branch predictor may be one of at least two indirect branch predictors in a processor. The other indirect branch predictor may be based on a fetch address, or PC, associated with the indirect branch instruction. The other indirect branch predictor may generate a first predicted target address, and the indirect branch predictor may generate a second predicted target address for the same indirect branch instruction.
-
公开(公告)号:US12217060B1
公开(公告)日:2025-02-04
申请号:US18176457
申请日:2023-02-28
Applicant: Apple Inc.
Inventor: Francesco Spadini , Skanda K. Srinivasa , Reena Panda , Brian T. Mokrzycki , Haoyan Jia , Zhaoxiang Jin
IPC: G06F9/30
Abstract: Techniques are disclosed that relate to executing pairs of instructions. A processor may include fusion detector circuitry configured to detect a pair of fetched instructions and fuse the pair of fetched instructions into a fused instruction operation, and execution circuitry coupled to the fusion detector circuitry and configured to execute the fused instruction operation. In some embodiments the pair of instructions is executable to generate a remainder of a division operation. In some embodiments the pair of instructions is executable to compare two operands and perform a write operation based on the comparison. In some embodiments the pair of instructions is executable to perform an operation and apply a mask bit sequence to the result. The fusion detector circuitry may also be configured to obtain first and second portions of a constant value from first and second instructions and store the first and second portions in a destination register.
-
公开(公告)号:US20240385842A1
公开(公告)日:2024-11-21
申请号:US18774678
申请日:2024-07-16
Applicant: Apple Inc.
Inventor: Ian D Kountanis , Douglas C Holman , Wei-Han Lien , Pruthivi Vuyyuru , Ethan R Schuchman , Niket K Choudhary , Kulin N Kothari , Haoyan Jia
IPC: G06F9/38
Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
-
公开(公告)号:US20230244495A1
公开(公告)日:2023-08-03
申请号:US17590722
申请日:2022-02-01
Applicant: Apple Inc.
Inventor: Ethan R. Schuchman , Niket K. Choudhary , Kulin N. Kothari , Haoyan Jia , Ian D. Kountanis , Douglas C. Holman , Wei-Han Lien , Pruthivi Vuyyuru
CPC classification number: G06F9/3844 , G06F9/3861 , G06F9/30145 , G06F9/30058 , G06F9/30079
Abstract: A processor may include an instruction distribution circuit and a plurality of execution pipelines. The instruction distribution circuit may distribute a conditional instruction to a first execution pipeline for execution when the conditional instruction is associated with a prediction of a high confidence level, or to a second execution pipeline for execution when the conditional instruction is associated with a prediction of a low confidence level. The second execution pipeline, not the first execution pipeline, may directly instruct the processor to obtain an instruction from a target address for execution, when the conditional instruction is mispredicted. Thus, when the conditional instruction is distributed to the first execution pipeline for execution and determined to be mispredicted, the first execution pipeline may cause the conditional instruction to be re-executed in the second execution pipeline to cause the instruction from the correct target address to be obtained for execution.
-
公开(公告)号:US12067399B2
公开(公告)日:2024-08-20
申请号:US17590719
申请日:2022-02-01
Applicant: Apple Inc.
Inventor: Ian D Kountanis , Douglas C Holman , Wei-Han Lien , Pruthivi Vuyyuru , Ethan R Schuchman , Niket K Choudhary , Kulin N Kothari , Haoyan Jia
IPC: G06F9/38
CPC classification number: G06F9/3848 , G06F9/3806 , G06F9/3844
Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
-
公开(公告)号:US11809874B2
公开(公告)日:2023-11-07
申请号:US17590722
申请日:2022-02-01
Applicant: Apple Inc.
Inventor: Ethan R Schuchman , Niket K Choudhary , Kulin N Kothari , Haoyan Jia , Ian D Kountanis , Douglas C Holman , Wei-Han Lien , Pruthivi Vuyyuru
CPC classification number: G06F9/3844 , G06F9/30058 , G06F9/3836 , G06F9/3861 , G06F9/3885
Abstract: A processor may include an instruction distribution circuit and a plurality of execution pipelines. The instruction distribution circuit may distribute a conditional instruction to a first execution pipeline for execution when the conditional instruction is associated with a prediction of a high confidence level, or to a second execution pipeline for execution when the conditional instruction is associated with a prediction of a low confidence level. The second execution pipeline, not the first execution pipeline, may directly instruct the processor to obtain an instruction from a target address for execution, when the conditional instruction is mispredicted. Thus, when the conditional instruction is distributed to the first execution pipeline for execution and determined to be mispredicted, the first execution pipeline may cause the conditional instruction to be re-executed in the second execution pipeline to cause the instruction from the correct target address to be obtained for execution.
-
公开(公告)号:US20210240477A1
公开(公告)日:2021-08-05
申请号:US16778939
申请日:2020-01-31
Applicant: Apple Inc.
Inventor: Muawya M. Al-Otoom , Ian D. Kountanis , Conrado Blasco , Haoyan Jia , Amit Kumar
Abstract: In an embodiment, an indirect branch predictor generates indirect branch predictions based on one or more register values. The register values may be the contents of registers on which the indirect branch instruction is directly or indirectly dependent for generating the branch target address, for example. In an embodiment, at least one of the registers may be a source for a load instruction, and the indirect branch may be dependent (directly or indirectly) on the target of the load. In an embodiment, the indirect branch predictor may be one of at least two indirect branch predictors in a processor. The other indirect branch predictor may be based on a fetch address, or PC, associated with the indirect branch instruction. The other indirect branch predictor may generate a first predicted target address, and the indirect branch predictor may generate a second predicted target address for the same indirect branch instruction.
-
-
-
-
-
-
-
-
-