-
公开(公告)号:US11630670B2
公开(公告)日:2023-04-18
申请号:US17382123
申请日:2021-07-21
Applicant: Apple Inc.
Inventor: Douglas C. Holman , Ian D. Kountanis , Amit Kumar , Muawya M. Al-Otoom
IPC: G06F9/38
Abstract: Techniques are disclosed relating to signature-based instruction prefetching. In some embodiments, processor pipeline circuitry executes a computer program that includes control transfer instructions, such that the execution follows a taken path through the computer program. First signature prefetch table circuitry indicates prefetch addresses for signatures generated using a first signature generation technique and second signature prefetch table circuitry indicates prefetch addresses for signatures generated using a second, different signature generation technique. Signature prefetch circuitry, in response to a prefetch training event, determines a first signature according to the first technique and a second signature according to the second technique and selects one but not both of the first and second signature prefetch tables to train using the first signature or the second signature.
-
公开(公告)号: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.
-
公开(公告)号:US20230023860A1
公开(公告)日:2023-01-26
申请号:US17382123
申请日:2021-07-21
Applicant: Apple Inc.
Inventor: Douglas C. Holman , Ian D. Kountanis , Amit Kumar , Muawya M. Al-Otoom
Abstract: Techniques are disclosed relating to signature-based instruction prefetching. In some embodiments, processor pipeline circuitry executes a computer program that includes control transfer instructions, such that the execution follows a taken path through the computer program. First signature prefetch table circuitry indicates prefetch addresses for signatures generated using a first signature generation technique and second signature prefetch table circuitry that indicates prefetch addresses for signatures generated using a second, different signature generation technique. Signature prefetch circuitry, in response to a prefetch training event: determines a first signature according to the first technique and a second signature according to the second technique and selects one but not both of the first and second signature prefetch tables to train using the first signature or the second signature.
-
公开(公告)号: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.
-
-
-