Patent ID: 6598152
Filing Date: 2003-07-22
Classification: G06F

Abstract:
Enabling reliable multi-cycle branch prediction index generation for a multi-cycle prediction process through a flush of program instructions from a processor's execution pipeline, comprisingcapturing in a queue element a vector value currently in a vector generator used in a multi-cycle prediction process for locating a branch prediction in a prediction table maintained by the process while an associated program branch instruction is being accessed in a cache, writing in a pipeline table a pipeline element, a dispatch group of instructions, including the branch instruction, and a non-branch instruction, and writing in the pipeline element a reference to the queue element storing the captured vector value for the branch instruction, detecting a flush event for the non-branch instruction contained in the pipeline element, obtaining the reference to the queue element in the pipeline element, and accessing the queue element, copying the captured vector value from the queue element to the vector generator for immediate use in the multi-cycle process to enable the multi-cycle process to continue making reliable predictions regardless of the occurrence of the flush, and performing a flush of instructions from the execution pipeline beginning with the dispatch group containing the non-branch instruction.