发明名称 Hardware for use with compiler generated branch information
摘要 A method of executing microprocessor instructions and an associated microprocessor are disclosed. Initially, a conditional branch instruction is fetched from a storage unit such as an instruction cache. Branch prediction information embedded in the branch instruction is detected by a fetch unit of the microprocessor. Depending upon the state of the branch prediction information, instructions from the branch-taken path and the branch-not-taken path of the branch instruction are fetched. The branch-not-taken path instructions and the branch-taken path instruction may be speculatively executed. Upon executing the conditional branch instruction, the speculative results from the branch-taken path are discarded if the branch is not taken and speculative results from the branch-not-taken path are discarded if the branch is taken. The branch prediction information may include compiler generated information indicative of the context in which the conditional branch instruction is used. In one embodiment, the branch prediction information causes instruction fetching from both the taken and non taken branches if the compiler determines the branch instruction to unpredictable. In another embodiment, fetching instructions from the branch-taken path includes fetching a predetermined number of instructions from the branch-taken path and a predetermined number of instructions from the branch-not-taken path. In another embodiment, instructions are fetch down the branch-not-taken path until a subsequent branch instruction is encountered.
申请公布号 US2002073301(A1) 申请公布日期 2002.06.13
申请号 US20000731617 申请日期 2000.12.07
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 KAHLE JAMES ALLAN;MOORE CHARLES ROBERTS
分类号 G06F9/38;(IPC1-7):G06F9/00 主分类号 G06F9/38
代理机构 代理人
主权项
地址