Case block table for predicting the outcome of blocks of conditional
branches having a common operand
    1.
    发明授权
    Case block table for predicting the outcome of blocks of conditional branches having a common operand 失效
    用于预测具有共同操作数的条件分支的块的结果的情况块表

    公开(公告)号:US5333283A

    公开(公告)日:1994-07-26

    申请号:US784335

    申请日:1991-10-29

    IPC分类号: G06F9/32 G06F9/38 G06F9/345

    CPC分类号: G06F9/30061 G06F9/3844

    摘要: A method and apparatus is disclosed for folding the execution of a multi-way branch or switch based upon an operand (e.g.,the block of instructions normally associated with a case statement) into a single instruction. This insulates branch prediction mechanisms from making incorrect predictions that are normally associated with a multi-way branch. A table saves the past history of multi-way branch execution. This table contains three fields: the starting address of a multi-way branch; a value of the operand used to execute that multi-way branch in the past; and the larger target address generated by that multi-way branch in the past when that particular operand value was used. In accordance with one embodiment of this invention, other branch prediction mechanisms (such as a Branch History Table or Decode History Table) are disabled from redirecting instruction fetching during execution of a multi-way branch in an instruction stream.

    摘要翻译: 公开了一种用于基于操作数(例如,通常与案例陈述相关联的指令块)将多路分支或交换机的执行折叠成单个指令的方法和装置。 这使得分支预测机制不能做出通常与多路分支相关联的错误预测。 表保存了多路分支执行的过去历史。 该表包含三个字段:多路分支的起始地址; 过去用于执行该多路分支的操作​​数的值; 以及当使用该特定操作数值时,该多路分支在过去生成的较大的目标地址。 根据本发明的一个实施例,在指令流中的多路分支的执行期间禁止其他分支预测机制(诸如分支历史表或解码历史表)重定向指令获取。