Claims
- 1. A method of updating a branch target buffer, said method comprising the steps of:
- resolving a branch instruction to determine a final branch outcome and a final branch target address for said branch instruction;
- finding a branch entry associated with said branch instruction in a set of branch entries in said branch target buffer;
- updating a branch target address in said branch entry associated with said branch instruction using said final branch target address;
- updating a branch pattern table associated with said set of branch entries in said branch target buffer if said branch instruction is a conditional branch instruction; and
- updating a branch history associated with said branch entry if said branch instruction is a conditional branch instruction.
- 2. The method of updating a branch target buffer as claimed in claim 1 wherein said updating steps are aborted if an earlier mispredicted branch is detected.
- 3. The method of updating a branch target buffer as claimed in claim 2 wherein said step of updating a branch pattern table comprises:
- indexing into said branch pattern table with said branch history to select a branch prediction state value; and
- setting said branch prediction state value using said final branch outcome.
- 4. The method of updating a branch target buffer as claimed in claim 1 wherein said step of finding a branch entry associated with said branch instruction comprises indexing into said branch target buffer using an address of a last byte of said branch instruction.
Parent Case Info
This is a continuation of the U.S. application Ser. No. 08/931,807, filed on Sep. 16, 1997 U.S. Pat. No. 5,903,751 which is a continuation of U.S. application Ser. No. 08/687,975 filed Jul. 29, 1996, now U.S. Pat. No. 5,706,492, issued on Jan. 6, 1998, which is continuation of U.S. application Ser. No. 8/177,155 filed Jan. 4, 1994 now U.S. Pat. No. 5,574,871 issued on Nov. 12, 1996.
US Referenced Citations (11)
Continuations (3)
|
Number |
Date |
Country |
Parent |
931807 |
Sep 1997 |
|
Parent |
687975 |
Jul 1996 |
|
Parent |
177155 |
Jan 1994 |
|