摘要 |
PROBLEM TO BE SOLVED: To prevent that a branch history register (BHR) is updated to store loop-ending branch evaluation by detecting a conditional branch instruction for ending a code loop. SOLUTION: It is prevented that a branch executing repetition of a loop replaces other branch evaluation histories from the BHR 30. A loop-ending branch may be statically detected, by a compiler by use of a specific type branch instruction or by inserting indicator bits inside an operation code of a loop-ending branch instruction. The loop-ending branch instruction may be dynamically detected as an optional backward branch, or by storing a PC of the last branch instruction or several branch instructions upon updating the BHR, and checking the PC of a branch instruction against the Last Branch PC (LBPC) register(s) 38. If the branch PC matches, the update of the BHR is suppressed. COPYRIGHT: (C)2011,JPO&INPIT |