×

Branch prediction utilizing both a branch target buffer and a multiple target table

  • US 7,082,520 B2
  • Filed: 05/09/2002
  • Issued: 07/25/2006
  • Est. Priority Date: 05/09/2002
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of processing branch targets in a computer systems for a local microprocessor having branch prediction and an instruction cache using a Branch Target Buffer (BTB) comprising of:

  • (a) predicting an address corresponding to a next branch;

    (b) predicting a static target address of a predicted branch; and

    (c) predicting a dynamic target address of a predicted branch; and

    then(d) selecting between the static and dynamic target address wherein;

    upon finding a hit during selecting between the static and dynamic target addresses, the target is sent to the local microprocessor'"'"'s instruction cache such that a fetch can begin for the current target address and the target address is sent back to the Branch Target Buffer (BTB) and a global history register (GHR) is speculatively updated immediately following and based upon a prediction of a dynamic target address of said next branch a speculative GHR is used to access a Multiple Target Table (MTT) in searching for a predicted target address for said next branch, andwherein the step of selecting between the static and dynamic target address includes selecting between two predicted target addresses based on entry information supplied from said branch target buffer (BTB) and said Multiple Target Table (MTT) and upon resolving a branch the dynamic target is placed in said Multiple Target Table (MTT) for future use when the resolved dynamic taken branch of said branch target buffer (BTB) initially resolves with a different target address computation than employed when predicted via said branch target buffer (BTB).

View all claims
  • 1 Assignment
Timeline View
Assignment View
    Ɨ
    Ɨ