BRANCH PREDICTION USING A BRANCH TARGET ADDRESS CACHE IN A PROCESSOR WITH A VARIABLE LENGTH INSTRUCTION SET
    2.
    发明申请
    BRANCH PREDICTION USING A BRANCH TARGET ADDRESS CACHE IN A PROCESSOR WITH A VARIABLE LENGTH INSTRUCTION SET 审中-公开
    在具有可变长度指令集的处理器中使用分支目标地址高速缓存的分支预测

    公开(公告)号:WO2008021828A3

    公开(公告)日:2009-10-22

    申请号:PCT/US2007075363

    申请日:2007-08-07

    CPC classification number: G06F9/30149 G06F9/3806 G06F9/3848

    Abstract: In a variable-length instruction set wherein the length of each instruction is a multiple of a minimum instruction length granularity, an indication of the last granularity (i.e., the end) of a taken branch instruction is a stored in a branch target address cache (BTAC). If a branch instruction that later hits in the BTAC is predicted taken, previously fetched instructions are flushed from the pipeline beginning immediately past the indicated end of the branch instruction. This technique saves BTAC space by avoiding to the need to store the length of the branch instruction in the BTAC, and improves performance by eliminating the necessity of calculating where to begin flushing (based on the length of the branch instruction).

    Abstract translation: 在每个指令的长度是最小指令长度粒度的倍数的可变长度指令集中,所采集的分支指令的最后粒度(即,结束)的指示被存储在分支目标地址高速缓存中 BTAC)。 如果预测了后来在BTAC中命中的分支指令,则先前获取的指令从直接从分支指令的指示末端开始的流水线刷新。 这种技术通过避免需要在BTAC中存储分支指令的长度来节省BTAC空间,并且通过消除计算在哪里开始刷新(基于分支指令的长度)的必要性来提高性能。

    SLIDING-WINDOW, BLOCK-BASED BRANCH TARGET ADDRESS CACHE
    7.
    发明申请
    SLIDING-WINDOW, BLOCK-BASED BRANCH TARGET ADDRESS CACHE 审中-公开
    滑动窗口,基于块的分支目标地址高速缓存

    公开(公告)号:WO2007143508A2

    公开(公告)日:2007-12-13

    申请号:PCT/US2007/070111

    申请日:2007-05-31

    CPC classification number: G06F9/3806 G06F9/3836 G06F9/3844

    Abstract: A sliding-window, block-based branch target address cache (BTAC) comprises a plurality of entries, each entry associated with a block of instructions containing at least one branch instruction having been evaluated taken, and having a tag associated with the address of the first instruction in the block. The blocks each correspond to a group of instructions fetched from memory, such as an I-cache. Where a branch instruction is included in two or more fetch groups, it is also included in two or more instruction blocks associated with BTAC entries. The sliding-window, block-based BTAC allows for storing the branch target address (BTA) of two or more taken branch instructions that fall in the same instruction block, without providing for multiple BTA storage space in each BTAC entry, by storing BTAC entries associated with different instruction blocks, each containing at least one of the taken branch instructions.

    Abstract translation: 滑动窗口,基于块的分支目标地址高速缓存(BTAC)包括多个条目,每个条目与包含已被评估的至少一个分支指令的指令块相关联,并且具有与该地址相关联的标签 第一个指令在块中。 这些块各自对应于从存储器获取的一组指令,例如I缓存。 在两个或更多个取出组中包含分支指令的情况下,还包括在与BTAC条目相关联的两个或多个指令块中。 滑动窗口,基于块的BTAC允许存储落在相同指令块中的两个或更多个采取的分支指令的分支目标地址(BTA),而不需要在每个BTAC条目中提供多个BTA存储空间,通过存储BTAC条目 与不同的指令块相关联,每个指令块包含至少一个采取的分支指令。

    A METHOD AND APPARATUS FOR PREDICTING BRANCH INSTRUCTIONS
    8.
    发明申请
    A METHOD AND APPARATUS FOR PREDICTING BRANCH INSTRUCTIONS 审中-公开
    一种用于预测分支指令的方法和装置

    公开(公告)号:WO2006130466A3

    公开(公告)日:2007-11-22

    申请号:PCT/US2006020440

    申请日:2006-05-24

    CPC classification number: G06F9/3844

    Abstract: A microprocessor (10) includes two branch history tables, and is configured to use a first one (48) of the branch history tables for predicting branch instructions that are hits in a branch target cache (46), and to use a second one (50) of the branch history tables for predicting branch instructions that are misses in the branch target cache (46). As such, the first branch history table (48) is configured to have an access speed matched to that of the branch target cache (46), so that its prediction information is timely available relative to branch target cache hit detection, which may happen early in the microprocessor's instruction pipeline. The second branch history table (50) thus need only be as fast as is required for providing timely prediction information in association with recognizing branch target cache misses as branch instructions, such as at the instruction decode stage(s) of the instruction pipeline.

    Abstract translation: 微处理器(10)包括两个分支历史表,并且被配置为使用分支历史表中的第一个(48)来预测分支目标高速缓存(46)中的命中的分支指令,并且使用第二个分支指令 50)用于预测分支目标高速缓存(46)中未命中的分支指令的分支历史表。 因此,第一分支历史表(48)被配置为具有与分支目标高速缓存(46)的访问速度相匹配的访问速度,使得其预测信息相对于可能发生的早期的分支目标高速缓存命中检测而及时可用 在微处理器的指令管道中。 因此,第二分支历史表(50)仅需要与将识别分支目标高速缓存未命中作为分支指令(例如在指令流水线的指令解码阶段)相关联地提供及时的预测信息所需的速度。

    SYSTEM AND METHOD WHEREIN CONDITIONAL INSTRUCTIONS UNCONDITIONALLY PROVIDE OUTPUT
    9.
    发明申请
    SYSTEM AND METHOD WHEREIN CONDITIONAL INSTRUCTIONS UNCONDITIONALLY PROVIDE OUTPUT 审中-公开
    条件指令的系统和方法无条件地提供输出

    公开(公告)号:WO2006113420A3

    公开(公告)日:2006-12-21

    申请号:PCT/US2006014042

    申请日:2006-04-14

    CPC classification number: G06F9/30072 G06F9/3826 G06F9/3838 G06F9/384

    Abstract: A conditional instruction architected to receive one or more operands as inputs, to output to a target the result of an operation performed on the operands if a condition is satisfied, and to not provide an output if the condition is not satisfied, is executed so that it unconditionally provides an output to the target. The conditional instruction obtains the prior value of the target (that is, the value produced by the most recent instruction preceding the conditional instruction that updated that target). The condition is evaluated. If the condition is satisfied, an operation is performed and the result of the operation output to the target. If the condition is not satisfied, the prior value is output to the target. Subsequent instructions may rely on the target as an operand source (whether written to a register or forwarded to the instruction), prior to the condition evaluation.

    Abstract translation: 一种条件指令,被设计为接收一个或多个操作数作为输入,如果满足条件,则向目标输出对操作数执行的操作的结果,并且如果条件不满足则不提供输出,以便 它无条件地向目标提供输出。 条件指令获取目标的先前值(即由更新该目标的条件指令之前的最新指令产生的值)。 评估条件。 如果满足条件,则执行操作,并将操作结果输出到目标。 如果条件不满足,则将先前值输出到目标。 后续指令可以在条件评估之前依赖目标作为操作数源(无论是写入寄存器还是转发到指令)。

    A METHOD AND APPARATUS FOR PREDICTING BRANCH INSTRUCTIONS
    10.
    发明申请
    A METHOD AND APPARATUS FOR PREDICTING BRANCH INSTRUCTIONS 审中-公开
    一种用于预测分支指令的方法和装置

    公开(公告)号:WO2006130466A2

    公开(公告)日:2006-12-07

    申请号:PCT/US2006/020440

    申请日:2006-05-24

    CPC classification number: G06F9/3844

    Abstract: A microprocessor includes two branch history tables, and is configured to use a first one of the branch history tables for predicting branch instructions that are hits in a branch target cache, and to use a second one of the branch history tables for predicting branch instructions that are misses in the branch target cache. As such, the first branch history table is configured to have an access speed matched to that of the branch target cache, so that its prediction information is timely available relative to branch target cache hit detection, which may happen early in the microprocessor's instruction pipeline. The second branch history table thus need only be as fast as is required for providing timely prediction information in association with recognizing branch target cache misses as branch instructions, such as at the instruction decode stage(s) of the instruction pipeline.

    Abstract translation: 微处理器包括两个分支历史表,并且被配置为使用第一个分支历史表来预测分支目标高速缓存中的命中的分支指令,并且使用第二个分支历史表来预测分支指令, 在分支目标缓存中丢失。 因此,第一分支历史表被配置为具有与分支目标高速缓存的访问速度匹配的访问速度,使得其预测信息相对于可能在微处理器的指令流水线的早期发生的分支目标高速缓存命中检测而及时可用。 因此,第二分支历史表仅需要与将识别分支目标高速缓存未命中作为分支指令(例如在指令流水线的指令解码阶段)相关联地提供及时的预测信息所需的速度。

Patent Agency Ranking