Establishing a branch target instruction cache (BTIC) entry for subroutine returns to reduce execution pipeline bubbles, and related systems, methods, and computer-readable media
    1.
    发明授权
    Establishing a branch target instruction cache (BTIC) entry for subroutine returns to reduce execution pipeline bubbles, and related systems, methods, and computer-readable media 有权
    建立用于子程序的分支目标指令缓存(BTIC)条目返回以减少执行管道气泡,以及相关的系统,方法和计算机可读介质

    公开(公告)号:US09317293B2

    公开(公告)日:2016-04-19

    申请号:US13792335

    申请日:2013-03-11

    CPC classification number: G06F9/3808 G06F9/30054

    Abstract: Establishing a branch target instruction cache (BTIC) entry for subroutine returns to reduce pipeline bubbles, and related systems, methods, and computer-readable media are disclosed. In one embodiment, a method of establishing a BTIC entry includes detecting a subroutine call in an execution pipeline. In response, at least one instruction fetched sequential to the subroutine call is written as a branch target instruction in a BTIC entry for a subroutine return. A next instruction fetch address is calculated, and is written into a next instruction fetch address field in the BTIC entry. In this manner, the BTIC may provide correct branch target instruction and next instruction fetch address data for the subroutine return, even if the subroutine return is encountered for the first time or the subroutine is called from different calling locations.

    Abstract translation: 建立用于子程序的分支目标指令缓存(BTIC)条目返回以减少管道气泡,以及相关系统,方法和计算机可读介质。 在一个实施例中,建立BTIC条目的方法包括检测执行流水线中的子程序调用。 作为响应,在子程序返回的BTIC条目中写入与子程序调用顺序取得的至少一个指令作为分支目标指令。 计算下一个指令提取地址,并将其写入BTIC条目中的下一个指令获取地址字段。 以这种方式,即使第一次遇到子程序返回或从不同的呼叫位置调用子程序,BTIC可以为子程序返回提供正确的分支目标指令和下一个指令获取地址数据。

    HARDWARE OPTIMIZATION OF HARD-TO-PREDICT SHORT FORWARD BRANCHES
    2.
    发明申请
    HARDWARE OPTIMIZATION OF HARD-TO-PREDICT SHORT FORWARD BRANCHES 审中-公开
    硬件预测短期分支的硬件优化

    公开(公告)号:US20140281439A1

    公开(公告)日:2014-09-18

    申请号:US13832119

    申请日:2013-03-15

    CPC classification number: G06F9/30058 G06F9/30069 G06F9/30145 G06F9/3017

    Abstract: Methods and apparatuses for optimizing hard-to-predict short forward branches. A method detects a forward conditional branch with at least one instruction between the forward conditional branch and forward conditional branch target. The method determines whether a first of the at least one instruction includes at least one of a conditional branch or a condition-code setter. If the first instruction does not have the at least one of a conditional branch or a condition-code setter, the first instruction is dynamically assigned an inverted condition to optimize a code path. The method determines if there is a next instruction between the forward conditional branch and its target. If there is, the method analyzes the next instruction. If there is no next instruction, the method executes the optimized code path. If the instruction includes the conditional branch or condition-code setter, it discards dynamic assignments and executes the detected forward conditional branch.

    Abstract translation: 优化难以预测的短期分支的方法和装置。 一种方法使用前向条件分支和前向条件分支目标之间的至少一条指令检测前向条件分支。 该方法确定至少一个指令中的第一个是否包括条件分支或条件码设置器中的至少一个。 如果第一指令不具有条件分支或条件码设置器中的至少一个,则第一指令被动态地分配反转条件以优化代码路径。 该方法确定在前向条件分支与其目标之间是否存在下一条指令。 如果有,则该方法分析下一条指令。 如果没有下一条指令,则该方法执行优化的代码路径。 如果指令包括条件分支或条件代码设置器,它将丢弃动态分配并执行检测到的前向条件分支。

    ESTABLISHING A BRANCH TARGET INSTRUCTION CACHE (BTIC) ENTRY FOR SUBROUTINE RETURNS TO REDUCE EXECUTION PIPELINE BUBBLES, AND RELATED SYSTEMS, METHODS, AND COMPUTER-READABLE MEDIA
    3.
    发明申请
    ESTABLISHING A BRANCH TARGET INSTRUCTION CACHE (BTIC) ENTRY FOR SUBROUTINE RETURNS TO REDUCE EXECUTION PIPELINE BUBBLES, AND RELATED SYSTEMS, METHODS, AND COMPUTER-READABLE MEDIA 有权
    建立分支目标指导缓存(BTIC)进入SUBRONTINE返回以减少执行管道泡沫以及相关系统,方法和计算机可读介质

    公开(公告)号:US20140149726A1

    公开(公告)日:2014-05-29

    申请号:US13792335

    申请日:2013-03-11

    CPC classification number: G06F9/3808 G06F9/30054

    Abstract: Establishing a branch target instruction cache (BTIC) entry for subroutine returns to reduce pipeline bubbles, and related systems, methods, and computer-readable media are disclosed. In one embodiment, a method of establishing a BTIC entry includes detecting a subroutine call in an execution pipeline. In response, at least one instruction fetched sequential to the subroutine call is written as a branch target instruction in a BTIC entry for a subroutine return. A next instruction fetch address is calculated, and is written into a next instruction fetch address field in the BTIC entry. In this manner, the BTIC may provide correct branch target instruction and next instruction fetch address data for the subroutine return, even if the subroutine return is encountered for the first time or the subroutine is called from different calling locations.

    Abstract translation: 建立用于子程序的分支目标指令缓存(BTIC)条目返回以减少管道气泡,以及相关系统,方法和计算机可读介质。 在一个实施例中,建立BTIC条目的方法包括检测执行流水线中的子程序调用。 作为响应,在子程序返回的BTIC条目中写入与子程序调用顺序取得的至少一个指令作为分支目标指令。 计算下一个指令提取地址,并将其写入BTIC条目中的下一个指令获取地址字段。 以这种方式,即使第一次遇到子程序返回或从不同的呼叫位置调用子程序,BTIC可以为子程序返回提供正确的分支目标指令和下一个指令获取地址数据。

Patent Agency Ranking