Current processors exploit out-of-order execution and branch prediction to improve instruction level parallelism. When a branch prediction is wrong, processors flush the pipeline and squash all the speculative work. However, control-flow independent instructions compute the same results when they re-enter the pipeline down the correct path. If these instructions are not squashed, branch misprediction penalty can significantly be reduced. In this paper we present a novel mechanism that detects control-flow independent instructions, executes them before the branch is resolved, and avoids their re-execution in the case of a branch misprediction. The mechanism can detect and exploit control-flow independence even for instructions that are far a...
High performance microprocessors have relied on accurate branch predictors to maintain high instruct...
Pipelined microprocessors allow the simultaneous execution of several machine instructions at a time...
To continue to improve processor performance, microarchitects seek to increase the effective instruc...
Current processors exploit out-of-order execution and branch prediction to improve instruction level...
This paper presents the concept of dynamic control independence (DCI) and shows how it can be detect...
Though current general-purpose processors have several small CPU cores as opposed to a single more c...
Abstract—Mobile and PC/server class processor companies continue to roll out flagship core microarch...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-...
In simultaneous multithreaded architectures many separate threads are running concurrently, sharing ...
The negative performance impact of branch mis-predictions can be reduced by exploiting control indep...
Abstract—Many modern applications have a significant operating system (OS) component. The OS executi...
Current trends in modern out-of-order processors involve imple-menting deeper pipelines and a large ...
Value speculation has been proposed as a technique that can overcome true data dependencies, hide me...
Many algorithms are inherently sequential and hard to explicitly parallelize. Cores designed to aggr...
High performance microprocessors have relied on accurate branch predictors to maintain high instruct...
Pipelined microprocessors allow the simultaneous execution of several machine instructions at a time...
To continue to improve processor performance, microarchitects seek to increase the effective instruc...
Current processors exploit out-of-order execution and branch prediction to improve instruction level...
This paper presents the concept of dynamic control independence (DCI) and shows how it can be detect...
Though current general-purpose processors have several small CPU cores as opposed to a single more c...
Abstract—Mobile and PC/server class processor companies continue to roll out flagship core microarch...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-...
In simultaneous multithreaded architectures many separate threads are running concurrently, sharing ...
The negative performance impact of branch mis-predictions can be reduced by exploiting control indep...
Abstract—Many modern applications have a significant operating system (OS) component. The OS executi...
Current trends in modern out-of-order processors involve imple-menting deeper pipelines and a large ...
Value speculation has been proposed as a technique that can overcome true data dependencies, hide me...
Many algorithms are inherently sequential and hard to explicitly parallelize. Cores designed to aggr...
High performance microprocessors have relied on accurate branch predictors to maintain high instruct...
Pipelined microprocessors allow the simultaneous execution of several machine instructions at a time...
To continue to improve processor performance, microarchitects seek to increase the effective instruc...