Abstract

Instruction Level Parallelism (ILP) increases the overlap between instructions to enhance performance. Control dependence, introduced by conditional branch instructions, presents a limiting factor on ILP. A reconvergence point is an instruction at which the control flow eventually reconverges regardless of the outcome or target of the current control flow instruction. Execution following the reconvergence point is certain. Instructions after the reconvergent point are fetched irrespective of the branch's outcome, they are control-independent. Control reconvergence prediction predicts control reconvergence points. This paper presents three algorithms. The first algorithm predicts future control independent points in the dynamic instruction stream. The second algorithm predicts control-independent data independent instructions. The third algorithm is used to construct large tasks suitable for speculative multithreading architectures (SpMT). We show the potential of the proposed techniques through using it in the Disjoint Out-of-Order Execution SpMT architecture where it outperforms the fork-on-call and multiple-proc-fork techniques.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call