Patent ID: 7707398

Claim:
In a microprocessor system using pipelined instruction processing, a method for updating a speculative global history prediction record, the method comprising: accepting a first microprocessor instruction of consecutive operations, including a first conditional branch operation with an associated first branch address, at a first stage in a pipelined microprocessor execution process; accessing a speculative global history record (SGHR) of conditional branch resolutions and predictions; hashing the speculative global history record with the first branch address, creating a first hash result; using the first hash result to index a branch history table (BHT) of previous first branch resolutions; in response to indexing the BHT, making a first branch prediction; updating the speculative global history record with the first branch prediction; resolving the first branch operation; updating a non-speculative global history record (NSGHR) of branch resolutions with the resolution of the first branch operation; in response to the first branch prediction being incorrect, correcting the speculative global history record using the non-speculative global history record; and, wherein hashing the speculative global history record with the first branch address includes performing an exclusive-OR (XOR) operation between a value representing the speculative global history record and a value representing the first branch address.