×

System and method for branch prediction using two branch history tables and presetting a global branch history register

  • US 10,209,992 B2
  • Filed: 10/31/2014
  • Issued: 02/19/2019
  • Est. Priority Date: 04/25/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • providing a program to be executed in accordance with a speculative address;

    executing the program, the program comprising a procedure;

    setting bits in a taken branch history register to indicate whether a branch is taken or not taken during execution of instructions in the program;

    calling the procedure in the program; and

    overwriting, responsive to calling the procedure, contents of the taken branch history register to a start address for the procedure;

    accessing, using a hash block, a first branch history table based on contents of the taken branch history register for a first prediction of whether a current branch will be taken or not taken;

    accessing, using the hash block, a second branch history table based on the contents of the taken branch history register for a second prediction of whether the current branch will be taken or not taken; and

    determining whether the first prediction or the second prediction is used based on whether a selection value in a selection entry of a selector table is equal to or greater than a threshold value.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×