首页> 外国专利> Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities

Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities

机译:具有多个执行管道和指令流不连续性的处理器中的地址跟踪和分支解析

摘要

An address of any desired instruction in a super-scalar processor is generated using address tracking logic. A sequential address register in the last stage of the processor's pipelines holds the address of the last or oldest instruction in the pipelines. This register is updated with a target address when a branch instruction is actually taken. A pipeline valid array contains valid bits for the instructions in the pipelines, and also contains the lengths of the instructions for complex instruction sets having instructions that vary in length. The address of the desired instruction is calculated as the sum of a base address and an adjustment value. The base address is the address of the last instruction which is stored in the sequential address register when there are no intervening taken branches between the desired instruction and the last instruction in the pipelines. When there is an intervening taken branch, the target address from the taken branch closest to the desired instruction is selected as the base address. The adjustment value is the sum of all the instruction lengths for instructions between the desired instruction and the last instruction, or the closest intervening taken branch if it exists. A branch resolver uses this address tracking logic to generate the address of a branch instruction being resolved, and the address of the following sequential instruction. A recovery address for branch mis- prediction sent to the instruction fetcher is the following sequential address when the branch is actually not taken, and is the target address when the branch is actually taken. The branch can be resolved in any pipeline stage.
机译:使用地址跟踪逻辑可生成超标量处理器中任何所需指令的地址。处理器流水线最后阶段中的顺序地址寄存器保存流水线中最后一条或最早的指令的地址。实际执行分支指令时,将使用目标地址更新该寄存器。管线有效数组包含管线中指令的有效位,并且还包含具有长度变化的指令的复杂指令集的指令长度。将所需指令的地址计算为基地址和调整值之和。基地址是最后一条指令的地址,当流水线中所需指令和最后一条指令之间没有插入的分支时,该地址将存储在顺序地址寄存器中。当存在介入的采用分支时,从采用分支中最接近所需指令的目标地址被选择为基地址。调整值是所需指令和最后一条指令之间的所有指令长度的总和,如果存在,则为最接近的中间采用分支。分支解析器使用此地址跟踪逻辑来生成要解析的分支指令的地址以及后续顺序指令的地址。发送到指令提取器的分支错误预测的恢复地址在实际未使用分支时为以下顺序地址,在实际使用分支时为目标地址。可以在任何流水线阶段中解决分支。

著录项

  • 公开/公告号US5542109A

    专利类型

  • 公开/公告日1996-07-30

    原文格式PDF

  • 申请/专利权人 EXPONENTIAL TECHNOLOGY INC.;

    申请/专利号US19940298771

  • 发明设计人 JAMES S. BLOMGREN;EARL T. COHEN;

    申请日1994-08-31

  • 分类号G06F9/38;

  • 国家 US

  • 入库时间 2022-08-22 03:38:08

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号