Control flow speculation in multiscalar processors

Q. Jacobson, S. Bennett, N. Sharma, J.E. Smith
Proceedings Third International Symposium on High-Performance Computer Architecture  
The Multiscalar architecture executes a single sequential program following multiple flows of control. In the Multiscalar hardware, a global sequencer, with help from the compiler, takes large steps through the program's control flow graph (CFG) speculatively, starting a new thread of control (task) at each step. This is inter-task control flow speculation. Within a task, traditional control flow speculation is used to extract instruction level parallelism. This is intra-task control flow
more » ... ation. This paper focuses on mechanisms to implement intertask control flow speculation (task prediction) in a Multiscalar implementation. This form of speculation has fundamental differences from traditional branch prediction. We look in detail at the issues of prediction automata, history generation and target buffers. We present implementations in each of these areas that offer good accuracy, size and performance characteristics.
doi:10.1109/hpca.1997.569673 dblp:conf/hpca/JacobsonBSS97 fatcat:io2cowc5gzcknaxwtuji27qnsm