System for speculative branch target prediction having a dynamic prediction history buffer and a static prediction history buffer
US5978909A · kind A · utility
Assignee
Inventor
Key dates
| Filing date | Nov 26, 1997 |
| Grant date | Nov 2, 1999 |
| Priority date | — |
| Expiry date | Nov 26, 2017 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F9/3848
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A branch prediction unit includes a first branch target buffer, a second branch target buffer, and a static predictor. The first branch target buffer is adapted for storing a first plurality of branch history entries. The second branch target buffer is adapted for storing a second plurality of branch history entries. The static predictor is adapted for determining a static branch prediction for an encountered branch instruction. The second branch target buffer is further adapted to allocate a branch history entry based on the static prediction. A method for predicting program branches in a microprocessor includes fetching a program instruction to be executed by the microprocessor. It is determined if an entry corresponding to the program instruction is stored in a first branch target buffer, and if an entry corresponding to the program instruction is stored in a second branch target buffer. It is determined if the program instruction is a branch instruction. A static prediction is determined for the branch instruction. A branch history entry is allocated in the second branch target buffer based on the static prediction if the first and second branch target buffers do not contain en…
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.