Control independence has been put forward as a significant new source of instruction-level parallelism for future generation processors. However, its performance potential under practical hardware constraints is not known, and even less is understood about the factors that contribute to or limit the performance of control independence. Important aspects of control independence are identified and singled out for study, and a series of idealized machine models are used to isolate and evaluate these aspects. It is shown that much of the performance potential of control independence is lost due to data dependences and wasted resources consumed by incorrect control dependent instructions. Even so, control independence can close the performance g...
The concept of parallel processing is not a new one, but the application of it to control engineerin...
Parallel programming involves finding the potential parallelism in an application, choos-ing an algo...
control dependences, recurrences, parallelism, control height reduction, back-substitution, blocked ...
An instruction is control independent of a preceding conditional branch if the decision to execute t...
An instruction is control independent of a preceding conditional branch if the decision to execute t...
Instruction pipelining, out-of-order execution, and branch prediction are techniques that improve pe...
Though current general-purpose processors have several small CPU cores as opposed to a single more c...
This paper presents the concept of dynamic control independence (DCI) and shows how it can be detect...
The main aim of this short paper is to investigate multiple-instruction-issue in a high-performance ...
Many algorithms are inherently sequential and hard to explicitly parallelize. Cores designed to aggr...
Exploiting better performance from computer programs translates to finding more instructions to exec...
Current processors exploit out-of-order execution and branch prediction to improve instruction level...
The increasing density of VLSI circuits has motivated research into ways to utilize large area budge...
High performance computer architectures increasingly use compile-time instruction scheduling to reor...
Conventional front-end designs attempt to maximize the number of "in-flight" instructions in the pip...
The concept of parallel processing is not a new one, but the application of it to control engineerin...
Parallel programming involves finding the potential parallelism in an application, choos-ing an algo...
control dependences, recurrences, parallelism, control height reduction, back-substitution, blocked ...
An instruction is control independent of a preceding conditional branch if the decision to execute t...
An instruction is control independent of a preceding conditional branch if the decision to execute t...
Instruction pipelining, out-of-order execution, and branch prediction are techniques that improve pe...
Though current general-purpose processors have several small CPU cores as opposed to a single more c...
This paper presents the concept of dynamic control independence (DCI) and shows how it can be detect...
The main aim of this short paper is to investigate multiple-instruction-issue in a high-performance ...
Many algorithms are inherently sequential and hard to explicitly parallelize. Cores designed to aggr...
Exploiting better performance from computer programs translates to finding more instructions to exec...
Current processors exploit out-of-order execution and branch prediction to improve instruction level...
The increasing density of VLSI circuits has motivated research into ways to utilize large area budge...
High performance computer architectures increasingly use compile-time instruction scheduling to reor...
Conventional front-end designs attempt to maximize the number of "in-flight" instructions in the pip...
The concept of parallel processing is not a new one, but the application of it to control engineerin...
Parallel programming involves finding the potential parallelism in an application, choos-ing an algo...
control dependences, recurrences, parallelism, control height reduction, back-substitution, blocked ...